Putting it All Together

With exam week coming up, the Creative Coding class wrapped up Unit 3. This unit had students focus on one project which they developed over the course of 3 weeks. The goals were to get them to use the skills and knowledge they developed in the last two units to create a larger scale project, manage the project using real-world code management tools, and plan out their project’s timeline using milestones.

We started the unit with students choosing whether they wanted to collaborate or work on solo projects. Afterwards, they learned how to use a version control system, called Git, with an open-source, online repository named Github. The combination of Git and GitHub would allow students to easily manage and share their code with one another as well as the open-source community.

One team's project titled, "Curry Simulator"
One team’s project titled, “Curry Simulator”

The students were then given a blank planning document with dates attached to milestones. Each of the three milestones had a specific goal: pre-production, initial prototype, and improving your prototype. During Pre-production, students ideated, chose a project idea, and planned out which tasks had to be completed by each milestone date. The next milestone’s goal was to have an operational prototype of their project completed. For the last milestone, projects had to be improved upon and polished so they were ready for presentation day.

Presentation day had two secret judges that were only announced on the date of the presentation. Throughout the semester, students practiced talking about their code without jargon, so that they could explain what they’re doing and how they did it to anyone. This presentation’s judges had little programming experience and were asked to judge based on the students’ ability to present and explain their projects and process in an easily understandable manner, address any questions about their projects fully, and presentation skills such as keeping the audiences attention, avoiding “um’s”, etc.

The projects the students made varied widely with a majority of students opting to use the Box2D Physics library or the Xbox Kinect. A team of two students created a “Curry Simulator”. During their presentation, the team mentioned how they did research on the different ingredients and types of curries. One of the students on the team called upon the expertise of his mother as part of his investigation.  Another project of note was titled, “Snow”. This student used the Xbox Kinect to display the user on the screen. Snow would slowly fall on the image of the user, allowing them to play, throw, and push it around the screen. Another student created a physics game based on American Gladiator’s Joust. Players would have to off-balance their opponent while keeping themselves balanced on their standing platform. He mentioned plans to work on this project to improve the game’s look and function.

Student's Fruit Ninja style game that uses the Xbox Kinect to control chopping.
Student’s Fruit Ninja style game that uses the Xbox Kinect to control chopping.

On our last class before break, we informed students of the next unit which consists of various games, activities, and challenges made to strengthen their programming skills. One of the planned activities is a hackathon, in which students are challenged to rapidly prototype a project and can only work on their code in class. However, our students discussed the possibility of being able to work on their hackathon code at home as well as in class.

It seems, the longer term, larger scale project has increased their interest in doing projects like this in the future. Open sourcing their projects gave students the feeling of what it’s like to contribute back to a community they learned from. Throughout the unit, one student periodically checked the amount of people that had viewed her project, “Oh yeah! 300 views!”, she exclaimed. Awesome!

Type: News