Log entry 6: Leveling Up!

Student becomes master (briefly)

Over the summer, I got the opportunity to be an instructor for CMU's pre-college program: National High School Game Academy (NHSGA). This BVW style program required us to impart game development knowledge to high school students over six weeks. After the initial couple of weeks of instruction, the students went on to develop games for a multitude of platforms available at the ETC.

As the lead programming instructor, my first responsibility was to devise the curriculum for the programming classes. I had four other programming instructors working in different capacities for the program and we split the workload for the multiple level of classes - beginner, intermediate and advanced. I instructed the intermediate class and based my material off the Unity 'Tanks' tutorial. I had personally found this tutorial extremely helpful in understanding the breadth of features that Unity had to offer, and so I decided to pass on the knowledge. Also, I find 'learning by doing' to be the best approach for becoming familiar with programming concepts.

This role was the perfect chance for me to dive deep into Unity. A general rule of thumb is to prepare for thrice the duration for which you will be lecturing/teaching. During this process, I got to refresh my knowledge on a lot of aspects of Unity like camera and GUI editors as well as learn some new tricks along the way. For version control, we decided to teach the students Git via command line so I conducted a workshop on that too. I had been using Perforce till now at the ETC, so it was useful to instruct and use Git on a more regular basis. If you are interested in learning to use Git, Try Git is an excellent interactive tool to cover the basics while showing you the live changes visually.

The weeks flew by as I was constantly helping with debugging or providing technical support for platforms. I learned to be extremely flexible while entertaining requests and even ended up solving Maya installation problems on a Mac - things I had no experience with before. I have always prided myself on my ability to deconstruct others' code and debug problems: skills that make it easy to work with other programmers. These were pushed to their limit during the NHSGA, but fortunately, I was able to survive the onslaught of issues while providing solutions for them.

Overall, the program accelerated quickly and soon I was under a mountain of technical requests. However, I enjoyed the challenge and I loved working with technologies like HTC Vive, Jam-o-drum and Cave, which I had missed out on during BVW. I was proud of the worlds that the students came up with and the videos of their work can be viewed on Vimeo!