Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

August, 2009

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Drive out fear


    One of the great opportunities I had in my earlier career as a software developer was to take W. Edwards Deming’s famous 4 day course. From Deming himself. For those who may not be aware of Deming he is the man created with helping to turn Japan from a producer of poor quality goods to a nation with the reputation for producing the highest quality of goods. This was the course that really helped me to understand what quality in production was all about. One of the memorable things about this course was discussion of his “14 Points for Management.” While these points were written for manufacturing I think some of them have some direct applicability for education. Some of them for the way we run schools and manage teachers (leadership and training and the responsibilities of management). And some for how we work with students.

    The one I want to talk about now is number 8 - “Drive out fear, so that everyone may work effectively for the company” Though I would edit it as “Drive out fear, so that everyone may work effectively for learning.” Note that is is closely related to point number 3 – “Cease dependence on inspection to achieve quality.” which I want to talk about some other time.

    Students really know about fear in school. Fear of all sorts. Fear of bullies. Fear of not fitting in. Fear of failure. But we, adults in education, really push that fear of failure – grades and tests being the indicators of failure or success. Students sure do fear failure in computer science courses. After all  “everyone” tells them it is hard. Hard to do, hard to learn, hard to pass the APCS exam. Guidance counselors often tell some students to take easier courses so they can get better grades and get into the university of choice which doesn’t help matters. But we sure have given out the notion that students should be afraid of taking computer science.

    Of course that is all part of the larger notion of fear (of poor grades or of not succeeding in a course) that we all too often use as a motivator in schools. We don’t often promote the fear that they might not learn things. Why is that?

    Anyway, one of the keys to succeeds in most courses is to reduce fear. Students do better then the want to do something rather than when they are afraid of not doing something. Fear is more often a cause of failure, I believe, than a promoter of success. Fear wastes energy. Fear often causes students to work against each other rather than with each other. Top students fear that if they help someone else that may cause a loss of class rank for example. Or if the  teacher grades on a curve (something that never made sense to me) that helping other students will have a negative impact on their own test results and grades. And let’s not forget the fear that help will be mistaken for cheating! If we truly believe that the goal of education is learning rather than grades fear is not our partner.

    The fear of failure also leads to a lack of experimentation. Students are often afraid to try things on their own, to learn beyond the classroom lecture, or to go beyond what is required. They are afraid that trying a failing will somehow hurt them more than not trying (not stretching beyond the requirements) and passing. They are afraid that if they aim too high they will lose even though they may still learn much from the trying. Thomas Edison used to say that at a minimum failure teaches us one more thing that doesn’t work. He didn’t fear that sort of failure at all but embraced it as a necessary step towards learning. Do we teach that to students? Shouldn’t we?

    BTW I think that we push too much fear on teachers as well. Tenure aside, the threats to evaluate teachers on things outside their direct control scares a lot of teachers and rightly so. How is this a good thing?

    I wish we could do without grades completely but of course society will never allow that. (Deming gave everyone in his MIT courses an A because the university required grades but he did not value them himself.) But we can do much to reduce stress and fear. We can reward and encourage experimentation. We can reassure students that trying has merit. We can make it clear to students that we as educators are not out to “get them” or to “trip them up on tests.” We can communicate that the value is the learning not the grade. And probably more. What do you recommend to drive out fear in the classroom? Or do you perhaps think students should run on fear? I’d love to read your thoughts.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Beware Boring The Smart Kids


    There is an interesting conversation going on in the comments of Mark Guzdial’s blog that I wanted to engage in a small part of that conversation in more depth than what fits in a comment. It started with a comment by Erik Engbrecht that reads in part:

    Boring a potentially great student is a greater crime than failing a mediocre one who could have made it through.

    Mark Guzdial replied in part:

    I feel *exactly* the opposite of that! It’s not hard to educate the great students — they’ll learn no matter what I do, and they tend to challenge themselves with their own projects and interests.

    The comment “they’ll learn no matter what I do” concerns me. It may be true for college students (and is highly likely for the sort of students who go to Georgia Tech) but too often it’s not the case in high school and younger students. The information I heard at a workshop some years ago is that some 50% of drop outs are gifted students. Boredom is a huge problem for bright students before college. We lose a lot of students with great potential because they are bored and/or not challenged. This is a horrible loss for them and for society.

    Younger students don’t often have the resources or the base knowledge to create their own projects for learning. Now some do and do it well. I’ve run into some students as young as middle school who have done some very creative projects all on their own. They are self motivated, one might say driven, and very creative. But they are also exceptional. Generally even the potentially great students need some help and focus. They need some help to get started and to help them get some resources. I like to call these the “point them in a direction and get out of the way” students.

    I don’t think that losing the potentially great student is necessarily a greater crime than failing a mediocre student. I think they’re both bad. Good teachers find a way to help both kinds of students because we really can’t afford to leave anyone behind these days. Of course differentiated instruction is not a term that one hears that often in higher education. In middle and high school though it is something that has become engrained into the better performing schools and educational programs.

    Of course in some high school computer science programs this gets taken to a bit of an extreme with several levels of computer science courses being taught in the same room by the same teacher at the same time. I’m constantly amazed at how well so many teachers handle this sort of thing.

    We’re lucky in the area of computer science that there are more and more free tools and resources for students to advance on their own though. For example the Dreamspark program from Microsoft offers professional grade software to students who can use it for their own projects. For university students world wide the Imagine Cup competition provides an outlet for creative learning projects for university students. And of course there are many more resources and competitions available from other companies and organizations. I try to link to many of them from this blog when I can BTW.

    A couple of other sites I recommend for the “point them in a direction and get out of the way” students are the Beginning Developer Learning Center and Coding 4 Fun. The first for learning resources and the second for projects to tickle the imagination and suggest interesting learning projects. If a student is too quick, too driven, too something for the pace of the course point them somewhere helpful and get out of the way. But hang around in case they need more pointers along the way. We don’t want them to get needlessly frustrated and turned off.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    15 Free Computer Science Courses Online


    Trying something different today. Here is a guest post by Karen Schweitzer who has found a lot of interesting online courses in computer science. You can also find free curriculum resources at Microsoft’s Faculty Connection.

    It is no longer necessary to pay tuition and enroll in a formal program to learn more about computer science. Some of the world's most respected colleges and universities now offer free courses online. Although these courses cannot be taken for credit and do not result in any sort of degree or certificate, they do provide high quality education for self-learners. Here are 15 computer science courses that can be taken for free online:

    Introduction to Computer Science - Connexions, a Rice University resource, hosts this free course that introduces students to computer science. Covered topics include computer systems, computer networks, operating systems, data representation, and computer programming.

    Introduction to Computer Science and Programming - This free Massachusetts Institute of Technology course provides an undergraduate-level introduction to computer science and computer programming. The course includes online readings, assignments, exams, and other study materials.

    Mathematics for Computer Science - This free course, also from the Massachusetts Institute of Technology, teaches students how math is relative to computer science and engineering. Course materials include lecture notes, problem sets, assignments, and exams.

    Introducing ICT Systems - The UK's Open University provides this free online computer science course to self-learners who want to gain an understanding of ICT (information and computer technologies) systems. The course is designed for introductory students and can be completed by most people in less than 10 hours.

    Programming with Robots - Capilano University offers this free online computer science course to self-learners who want to explore computer programming and robotics. Course materials include tutorials, readings, lectures, exercises, assignments, and quizzes.

    System Design and Administration - This free computer science course from Dixie State College focuses on computer information systems and technologies. The course introduces students to system design and administration through lectures notes, assignments, and other self-guided study materials.

    HTML Basics - The University of Washington Educational Outreach Program offers several free courses, including this free HTML course. The course is designed for beginning level students who are unfamiliar with HTML documents, tags, and structure.

    Software Applications - This free course from Kaplan University is a very basic course for people who want to learn more about using software applications. The course covers Internet applications as well as word processing, spreadsheet, communication, and presentation apps.

    Object-Oriented Programming in C++ - The University of Southern Queensland offers this free computer science course to teach students the basics of C++ programming and object-oriented design. The course includes 10 modules, multiple lectures, and assignments.

    Operating Systems and System Programming - This free online course from the University of California-Berkeley includes a series or audio and video lectures on operating systems and system programming.

    Data Structures - This free audio/video course, also from the University of California-Berkeley, covers data structures through a series of online lectures.

    Artificial Intelligence - The University of Massachusetts-Boston offers this free computer science course to self-learners who are interested in artificial intelligence (AI). The course uses assignments and other study materials to teach students how to write programs.

    Information Theory - This advanced-level computer science course from Utah State University teaches concepts relating to the representation and transmission of information. Course materials include programming and homework assignments.

    Network Security - This free computer science course from Open University is for master-level students who have substantial knowledge of computing. The course explores a wide range of topics, including network vulnerabilities, network attacks, encryption, cryptography, access control, and authentication.

    Computational Discrete Mathematics - Carnegie Mellon University provides this free computer science course through the school's Open Learning Initiative (OLI). The self-guided course is ideal for independent learners who want to gain a better understanding of discrete mathematics and computation theory.

    Guest post from education writer Karen Schweitzer. Karen is the Guide to Business School. She also writes about online colleges for

Page 4 of 7 (19 items) «23456»