Observations About Teaching Computer Science

Interactivity is the key to success with these lesson plans. When the children are interacting with you the teacher, with the computers, and with the computer science and programming concepts, then they are both learning and having fun.

Make both the introduction and the computer lab portions of every lesson as interactive as possible. In "Introduction," -- don't lecture! Ask the students questions, and acknowledge and appreciate their answers. Let as many students answer each question as feasible. If a student is restless or bored, asking him or her a question, in a friendly and genuinely curious way, is the best remedy. The computer labs tend to be very interactive, but there are two traps to look out for. The first occurs when students are working in pairs, and one student is such a better typist or programmer that he or she does the entire lesson. The other student in the pair will then just be observing, and not interacting. Try to pair students with this in mind, and require students to switch "drivers" frequently. The other enemy of interactivity is being "stuck." If a student can't figure out an error message, or doesn't have any idea how to approach a problem, then that student needs a hint or perhaps explicit instructions. Try to circulate and check on each student frequently during the lab.

The name "computer science" can be misleading: the field isn't really about computers and it isn't primarily a theory-based science. "Problem solving being so specific that even a dumb computer can follow your instructions" might better describe what we're doing, but that name isn't going to catch on. In studying what we call computer science, students learn how to interact with computers. They also learn how to frame a problem so that it can be solved by a computer, and what are the limitations of computers. English and Language Arts teachers have observed that students learn "technical reading" in CSEd lessons.

When you think about teaching computer science and programming, your model should be sports, arts, or music -- and not math or science. At least, not math and science as most of us remember from school. In sports, arts, and music, the goal is to learn a skill. It's expected that each individual will progress according to his or her own talent, enthusiasm, and devotion of time. Much of the work in programmming labs is typing in programs, running them, observing what they do, and making minor changes. There is a continuum in classroom work from complete freedom and creativity to complete rote drills, and most children are best served by activities somewhere in the middle. The VVLogo labs tend to be more exploratory, while the VVBasic labs focus more on structured modifications to existing programs.