Programming Resources


Coding Fonts

  • FiraCode: monospaced font with programming ligatures… this means multi-character symbols, eg !=, ->, etc become single character math symbols, arrows, etc


  • CyberDojo - could set up a server and host sessions

Learning to Program

Online Courses

Block Based Systems

  • Microsoft MakeCode - block based system, that also trails into text based coding (javascript) that supports Mindstorms EV3, Micro:Bit, Circuit Playground Express, BrainPad Arcade, … includes limited on-screen simulation, which allows for rapid experimentation, shortens code-debug cycles, and rapid achievement. Until you hit the limits of the simulator :slight_smile:
  • Scratch - very popular, lots of online resources. Very interesting; it allows/uses concurrent/event based programming trivial. Note, Scratch 2 is flash based; Scratch 1.4 is perhaps more commonly used. Read the scratch fan
  • Trinket
  • turtleblockjs at SugarLabs. Source code is on GitHub.

Integrated Environments

Programming systems that are self contained. Less parts to install to get going.

  • squeak - Smalltalk. Early object oriented language, very dynamic, fast, portable. Local expert: Tim Rowledge


Learn to program by making things happen in the real-world.

Most of these are their own mini-worlds, so linking out to other reference wiki pages here.

Extensible Games

Learning works best if you’re having fun!


Such a phenomenon. Deserves it’s own section.

Note: Julian likes to use MultiMC to manage versions of Minecraft + installing Mods.


  • Roblox. Apparently programmable.
    *Pico-8 and Voxatron
    • fantasy consoles (think NES, Playstation 1/2) with arbitrary limitations (e.g. small memory)
    • full systems, include program, music, and visual editors
    • Lua based, very quick and easy to try ideas
    • games (applications) saved embedded in a PNG image… called ‘cartridges’
    • javascript player/version- so can put games on your website
    • included with GetChip (~$9USD) small computers
    • Pico8 Zine



Small, embeddable (can be put inside other programs, eg written in C/C++), easy to learn scripting language.


Systems specifically for creating VR/AR experiences.

*Walking App- visually ‘scripted’ system for creating AR/VR experiences. Discovered from AutoDesk article re Fusion360 designs to VR/AR app