« Professional Development Opportunities for Computer Science Teachers | Main | Alternative Certification for CS Teachers »

Student Speaks Out About Computer Science Curriculum

CSTA has spent the last several years arguing for rigorous computer science courses in high school, for emphasizing critical, computational thinking skills, and for standards-based curriculum. Many teachers have told us of their struggles in these areas. At the XImplosionX blog, Patrick Godwin has written High School Computer Science: A Student's Perspective echoing our thoughts.

While some of the problems he outlines are outside our ability to fix, some of them are achievable. What do you think about his call to emphasize style over syntax and teaching theory before practice?

Michelle Hutton
CSTA President


First of all, having programming in high school at all is rare so congratualations!

Style should absolutely be taught from the beginning as it takes years to develop and is essential for good performance in large real world projects. The problem here might be finding teachers with the experience to teach it well...

An introduction to theory is good but don't go over board. A lot of computer science theory makes little sense until you have experienced the problems it tries to solve first hand. Personally I would prefer an apprentice style approach where theory is taught on an ongoing basis as the student does real work.

Favour small finished projects, including testing, documentation and polish.

Thanks for reading. I guess I should have been more specific on "Teaching Theory". One part of theory, if you ask me, is good programming practices. I was talking about the insane amount of coders that I see writing a program that has no room for expandability or extensibility. They'll write a large program that works in the end, but is not reusable. I know this boils down mainly to Object Oriented theory, but it is a very important aspect. I see people who will write one application that is 1000+ Lines of Code, which is great, but when they decide to make a small change it requires annoying, time consuming re factoring of said code.While this is one of the basic principles of Object Oriented programming, I believe it is one of the most important.

And yes, I am very lucky to have a programming class in high school :-)

-Patrick Godwin-

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.)