Courses
How to Choose Courses
There are many friendly environments like Scratch and Tynker for kids learning to program. Those can provide a good preparation for my courses. I focus mostly on kids who are ready to write code in mainstream programming languages, usually those kids in grade three and up who can type, and who are good with math and logical thinking.
Python
Python is a good language to start with because there are very few concepts that have to be learned before writing a simple program, such as this one, which, when run, displays a “Hello, world!” greeting:
print("Hello, world!")
“Processing” with Python, Java or Scala
Processing is fun, powerful tool for making 2D and 3D graphics and animation. It provides an excellent platform for learning computer programming while making amazing visuals.
p5.js with JavaScript
p5.js is very much like Processing, but the language used is JavaScript. It’s easy to make graphical works and make them visible to anybody on the Web. Unlike with Processing, you don’t have to install any software.
Sonic Pi and Ruby
Sonic Pi is an application for making electronic music using the Ruby programming language.
My Sonic Pi web page (under development)
Phaser and JavaScript
JavaScript, along with the Phaser Sandbox, is a bit more complicated, but highly motivating because I can present challenges, like “Make the character jump higher”, which motivate students to understand the code so they can change it.
Scala with Kojo
Kojo provides (from the website): A productive, fun, and friendly graphical environment – where computer programming is used to explore and play with Math, Art, Music, Animations, and Games.
The language it uses is Scala, an excellent mainstream language used by some of the best programmers.
Descriptions
These are some formal classes I have taught. For current students, I often pull material from these resources.
Python
- Intro to Real Programming with Python
- Python Introduction
- Intermediate Python
- Python Web Application Introduction
- Python 12-Hour Course
- Python and Django Web App
JavaScript
- Sound, Music and Speech Programming with JavaScript
- Animated 3D Graphics Programming with JavaScript and p5.js
- Graphical Web Game with JavaScript and Phaser