Designing a Digital Media course at Code Avengers
The coolest thing about working at Code Avengers is that I get to develop courses to teach people all about something I love: Computer Science! Making a good courses is about more than just knowledge and quiz questions, it requires finding fun and exciting ways of introducing concepts so that students will remember them. At Code Avengers we do this with story and customized widgets. In this blog post, I talk about the development process we went through for one of my favourite mini-courses: Jumping Jam Game Design.
While most of the courses I've worked on require a subscription to access, 3 of them are free-to-access through Hour of Code. These short courses are based on highlights from my longer courses. Each takes about an hour to complete.
In Jumping Jam Game Design, students are guided through the process of designing a platformer game. They do this by drag and dropping different game components, for example platforms to stand on, items to collect and enemies to avoid. They can also set a background, player sprite, and music.
The story line is simple. Charlie and Tilley, 2 of our Code Avengers characters, need to create a video game to give to their cousin, Lucy, for her birthday. They talk about what makes a good game, and about what Lucy's interests and needs are. They also discuss some of the ethical, legal, and copyright issues that could impact the development of their game.
At the end, we provide extra graphics so that students can design a game meaningful to them.
This activity ranked highly on Hour of Code in 2017, and got a high number of page views during the Hour of Code week. It was so impressive that my manager actually phoned me to tell me the good news even though I was off work that day, waiting at the hospital for my partner who was having some minor surgery. However, developing this activity was far from straightforward and there was many times we all wanted to give up because we worried we weren't going to pull it off.
Originally, this editor was designed (for a full-length course) to teach students about data representation. Students were guided through the different components of the game and taught how they are represented in binary (0's and 1's). The interface of the game editor would then get them to specify the parts of their game in terms of binary. The original plan was to do this in the shorter Hour of Code course as well.
While this approach was meaningful for students who already had some exposure to binary, we quickly realised it was too difficult for the Hour of Code audience, where we can't assume any prior knowledge. At first, we thought it might be best to not make an activity for Hour of Code using this game editor. After all, how could we teach students binary in just one hour?
But then after a discussion with a colleague, her and I came up with the perfect idea. In the initial draft of the course, I'd sprinkled some ideas from digital media and digital citizenship throughout the course. This was because we're always encouraging cross-curricula learning. So, instead of doing data representation, what if we were to take that idea further, and instead of focusing on data representation, we could make this a digital media course. This would be unusual for me, because I'd only ever worked on computer science courses, and had even jokingly said a few times that I could never do digital media because I am terrible at drawing and making things look pretty.
We decided to give our new idea a go, and the programmer worked very hard to simplify the game editor's interface for this new purpose. Instead of a complicated interface that required entering 0's and 1's, we made it easy to use, with the entire focus being on thinking about abstractions and encouraging creativity from students. After all, an important idea in computer science and digital media is abstraction and breaking problems down into smaller parts, so such an editor still had pedagogical value. Instead of looking at games as one complicated and overwhelming thing to design and build, we can instead focus on all the individual parts that make up that game.
In order to make it even more digital media-y we took the idea of designing for a brief and came up with the story about developing a game for Lucy. While the student has freedom in the design process, they still need to make sure their game is suitable for the audience: young Lucy who loves sport. For this reason, the collectable items are all sporty such as balls, and the enemies are related to chores that get in the way of Lucy playing sport (animation rubbish bin, etc).
Then, we added a few more ideas such as recognising common file types for images and music, and identifying ways we can legally get images and music to use in our own work without infringing upon copyright laws.
This activity was well received by users, and proved to be a lot of fun. The key lesson for all of us involved was that sometimes you just need to think outside the box and change your approach, rather than sticking with an original plan that isn't working. Sometimes, the changes need to be radical. In this case, we no longer were releasing a data representation course, but instead a digital media course. It also worked well because we needed a digital media short course any way!