« Computer Science Curriculum in our High Schools | Main | Computer Science in Practice »

Are Your Students Good Problem Solvers, or Good Mimics?

Recently the topic of Computational Thinking has risen to the forefront of discussions of what our students should learn. Ignoring the facts that computational thinking has different meanings to each of us, I think the root of the discussion focuses on our students' abilities to apply their problem solving skills to realistic problems that may or may not have identified solutions. Can your students do this? I'm not sure that many of mine can.

Many of us learn by mimicking the behavior we want to master. I learned how to play baseball by copying the throwing and batting motions my coach demonstrated until I could reliably throw the ball to a stationary teammate or hit the ball off a batting tee. But I didn't become a good baseball player until I could apply these skills in a game situation where either my target or I were in motion or I faced a real pitcher who was reluctant to throw every pitch down the center of the plate. It took real experience to master these skills and become a baseball problem solver.

Our students learn to program (a basic computer science problem solving skill) by mimicking the programs that we write to demonstrate key concepts. How do they make the transition to problem solvers? Where is their game experience? Why should we expect most of them to be more than mimics who can only solve the types of problems we have demonstrated if we never give them real problems?

These are questions we need to address. If you are tackling these issues in your classroom, then you are on the front lines of computational thinking. Share your ideas. How do you get your students to make the transition? How do you know they are on the right path? Unlike the baseball player, we don't have the luxury of tracking their batting average, fielding percentage or ERA. What are the metrics that we can identify to help measure success? How do we bring our students into the 21st century using knowledge and skills we gained in the 20th century? These questions may not have obvious answers, but they need to be asked. Help me ask them.

John Harrison
CSTA Board of Directors


This is a very interesting topic. As a freshman in a computer science program, I'm really concerned with making the same jump that you are talking about. I think that when you look a problem solving methodology, much of it comes down gaining skills through synthesizing previous problems and strategies. I think that a huge portion of becoming a great problem solver is by mimicking, and then taking small steps to larger and more interesting problems. I'm not sure if that is a jump that can be given in the classroom, but I think that it is always better to play on the safe side and give students more challenging problems and curving grades. Exams should be tests of both creativity and fundamental knowledge.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)