Monospaced fonts usually make writing code easier on the eye- eg to clearly line up blocks of code and see how nested things are.
FiraCode: has programming ligatures… this means multi-character symbols, eg
- >etc become single character math symbols, arrows, etc, eg
- Victor Mono: elegent, with italic style being a semi-connected cursive. Really highlights comments. Supports code ligatures.
- Anonymous Pro: very tidy, and boxy
- B612: developed for AirBus for use in cockpit instrumentation. Goal was to make it very clear and legible.
- CyberDojo - could set up a server and host sessions
Learning to Program
- https://www.udacity.com/: from intro comp sci all the way up to applied cryptography. Assignments are done in Python, in the browser.
- https://www.coursera.org/: University certificates from various universities and colleges. Provided by some big name organizations.
- https://www.edx.org/: competition to Coursera
- https://www.khanacademy.org/cs: Khan academy touches on most subjects…
- http://www.youtube.com/user/derekbanas: tutorial videos about design patterns
Block Based Systems
- 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
- turtleblockjs at SugarLabs. Source code is on GitHub.
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.
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.
- Python and Minecraft, for “computer” version - it’s excellent
- Python and Minecraft, for free version of Minecraft that comes on the Raspberry Pi
- Lua- Computercraft mod
- making mini-game plugins (mods)
- Turtle Island - intro to programming, with many activities built into this world
- A Grownup’s Guide to Minecraft and Writing Minecraft 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’
- 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.
- for embedded, CircuitPython + Jupyter Notebooks: https://learn.adafruit.com/circuitpython-with-jupyter-notebooks?view=all
Virtual Reality (VR) and Augmented Reality (AR) - “XR”
Systems specifically for creating VR/AR experiences.
- WebXR - landing page for AR & VR development using web technologies- no installation required for end users!
Unity is a very powerful and easy to use (relative to it’s power) game development environment. It works across many devices, and includes support for VR and AR development.