|
| 1 | +Language Reference |
| 2 | +================== |
1 | 3 |
|
2 | | -Diff |
3 | | ----- |
4 | | -* https://github.com/kpdecker/jsdiff |
5 | | -* https://github.com/cemerick/jsdifflib |
6 | | -* https://en.wikipedia.org/wiki/User:Cacycle/diff - wikEd diff is a free JavaScript visual diff library for inline text comparisons |
7 | | -* https://diff2html.xyz/demo.html |
8 | | - |
9 | | -Syntax Highlight |
10 | | ----------------- |
11 | | -* https://ourcodeworld.com/articles/read/140/top-5-best-code-syntax-highlighter-javascript-plugins |
12 | | - * https://highlightjs.org/usage/ |
13 | | - * https://prismjs.com/ |
| 4 | +* Programming language reference for multiple languages |
| 5 | +* For each language: Examples of: variables, iteration, if-statements, functions, open-file, split-strings, etc |
| 6 | +* Select one language, or multiple languages (to compare) |
| 7 | +* Printable |
| 8 | + |
| 9 | + |
| 10 | +Rational |
| 11 | +-------- |
| 12 | + |
| 13 | +### Teaching Aid |
| 14 | + |
| 15 | +* At the foundation level, most languages can perform arithmetic, print to the screen and loop over a sequence. When used at the high levels, languages can be very different, but most of those concepts/patterns/advanced-features are not understandable/relevant to beginners. |
| 16 | +* From the beginning, Learners don't identify as knowing one language. They understand that the foundation concepts apply across multiple languages. This encourages them to identify as a 'programmer' rather than just a 'python programmer'. |
| 17 | +* With language_reference the learners can be supported in moving between languages freely. |
| 18 | +* Lesson can be delivered in different languages. |
| 19 | +* Advanced learners can use language_reference to tackle a task in a different language to the rest of a class |
| 20 | +* 1 sheet A4 (duplexed) split into 4 columns for 4 languages. One sheet is not overwhelming. It can be given at the start of a course and be a familiar recurring aid. Saying "Just one column of this sheet is all the core programming constructs you need for the exam" gives a finite visual representation. Students can measure there progress on how much of the column they understand. |
| 21 | + |
| 22 | +### Professional reference |
| 23 | + |
| 24 | +* Keeping the exact syntax of 5 languages in your head at once over years can be tricky. The sheet can be used a quick lookup/refresher. |
| 25 | + |
| 26 | + |
| 27 | +History |
| 28 | +------- |
| 29 | + |
| 30 | +* 2008: Created a resource for teaching A-Level Computing and demoed it at the first ComputingAtSchool conference in 2009 |
| 31 | +* 2012: Started the `TeachProgramming` repo with a custom version builder to split small code projects into diff chunks for learners to incrementally build mini projects. |
| 32 | + * [LanguageCheetSheet.odt](https://github.com/calaldees/TeachProgramming/commits/4d152d58d2c321c5867f267d7a4e62d56b950711/teachprogramming/static/docs/LanguageCheetSheet.odt?browsing_rename_history=true&new_path=teachprogramming/static/docs/LanguageCheetSheet%20[deprecated].odt&original_branch=master) an early versions of an OpenOffice document |
| 33 | +* 2021: Created [dynamic html language renderer](https://github.com/ComputingTeachers/language_reference/commits/main/static/langauge_reference.html) |
| 34 | +* 2026: Moved language_reference to it's own repository |
0 commit comments