Pseudocode Language
What programming language are coding examples written in?
Possibilities include Java, C++ (personally, my least favorite choice), pseudocode (Tom and I like that idea but are not adamant about it), Python, JavaScript. One technical advantage of Pseudocode might be that it makes it easier to create hierarchical marked-up algorithm descriptions like in AIA.
There are huge management advantages to using a language that has a compiler behind it so that you can test your code. A major problem with pseudocode is that there is no way to know if you got it right, either syntactically or semantically.
Another technical issue is that some languages have interpreters that allow code to be edited and executed right in the browser. We have seen examples of this for Processing, Python, and (obviously) JavaScript. This leads to many possibilities for interactivity within an eTextbook. See for example this interactive Python textbook.
Nick Parlante's CodingBat (http://codingbat.com) allows students to do editing in the web browser, and then execute and test their answer, for many coding exercises in Java and Python.
The ideal language would have the following features:
- Simple to understand
- Complete enough to cover what we need
- Translatable to a real programming language so that we can compile our code examples or student solutions to verify their correctness.
- Usable by students to write the answers to simple programming questions (with in-the-browser runtime support)