BLOG@CACM
Education

Why Don’t We Use Worksheets in Computer Science Education?

Posted
Mark Guzdial
Georgia Institute of Technology professor Mark Guzdial

I gave a midterm last week in my data structures class, where students did great on the code reading problems and pretty badly on the code writing problems.  In most CS classes when I have a learning problem like this, I would tweak the next programming assignment to emphasize the problematic issues, and mention the key points in lecture.  In this class, I already have weekly assignments, and I didn't want to wait a week until I could get students to focus on this.  So, I made up a worksheet (short, constrained, set of exercises with mostly fill-in-the-blank, true/false, and multiple choice activities) as an out-of-class, weeklong quiz.

My worksheet had several completely worked out programs, because I am quite interested in the literature on worked examples as a powerful learning tool.  There were several other programs with 1 to 3 lines left blank.  The students were to complete those lines.

In talking with my colleagues here and elsewhere, and from the discussion on my blog, I get the sense that this is pretty unusual.  Other disciplines use worksheets all the time, even in higher-education.  Chemistry often has a "pre-lab" worksheet, and I've seen worksheets in both Physics and Mathematics classes.  Worksheets are a "scaffolded" activity — student work is guided and constrained, to help students succeed and focus on the learning issues.  My students were "programming," but only a single line in the context of a mostly-complete program.

I learned from my colleague, Christine Alvarado from Harvey Mudd College (on sabbatical here at Georgia Tech this year), that they use worksheet activities quite often in their introductory course.  They don't lecture throughout an entire class session.  They lecture through about half, and then have students do a worksheet, and they discuss the results in class.  The worksheets are only used to mark attendance, not for correctness.  The goal is to encourage student learning and break up a long lecture.

Why don't we in computer science use learning tools like worksheets?  Our most common pedagogical form in computer science education is apprenticeship.  We might lecture or provide a textbook, but we expect that most of the real learning is going to occur in the hours when students are working their way through problems in an Integrated Development Environment (IDE).  When the goal is to have students to function like experts and using tools like those of experts, then apprenticeship is an excellent approach.  When we want our students to graduate and become top-notch software engineers and developers, those hours in front of Eclipse are well spent.  But now we have students in computer science education who never want to be software developers.

  • My class is a non-majors course.  I have architects, business majors, and even biologists.  These students want to know more about data structures (after their first CS course, a requirement at Georgia Tech), but with a goal of using them in modeling and simulation within their disciplines.  They have no interest in learning to use the tools and practices of professional software developers.
  • In my research, I am developing materials for current high school teachers to re-train as computer science teachers.  These teachers don't have the time to spend hours and hours programming.  They don't need an experts' level of expertise to help students learn CS concepts in Scratch and Alice.

As we broaden the audience for computing education, we need to broaden our pedagogical tools and approaches.  Good old-fashioned worksheets can be part of our new toolbox.  We need to think about new ways to scaffold student activities so that they learn efficiently, to meet the learning goals that make sense for them.

 

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More