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?

About these ads

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

  2. Pingback: OTR Links 07/21/2014 | doug — off the record

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s