Archive for January 4, 2012
The syntax problems in high school CS
This is a nice account of personal struggles with syntax getting in the way of playing with computer science ideas. The stories are believable, about facing a course in Basic that was more about memorizing history, about a course in Pascal that made Basic seem simple in comparison, and about layers of languages leading to layers of complexity. I also believe the idea that Scheme, with its minimal syntax, lets the learner forego memorizing “rules” of syntax.
However, I don’t buy the subtitle: “Simple language makes learning complex concepts easy.” Simple language means that you don’t struggle with complex language. Hard ideas in computer science are hard ideas. Hard ideas in a complex language may be impossible for some students. Hard ideas in a simple language means that you can focus on the right things–it’s easier, but I don’t buy that just the language alone makes complex CS ideas easy.
Simple Language Makes Learning Complex Concepts Easy
The thing I liked most about taking this course in Scheme was that I knew that I was learning something. Every concept I had ever tried and failed to understand comprehensively in my Pascal class – searching and sorting procedures, recursion, processing binary trees – was made clear when I studied them in Scheme. These things occur so naturally in Scheme that I couldn’t help but understand. After mastering the concept, I could then go back into my Pascal class and easily master the code. The point here is that concepts like these are universal in computer science. After you understand them, then you can learn the rules of any language in order to encode them. But it doesn’t matter how well you have mastered the syntax of a language if you don’t understand the meaning of what you are typing or the reason why it works.
via High School Computing: The Inside Story | Institute for Mathematics and Computer Science.
Recent Comments