Teaching: Thoughts on My First Semester
Part of me has always wanted to be a teacher. I am not sure exactly where this desire comes from, though. Perhaps it is wanting to impart knowledge to other people. Perhaps to help create an understanding of how I view things in the world. Perhaps it is just hoping to spread some of the enthusiasm that I have around to people who would be interested in hearing about it and help them learn the skills I have obtained over the years. Or maybe I just inherited some of it from my mother who was a teacher for many years.
I have joked that I would retire from making video games when I made millions and then become a teacher. One always hopes that they will do really well in their profession, and there are definitely people who are making lots of money in this one, but realistically I will likely just slowly build up enough of a nest egg to retire comfortably in forty years or so. So that doesn’t leave a whole lot of room for teaching in my twilight years, unfortunately. However, by a stroke of luck I suppose, I was contacted by Tribeca Flashpoint Academy on LinkedIn about a potential teaching opportunity. So I decided that I should take this chance and pursue it and a few weeks later I was signed up and slated to teach Intro to Game Programming. (Side note: I am actually working for a former boss, so let that be a lesson to not burn bridges folks!)
I view teaching as an extremely vital and noble profession, and unfortunately it is one that I feel is not supported enough in our country. I believe that one should try to give back to the greater community at some point in their lives, and this is an area I feel I have been neglecting as of late. I have been very busy with my family and work plus I am not exactly a “people person.” I give to charities, but beyond that I don’t give much of my time to helping out. So I feel that by teaching I am giving myself a little bit in that way. Plus it just happens to be in an area that I am good at and enjoy!
This will be no surprise to any teachers reading this, but teaching is hard. Especially since this was my first time doing it. I was teaching to a class of mixed abilities, so not only to students who would want to become programmers, but students who would want to pursue art, design, or production as well. So I needed to find a way to teach programming to those who have never encountered it before while still keeping engaged those that have several years of it under their belts. The way that I ended up doing this was by peppering in slides that I had as their first bulletpoint be “Advanced Topic,” and would often explain that this was supplementary knowledge that wouldn’t be tested on but was tangentially related to what we were covering. A few of the more “programmatically”-experienced students said this helped keep things a bit more interesting and relevant, though I worry that it took away time that I could have used to explain in more detail the topics that were going to be evaluated. Something that I will likely take a second look at if I end up teaching this course again in order to find a balance I am more comfortable with. I also invited the students to hit me up for ideas that I could use to help supplement the teaching by assigning readings or projects to be doing outside the class curriculum, but while there was some interest initially I ended up not having to do much of that. Likely they were soon swamped with work from other classes 🙂
Another idea that I had for catering to a large gap in skill-sets is to focus more on projects instead of simple homework. We had one big project at the end and the students had the option of just simply following the directions and doing the minimum criteria or they could work in extra stuff. A few students also decided to write the project from scratch (some base code and an example was provided). This led to a few rather impressive projects (though looking at the code showed there was still much to teach, but I gave examples and suggestions to improve that aspect) and really kept the students engaged. I think focusing more on projects will allow the students to scale them to meet their wants as well as get in valuable programming that leads to more critical thinking on their part.
Most of my lectures were fairly one-sided, with me presenting the slides and talking through them (but allowing the students to ask questions at any time). There were a few times that I tried to work in some quick group activities, but generally ran out of time to do these. I recall one time that we did do one, and overall I think it worked fairly well. The class was divided into four groups (based on classroom layout), and each group produced good results, but they were definitely dominated by the more ambitious students (and I had to ask a student to stop playing games on their laptop twice while this was going on). So while I think it was good to break up the usual routine, I will need to give more thought on how to better engage all the students and get them to participate (smaller groups maybe?).
Another thing that I started to do more often was to actually do examples in the IDE (Integrated Development Environment, where you can write and build all the code). This was something brought up to me by a few students, but since the IDE wasn’t installed on the computers in our class (long story, but it took me a little while to make it happen) it kept me from being able to do so and I think that made the class more difficult for students. In the future I will definitely take more time to show use of the tools and explain more stuff about ways to use them and their importance. I did this more near the end, but I think it would be beneficial to start off doing this and also to incorporate all the assignments and quizzes into using the IDE primarily (this was also done more as the class progressed).
I eventually worked in some examples using video games and then posed a problem that we could solve using the techniques we covered in class and then worked through them (time permitting). I would also call on students to give me ideas of how we could approach the problems while working through them. I think these worked fairly well, though by covering lots of material in class (including optional stuff, though I wouldn’t spend much time on those) oftentimes I would not have sufficient time to work through these at a comfortable pace, so a lot of times I felt rushed. Hopefully with more experience (and maybe less quizzes) I will better be able to judge how long it will take for me to cover certain material and leave adequate time at the end.
All in all, I would say that I really enjoyed teaching. While I was really nervous at first, I eventually got much more comfortable and started to get a hang of things. The work was a bit more than I expected, but I was able to make it work and found it enjoyable. I definitely got the notion in my head that the harder I worked the better off my students would do, which is a nice motivation (as long as you don’t go overboard). As I am sure is obvious, I have a lot of ideas of things to improve upon (and many more that I didn’t touch on in this post) and new stuff to try. I would definitely say that I would love for an opportunity to teach again and am glad that I made the decision to teach in the first place.
You clearly have a passion for teaching that you will hopefully continue to nurture. I applaud your desire to give back to society and to help others through your monetary and knowledge oriented philanthropy.