Between April of 2012 and March of 2014, I was a course director at Full Sail University. I taught various classes in the Game Design Online Bachelor’s degree, but my primary class was Programming Foundations. This article is part of a retrospective on my experiences there.
While I was working on my class, I had broken down the class materials into what I thought they were providing to/requiring of my students:
Walk-through to create a working example
Motivation to continue through to lab
The process of programming
Clarify concepts that are tough to communicate in text
Each one of these types of materials provides something that the others don’t, and each one of them was thus important for students to complete. I made sure to include one of each of the first three items for every one of the 7 lab assignments in my class.
For the sake of grading sanity, only the labs were delivered and graded. Usually, I could trust students to use the other materials. If not, they wouldn’t be prepared for the labs, and if they could do the labs regardless, then they must not have needed the other parts of the lesson.
The challenge here, then, was designing lab assignments that test enough of the game creation process to be a useful judge of ability when completed. Since this was an introductory class, most of the early lab assignments were simple versions of the same concepts covered in the corresponding readings, videos, and experiments.
The work that the students had to do for an assignment can be thought of as a “gap” between what they had already completed in the experiment (and can simply reuse) and what they needed to have done in the lab requirements. They had to spend real effort (time and cognitive work) analyzing their existing code snippets and then synthesizing them into something workable.
For example, if an experiment covered the use of mouse clicks, coordinates, and arithmetic operations, the lab might require students to put those together into a calculator program. It could be a direct product of the basic pieces that they already knew and had working examples for. The end result is that the mouse clicks feed their coordinates into the calculations that are displayed to the end user.
Each successive assignment had a larger gap, until the final pair of assignments, which provided a framework to build off of in the experiments, and required students to turn it into a unique game. While these were a challenge to grade, they were also the most interesting, and students felt like they got a lot out of them.