Hosted example: https://computingteachers.uk/static/langauge_reference.html#py
# serve
cd teachprogramming/lib && make
# (optional) watch them all run
cd teachprogramming/static/language_reference && make
- Language files are in
teachprogramming/static/language_reference/languages
- Example of version tagging
Years ago I created this repo to store a range of code I used for teaching young people how to code.
It evolved into a dynamic website that showed the incremental code for small games in a range of languages. Next to the code was runnable browser based html5 version of what the code would look like.
Over the years I added more coding examples. Many of these new examples were not visual or interactive like the game ideas.
One resource stood out. A language cheat sheet for multiple languages. This was a binary file (openoffice document) that was periodicity updated. Many of the code examples did not actually work. They had never been through a compiler/interpreter and caused much frustration for learners.
Eventually these code snippets made their way into runnable code files. The concept to build the cheat sheet from these was never completed.
This repo is a mess. The new plan is to make a data API that can serve all of the versions of the programs (as complete programs or diffs) so that they can be rendered (hopefully trivially) by a frontend. The same technology that can show incremental bits of games in multiple languages could also be used for the generating the cheat sheet.
Step 1: create data api Step 2: consider how to display the data (online or printable)
I'm not going to start a whole new repository because I think the journey is reasonably interesting. I will move this repo out into an organization so that other can collaborate on it. I will move it once it's been tidied up a bit.
This repo has morphed into a whole host of project notes, exercises, book ideas. It's become a dumping ground for loose teaching bits that have no documentation. This needs to be consolidated into some kind of narrative and useable project, but for now, it's just a dumping ground.
https://github.com/algorithm-archivists/algorithm-archive
- executable-tutorials
- mechanism for doing what my version system sort of accomplishes
- Code Tour: VSCode Extension
- Storyteller
- markm208/storyteller Telling stories about how code evolves
- web navigable animations
- codeamigo.dev
- online tutorials with steps
- textframe.app
- Text documentation commentary with animated/tweened preview inline
- A similar concept to my projects
- exercism.org
- Super online tutorials
- codingdojo.org - kata
- coderdojo.com - under 16
This will be removed in time.
A dynamic website structure to showcase exiting simple programming projects in a variety of different languages.
THIS REPO IS MESS AND NEEDS SOME SERIOUS REWORKING! There is peril here. It is not a finished masterpiece.
Linux & Windows
- make setup
- make run
(AllanC - TODO: Need instructions/script for setting up virtualenv in windows)
TeachProgamming by Allan Callaghan is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at https://github.com/calaldees/TeachProgramming.
Other references
https://twitter.com/ID_AA_Carmack/status/1202980347295612929 https://github.com/jackpal/Dandy-Dungeon https://github.com/nanochess/Invaders
- Updating “101 Basic Computer Games” for 2021
- Project to implement lots of old BASIC games in multiple modern languages
- BASIC Computer Games 1978 Book
- basic-computer-games