I’ve also decided to leave unfinished my implementation of Pigeon, my pedagogic programming language, even though it would take a trivial amount of work to complete. I now think that it’s not really important for students to actually run Pigeon code; in fact, I think it best to discourage students from writing anything beyond a trivial amount of code in Pigeon lest they waste time rather than just moving on to later material.
Instead, my focus now is on creating a course of videos for total newbs to programming, totaling about 10 hours and running in this sequence:
- A first language (a run through of Pigeon)
- Numbers (how numbers are represented as bits)
- Text and images (how they are represented as bits)
- The system (hardware and OS basics)
- Language and tools survey
- The internet and the web
- The command line and Unix environment
- Data structures and algorithms
- Encryption, security, and compression
- GUI Toolkits (Swing?)
- Version control
I’m processing the audio and video for the first two, but that leaves a lot of work as I only have sketches of the remaining parts.