It’s time to start developing that lesson plan and educational materials we have been talking about! Here is my ideas for a 10 part lesson plan, breaking down the concepts of programming into an easy to follow set of activities.
The intention of the Arduboy lesson plan is not to provide a complete understanding of programming concepts, but more to increase your comfort level with programming. It’s meant as a starting point, that gives you some short cuts to easy to achieve results.
One thing I’ve always thought is fun about programming is the experience of the “Hello World!” application. You can read about it here on wikipedia. It’s the point where you first bring up a system and can actually do something meaningful, display some text. It’s a universal point in virtually any form of software development.
We would like to create similarly impactful learning opportunities with our lessons. The idea is to get someone comfortable changing variables, copying and pasting and ultimately not afraid of error messages in the compiler window. Each lesson will feature links to other similar topics that will expand the learning contained within.
We will not be providing an end-to-end instruction on C++ programming, this isn’t some kind of computer science degree. What we hope to provide is a set of tools that will allow you to start playing with code, get under the hood and start exploring the world with a new perspective on what is possible!
Number Title Concepts Introduced
1 What is programming: Binary, Hexidecimal, Machine Code, C++, Arduino
2 Hello World: Strings, Variables, Functions, Printing to the Screen
3 Drawing: Integers, Drawing Commands, Square, Circle, Line
4 Input Buttons: Input buttons, LED, Variables, Math, Booleans
5 Images: Convert File and Upload
6 Sounds: Convert File and Upload
7 Tic Tac Toe: Game Logic, If Statements
8 Gravity Jump: For and Loop Statements
9 Menu System: Arrays
10 Sample Game: Classes, Bringing all the concepts together
I’ll come in and expand on ideas if people are interested or have questions. Please do comment and give feedback on what you want to see covered! This whole process is open and community sourced so please contribute if you have any ideas!