The Arcade library is designed to support education. Get students hooked on programming. Then start teaching them new concepts, as students discover the need.
Arcade’s theme: “Only advanced actions should require advanced knowledge.” What does this mean? For example, if a students want to create an image with drawing commands, they should not have to know about defining functions, classes, or using decorators, or any other advanced programming topic.
Below is a rough list of common first-course items to teach, and the order they could be taught in.
- Learn to call drawing commands and create your own drawings.
- Learn to use variables to change your drawing.
- Teach students about common error messages, and how to read and use them.
Draw and animate with functions¶
- Learn to create functions, so you can make your own draw_tree commands
- Learn to animate with functions and static variables (or skip this and use classes later. Static function variables are weird.)
- Teach students about expressions and simple mathematics in Python.
Learn to use loops¶
- Learn to loop
- Learn nested loops (learn to use nested loops to draw grids, triangles, etc.)
- Testing and unit tests
- Working with lists
- Creating lists from scratch
- Keeping locations of items in a list (drawing stars or falling snow)
- Array-backed grids (This can be pushed back in the curriculum easily)