Define and Visualize Your First Programming Language

Selecting a right programming language for introductory CS courses is not an easy task. The pressure to use a commercially successful language can easily be the most significant factor in choosing the language. However, several studies suggest that it is preferable to use a language specifically designed for teaching. These languages are usually some kind of pseudo languages, defined by the programming educators. The idea of using a pseudo language is to keep the syntax of the code as simple as possible allowing the students to focus on learning the programming concepts, instead of specific syntactical features. Pseudo languages are usually subsets of existing programming languages, and thus can be used to teach all the basic programming concepts. This however leads to a fact that programs written in pseudo code are usually not executable as-is. With this in mind we have developed a program visualization tool called ViLLE. The tool has a built-in pseudo language, a subset of Python. User can add programming examples written in Java and translate them to other languages. Additionally, a user can define own pseudo languages and modify the existing syntaxes.