About Programming Languages

The closing keynote speaker at the CSTA Conference was Michael Kölling who shared with us some of his thoughts about where CS Education was headed. "What’s Next for CS Education: Thoughts on Topics, Tools, and All the Rest". You should know Michael from Greenfoot and BlueJ.  His talk was very engaging and one of his visions has really stuck with me.

I wish that his presentation was online because it wouldn’t do justice if I tried to recreate a chart that he drew about programming languages. 

Basically, on an X-Y grid he mapped out our current selection of programming languages.  He distinguished between “block” languages like Scratch and “text” languages like Java.  One of the differences, of course, is in the environment.  In his presentation, he argued that we need a new language that fits somewhere in between and demonstrated what it might look like in an ongoing project.

My first reaction was – great – something new that I would have to learn.  But I stuck through with his argument and could see where he was headed. 

If you’ve ever debugged and looked for that elusive semi-colon, you might jump right on board.

On the other hand, if you’ve looked up and down for the proper graphical structure, you might jump on board as well.

Stepping back, it is important to consider the student.  For a long time now, we’ve seen success in making a student’s first programming language graphical in nature.  It’s more of a “work on the algorithm” than “learn the language” approach.  Ultimately, the assumption is that not all block programmers will become great text coding professionals.  The goal is to teach an appreciation for problem solving by computer.  And yet, there will be those who want to study everything.

You can’t help but think about the gap.  The interested student will ultimately reach the end of the line for programming in a block language and will need to dive into the deep end full of semi-colons.  There really is no transition.

Could a new language, filled with the best of both worlds, be the answer?

Author: dougpete

The content of this blog is generated by whatever strikes my fancy at any given point. It might be computers, weather, political, or something else in nature. I experiment and comment a lot on things so don't take anything here too seriously; I might change my mind a day later but what you read is my thought and opinion at the time I wrote it! My personal website is at: http://www.dougpeterson.ca Follow me on Twitter: http://www.twitter.com/dougpete I'm bookmarking things at: http://www.diigo.com/user/dougpete

2 thoughts on “About Programming Languages”

  1. One of the things I appreciate about tools like code.org’s tutorials, is the opportunity to reveal what any block looks Iike in text-based code. My students who are genuinely interested in coding find themselves drawn to that aspect. For right now, that seems to be one if the bridges.

    Like

Comments are closed.