What's a Block Language?

Hello, World!
Block Languages
are a new proposal to let teachers make available to their students new versions of popular programming languages in a block-language style. Furthermore, teachers can easily create block language versions of their favorite programming languages or even of pseudolanguages created by them. 

How do they look like? Click on "Online Demo" in the menu above!

Block Languages are intended to solve what are felt by students as two big problems when coping with Computer Science:
  • remembering all the commands of a given programming language
  • remembering the exact syntax of the commands of a given programming language
Block languages free the students by the burdens of syntax and allow at the same time teachers not to loose the specificities of their CS curriculum.

When Scratch, Alice, StarLogo TNG and similar educational programming environment are not felt as the perfect candidates for delivering to students specific CS contents, teachers can develop the necessary block languages by their own or they can use one of the already developed block languages:
  • blockC (v1.0): implementation of a subset of C/C++ with integers, float and chars, mono and bidimensional arrays, function call/definition. Missing features: structures, pointers, object-oriented programming, file handling.
  • Animated Sort Language (v.1.0.2): a natural-language-like programming language to handle sort (and soon also search) algorithms by describing how to grasp, swap and release metal balls of different sizes.
  • blockLogo (v1.0): a really minimal implementation of the Logo language that will allow you to see how specific blocks for the new block language are created and how setup scripts work
How is this made possible? Thanks to BloP, a visual environment based on Snap! (http://snap.berkeley.edu) an outstanding programming environment created by Jens Moenig and Brian Harvey. 

 is very similar to Scratch, so developing a block languages is very simple.

All block languages are available as source code projects ready to be loaded in BloP, so they can be tailored to your specific needs.