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.
On Running (A History)
Foreword
In celebration of achieving a personal goal of running a half marathon in under two hours, I thought I would post up here an old Facebook note (revised and updated) since it seemed appropriate. I’ve written about running before in a previous post, Why I Enjoy Running, that you can also check out.
The Beginning
Running has always been a bit of a love/hate relationship with me. I’m not entirely sure why I first started doing it, my earliest memories were doing one mile fun runs some time in elementary school. I remember that I was always fairly quick whenever we had to run a mile in gym back then (not anything impressive, but usually one of the first few to finish). I joined cross country in 8th grade middle school and decided to stick with it throughout high school. I was usually in the middle to back of the pack, but still managed to finish a couple 5K races in under 20min (my best time was 18:55, which I got on the Manchester course my senior year).
After graduating high school, I went on to college and didn’t do much running anymore. I didn’t join the cross country team, because I wanted to focus more on school and didn’t want to compete at the college level. I instead opted for fencing with my time there in order to stay active and just because hitting people with swords is fun (sadly don’t have the time to continue with it these days). I doubt I really went out and ran more than a few times my first two years in college. The final two years, when I was living off campus, I tried to go out and run more often, but even then it was pretty sporadic.
After College
Moving down to Florida after college led me back to a more sedentary lifestyle. After about a year or so, I decided I needed to work on being more physical. I believe this revelation came after gaining several pounds during the alpha period of the first game I worked on. Let’s just say that pretty much all you can eat buffets being served daily was rather nice for a recently graduated college student (who still hasn’t outgrown the ability to turn down free food). So I splurged a bit and helped myself to my fill of cheap catering. After the realization that probably wasn’t the best course of action, and the fact that there was a world-class gym literally across the street from my work that we got great discounts at, I tried my hand at a decent workout routine. I wasn’t the most consistent (with work being what it is, and now having young children, I never really am), but it was a decent effort. Sadly, in that area at least, I decided that I was done with Florida and was going to move north to Chicago.
I was determined to stick with running upon moving, even though I realize that it is rather tough being in a climate that actually gets a decent amount of snow, ice, and all around cold weather. However, I was moving to a much more urban area so had plenty of residential roads (instead of all the highways I was near in Florida) and living on the side of the lake that didn’t get hit with all the snow, so it wouldn’t be too bad. So I tried my best to get out when I could and run the same mile or so that I was doing down in Florida. And for the most part I was successful. However, I didn’t really have a goal to work towards, so I just went out and did what I felt was good enough and that was the extent of that.
Motivation
It wasn’t until that I started talking with a few of my coworkers who were planning on running in the Chicago marathon that year that I think my running started to actually get some outside motivation. I ran a few times with them, and shortly thereafter my usual running distance jumped to 2-3 miles at a time. I finally had a decent goal to work towards (wasn’t planning on running in the marathon, but it was good to be running with people that were a bit more serious than just by my lonesome).
Shortly afterwards, my dad had a heart attack, and as part of his recovery he decided that he should take up running and was going to do a 5K race in a few months. My father even joked that he was training to beat me. My mom decided to sign up for the 10K and I joined her. This would technically be my longest race ever as the races in high school CC were only 5K. It turned out to be pretty good motivation.
After that was done I planned on doing a half marathon with my ultimate goal of running in the Chicago marathon. My original goal was to run the marathon in 2010, but sadly I didn’t feel that I was ready with with having young children it was difficult to adequately train myself to what I wanted to do. But I stuck with doing the half marathon each year and have finally completed it in under two hours, which was my goal.
Next Steps
I continue to enjoy running and often take my son with me using my jogging stroller. I still have the goal of running in the Chicago marathon and want to get a time under 4:30 (which works out to a ten-minute mile pace). With the kids I find it difficult to run long distances since I need to keep them happy and don’t want to strand my wife with them for too long. But I suppose that my performance in my last race shows that I can still accomplish much as long as I keep my pace and don’t push myself too far. These long races are definitely a test of the mind, just putting one foot in front of the other for many miles, slowing going towards my goals.
Cancelling GameFly
My Dealer
I’ve had an “on again off again” relationship with Gamefly ever since I first started using them back in college where money was scarce and time more plentiful. I had been playing video games since I was a child and often visited rental shops to get some semblance of variety on a schoolchild income. It was a rare and joyous occasion when I was able to get the same rental copy of Final Fantasy II (IV now that I know better) and could continue where I left off. So the idea of a rental store that delivered video games to my mailbox like Netflix (back when you could get three discs for $10/mo) was very appealing. I was instantly a fan and signed up for the two games a month plan and split the cost with a roommate.
However, after college I got my first job and departed to Florida. At the time, Gamefly had only one warehouse all the way on the west coast. This led to an average of turnaround time of a week and a half. So I was paying nearly $8 just to get a new game. This was compounded by the fact that Netflix turnaround time was only a few days. So generally I was able to send back a watched DVD (these are pre-BluRay days) and get a new one before Gamefly even got my game. So with a heavy heart, I cancelled my subscription and got my game fix by getting games off Amazon and with my EA employee discount.
Back for a Fix
After moving to Chicago and Gamefly having opened a warehouse in Pittsburgh, I decided to try it again. By this time I had a Wii and more importantly, a 360 with its achievement system. While I wouldn’t classify myself as an achievement whore, I did take some satisfaction in having a higher score than my friends. Having a Gamefly account again enabled me to get a wide selection of games easily and fairly cheaply too. Plus I have always considered myself a bit of a video game connoisseur, always wanting to check out stuff that was different and novel that interested me, so renting is a convenient way to do that as well.
Overall, I would say that I was happy. But as time wore on and free time became more scarce with the addition of two children to my household, I noticed my game playing habits were starting to change. Sure, there was the obvious fact that I had less time to play games, leading me to cut out many that I was hoping to play as I noticed that the age of games that I was playing was steadily getting older. The more subtle one was that I tended to play my rental games primarily, and only really play the games I had actually purchased while I was waiting for the mail delivery to get me the next game. A big part of this is due to the fact that Gamefly charges monthly. So I am paying for the game if I am playing it or not. Being the frugal gamer I am, this causes me to primarily play the rental games and to do it as quickly as possible, leaving games I liked enough to actually purchase primarily sit around gathering dust.
Another change that has occurred in video games is the emergence of downloadable games producing great game experiences. With XBLA and PSN putting out increasingly better and more original games, I would like to play some more of these. Since these aren’t exactly available to rent, they tend to fall in the same category as purchased games, meaning that I generally don’t play them. As I am hearing about some true gems coming out from smaller developers, though, I would like to support their efforts and this new area of gaming. But I realize that with a subscription always in the back of my mind, that isn’t likely going to happen.
Rehabilitation
Most recently, I had an issue where a game took over two weeks on its turnaround time. I figured that it was lost in the mail and reported the shipping issue and Gamefly sent me another game (this time a more desired one as well, availability has been another sticking point). Not too surprisingly, the original game finally arrived after a few days. Since I was supposed to send it back as soon as I received it, I attempted to play through it as quickly as possible. My reasoning being that it took so long for the game to arrive I had already paid for the rental time so it was okay if I had two games for a little bit. However, upon tearing through and then returning it, I came to the realization that I wasn’t really enjoying games like I wanted to. I would like to just be able to take things at my own pace, and with Gamefly routinely deducting from my bank account each month, I wouldn’t be able to set my own pace and be comfortable with it.
So I decided that I will cancel my account at the end of this billing period. I decided to purchase the game that I was renting since it was fun (and I had a $5 off coupon) and remove all the games from my queue except two shorter ones (which I am still waiting on to ship to me). I figure I can get games used through Glyde, which I have primarily used to sell off my old collection, or Amazon generally has decent prices if I want to get something new. When I am done with a game, I can always sell it again. I figure this will end up costing me about the same in money that I had with Gamefly overall with the added benefit of taking things at my own pace. Plus it might even help soften the blow of the ever increasing prices at Netflix...
Why I Enjoy Running
Why Would You Do That Voluntarily?
My wife has said that the only reason why anyone would run willingly is if they were running away from a tiger or a shark. Logical fallacies of that statement aside (she is great at simultaneously entertaining and keeping me on my toes), it is a fair statement which views running from the outside and questions the reasoning behind the action. I hope to explain a little bit of the reasoning behind why I enjoy running so much. As I reflect on what I have been doing for over half my life, I definitely see several points that I really enjoy outside of the obvious benefits of getting some good cardiovascular exercise.
All on Your Own
Running is a great way to get away from it all. It is also a solo sport, so you only have you to worry about (and can’t rely on anyone else to carry you). I freely admit that I am a bit of a loner and a introvert, so there are definite draws to this. While having other people can motivate you to keep on going and to stick to a schedule, I also find it empowering when I alone am able to push myself and feel accomplished because of it. When it is just you and the road (and occasional sidewalk), it is comforting to me to know that I am only responsible for myself and that any shortcomings is on me alone. That means that if I want to do better, then I don’t have to rely on anyone else in order to do it. It is all on me.
Clearing the Mind
It is a great way to clear your mind by slowing things down and exhausting yourself to the point where your ideas can’t just run wild. I find that I often tire myself out over time with my thoughts and anxieties. Running is a way for me to focus my attention purely on the here and now, so that I don’t worry so much about what I need to do or anything outside of my feet on the pavement.
Getting outside and away from it all is also refreshing and a great way to mix things up. I find that it breaks up my routine enough that it is almost always new and different (course this might also point to me not running enough to really improve). Being stationary on a treadmill drives me crazy. There is something about being outside and moving under my own power that excites and motivates me. There are many times when I just want to keep running for hours on end, though my commitments and attachment to reality prevent me from doing so.
Keep on Moving
I hope to keep running for a long time, eventually doing a marathon. I have run half-marathons the past two years and am signed up for it again this year (and it is only a little over three months away, eep!). Doing so helps keep me motivated as I want to do it in less than two hours (missed that mark by 36 seconds my first time, sadly quite a bit more my second and I am not expecting to do it this go around). It is hard to keep up a schedule with helping out around the house and with the kids. Hopefully once things settle into more of a routine (and the weather isn’t so blasted cold all the time) in the future I will have a better shot at achieving this. And shoot for that marathon (hoping to beat 4:30 there) some time in the next few years.
Personally, I find the best time to run is in the morning as it is coldest and still has good visibility. That way I can also wake up for the day and easily take a shower afterward and get ready. Occasionally when my son wakes up before I go I will take him along in our jogging stroller. Someday I might even have him tag along running with me and possibly even have him beating his old dad after awhile. Maybe getting ahead of myself there, but I do look forward to keep on running for a long time.
The Urge to Create
In the Beginning
I have always been a creator of sorts. Earliest memories of doing so would have to be when I was a little kid playing with Legos. Since I was an only child, I actually had an entire room devoted to just my toys, primarily of which were those little plastic building blocks. I would spend hours creating worlds and using my imagination with them. I later moved on to K’Nex (partially due to kittens using the box of Legos as a litter box), but the intent was the same. Other things I did were drawing, designing video game ideas, poetry, and teaching myself to program. There has always been a desire to create something, and I guess this blog and website are part of that.
Virtual Worlds
One of the things that I have always enjoyed about video games has always been the fact that I enjoy creating. While playing video games, you are creating your own experience and stories. While making them you create worlds and places for people to enjoy. As a graphics engineer I created tools and processes that would help bring artists’ visions to realization. So while my work was rarely seen directly, I was instrumental in bringing those games to life. And while I would love to be able to actually be the one who is creating the stuff that people will see (though I did have several programmatic effects like shadows and post effects that were mine, in a sense), I enjoy the challenge that is inherent in creating elegant tools. In fact, in my own projects, I think I will likely be approaching them with the idea of putting lots of time and effort into creating easy-to-use tools and playing around with those to create the game as opposed to just diving in and trying to pump out a game as quickly as possible. In fact, I am starting to believe that it is through great tools that great games are really made. But it will likely be quite some time before I can really put that theory to test.
This is probably a slightly verbose and roundabout way of saying that I enjoy creating things. In fact, I feel that I have an urge to create that is an essential part of my being. When I go a long time without creating stuff (even if it is my own head or just the experiences I get from playing in video games) I start to get into a funk and head towards depression. After being laid off from Robomodo, I put most of my time into finding a new job and didn’t put a lot of effort into working on things outside of that (other than studying up on techniques for interviews and the like). Even after landing a new position, I don’t think that it is quite fulfilling my need as much as being a games programmer does. Possibly because it is more of a research and exploration role than the pure development that I am used to. Which is one of the reasons why I started to give blogging another shot.
Creating in View
Because I am noticing that more and more web stuff is really starting to take off and it seems like most of the new technologies are web-centric, I decided to revive my old website (well, buy the domain again anyway). This gives me a chance to explore and create things using new technologies. I am also pushing myself to be more open and get over fears of criticism so that I don’t hold back so often. I’m not expecting anything ground-breaking, just a place where I can experiment a little and do some side projects. I don’t get a whole lot of time to work on anything and I tend to bounce around a lot between projects, so things will likely be updated in a semi-random manner. But it keeps me interested and helps me learn and refine my skills.
So I have come to realize that I am happiest when I am able to spend time creating things and this has always been a part of me. And I want to share the things that I have created with people and hopefully get feedback that will help me improve. Because maybe at some point I will figure out something that I really want to put the effort into or I’ll stumble upon an idea that I want to develop more. I have an urge to create that I feel I don’t want to neglect, and it would be my dream to make something that will make the world a slightly better place.