Back in my undergraduate studies (many, many years ago), I took a Pascal programming course, and it was the first official programming language I learned. I still claim MATLAB as my first programming language I learned, since I have never used Pascal beyond that one course. What I really enjoyed about the Pascal course was that we learned the language as we built an artillery game. We learned about graphics, animation, loops, and other standard programming constructs.
When I saw AstroVolley, it brought back good memories from my programming course. This courseware is perfect for teaching basic programming, plotting, and app building in MATLAB. It teaches the concepts necessary to build the game step by step.
Paul includes an instructor guide, which can be used as lecture notes. Here is the complete lesson plan.
It starts from simple plotting for drawing the ships (triangles) and then celestial bodies (circles). Loops are introduced to plot multiple bodies in a more efficient way. Trajectories are visualized through animations. Finally, all of this is put together into an app with the App Designer. Paul also adds a nice touch by explaining the physics behind gravity and orbits.
What I really like is that he includes live scripts and apps for each concept, with fill-in-the-blank tasks for students to work on.
Very well done, Paul! Give this a try and let us know what you think here.