https://www.edx.org/course/how-to-code-simple-data
https://www.edx.org/course/how-to-code-complex-data
* The From Nand to Teris project, The Elements of Computing Systems: Building a Modern Computer from First Principles book, and/or Coursera course. Builds a hardware stack for a CPU and then a software stack (assembler, VM, high-level language).
https://www.coursera.org/learn/build-a-computer
https://www.coursera.org/learn/nand2tetris2
https://www.amazon.com/Elements-Computing-Systems-second-Pri...
* The How to Design Programs book. What the edX course above is based upon.
https://www.amazon.com/How-Design-Programs-Introduction-Prog...
* Structure and Interpretation of Computer Programs (SICP). Uses Scheme. One can use Racket with the `#lang sicp` language.
https://mitpress.mit.edu/sites/default/files/sicp/index.html
https://www.amazon.com/Structure-Interpretation-Computer-Pro...
YouTube playlist of the course by the authors: https://youtube.com/playlist?list=PLE18841CABEA24090
* Thinking as Computation: A First Course. Uses Prolog to solve problems of thinking.
https://www.amazon.com/Thinking-Computation-First-Course-Pre...
https://www.cs.toronto.edu/~hector/PublicTCSlides.pdf
* Turtle Geometry: The Computer as a Medium for Exploring Mathematics (shares an author with SICP). Uses Logo to explore turtle geometry/graphics. Can use any modern Logo implementation.
https://www.amazon.com/Turtle-Geometry-Mathematics-Artificia...
https://direct.mit.edu/books/book/4663/Turtle-GeometryThe-Co...
* Starting Forth. Uses Forth.
https://www.forth.com/starting-forth/
https://www.amazon.com/Starting-Forth-Leo-Brodie-ebook/dp/B0...
* Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction and also The Nature of Code: Simulating Natural Systems with Processing. Uses Processing and p5.js (the JavaScript version of Processing).
http://learningprocessing.com/
https://www.amazon.com/Learning-Processing-Beginners-Program...
https://www.amazon.com/Nature-Code-Simulating-Natural-Proces...
The author's YouTube channel: https://youtube.com/c/TheCodingTrain
[1] https://www.amazon.com/Turtle-Geometry-Mathematics-Artificia...
Turtle Geometry: The Computer as a Medium for Exploring Mathematics
http://www.amazon.com/Turtle-Geometry-Mathematics-Artificial...
...and I've not yet tried it, but netlogo sounds interesting.
The Logo way is pretty different from conventional programming models because it was tailored to be more intuitive than conventional languages like C, JavaScript, or VB. It still offers access to complex, higher order programming concepts like algorithms, AI, automata, etc. Harold Abelson from MIT (SICP) wrote a cool book that covers math/physics in Logo, too.[2]
The creator of the language has an awesome book[3] on how computers can enhance pedagogy and someone wrote a cool blog post on programming for children that mentioned it too[4].
[1] http://www.cs.berkeley.edu/~bh/logo.html
[2] http://www.amazon.com/Turtle-Geometry-Mathematics-Artificial...
[3] http://www.amazon.com/Mindstorms-Children-Computers-Powerful...
Once the basics are described, then it uses them to go on to explore things like non-euclidian geometry (and maybe topology?).
[1] http://www.amazon.com/Turtle-Geometry-Mathematics-Artificial...
http://www.amazon.com/Mindstorms-Children-Computers-Powerful...
http://www.amazon.com/Structure-Interpretation-Classical-Mec...
http://www.amazon.com/Turtle-Geometry-Mathematics-Artificial...
This is not to mention that learning how to program a computer is just another tool to put in your bags of tricks for solving problems in any of the domains you mentioned (some better suited than others, of course).
Whelp, the lack of an Oxford comma there really through me for a loop until I continued reading. Anyway...
> "Our experiences, especially with young students, indicate that programming in LOGO may serve as a bridge between natural language communication and reasoning and the formal and abstract symbols and reasoning in mathematics and programming languages."
If anyone is interested in this, there are the following books:
* Exploring Language with Logo: https://www.amazon.com/gp/product/0262570653
* Visual Modeling with Logo: A Structured Approach to Seeing: https://www.amazon.com/gp/product/0262530694
* Turtle Geometry: The Computer as a Medium for Exploring Mathematics: https://www.amazon.com/Turtle-Geometry-Mathematics-Artificia...
* Computer Science Logo Style: http://people.eecs.berkeley.edu/~bh/v1-toc2.html
It's disappointing to me that Logo died out and didn't remain around or evolve, and I find it a bit sad that many kids are getting introduced to programming via something like Python or Scratch. I feel there's still space for Logo, and it would be cool to see an easily downloadable and installable version of it.