At a Crossroads: TA-ing First-Year Computer Science
by Chris Jordan
Most of you who are graduate students, and a few of you who are senior undergraduates, will have the pleasure of being a teaching assistant, otherwise known as a TA. A TA-ship usually consists of marking assignments and running labs. A lot of the time, students see the TA-ship as a way to make some quick extra cash, and oftentimes it is. This attitude, however, is not acceptable when you are the TA for first-year computer science.
Being the first-year computer science TA is not like being the TA for any other course. It is an opportunity to make that crucial first impression on students for your faculty and department. You will be one of the first university teaching figures that these students meet and have to deal with on a regular basis. As well, you are probably closer in age to these students than any professor or lecturer. That means that you will be one of the people that many students will initially associate with computer science, and consequently, it is very important that you give a positive example that they not only can follow, but also will want to follow.
A lot of first-year students arrive on campus fresh out of high school and have no idea what they want to do with their lives; a good many do not even know why they are attending university. Lost and confused, what these people need more than anything else is leadership. They need someone to show them that somehow the next 4-5 years of their lives and gobs of tuition dollars will translate into a satisfying career. As the first-year CS TA, you are the person that will be spending the greatest amount of individual time with students, and you should provide them with a sense that being in computer science is a good idea.
Motivating new students is hard. For some reason, a lot of people in marketing think that showing off video games is a good way to get students interested. Students are not dumb though and probably do not see a connection between playing games and getting a career. What will really motivate students is seeing how what they are doing can translate into that career. I highly recommend that every first-year course provide at least a couple of lab sessions on how to establish a Web presence. Everyone that signs up for computer science has been on the Web, but they do not necessarily understand how pages get up there. Getting students to install and set up a simple content management system like WordPress (http://wordpress.org/) instantly gives them an easy-to-maintain personal Web site. I also recommend MediaWiki (http://mediawiki.org), as it provides an easy-to-use system for organizing group projects. So, in two lab sessions, you can get all the first-year students on the Web and coordinating their group projects in all their courses.
If Java is the first-year programming language, I highly recommend CodeInvaders (http://www.alphaworks.ibm.com/tech/codeinvaders). Over the past few years, IBM has being creating artificial intelligence (AI) frameworks for the ACM International Collegiate Programming Contest. CodeInvaders allows students to code the AI for a spaceship and its drones that will collect energy and shoot other ships. These are ideal for first-year term projects, as they only require a basic working knowledge of Java. In this way, you can talk about Alan Turing, introduce them to AI, and get your students well on their way to building giant, killer robots. Okay, sure, evil scientist is not on every student's career path, but giant, killer robots are just plain cool. Also, there is a big difference between playing computer games and developing AIs for them.
All joking aside, being the first-year computer science TA is a position that has real impact. For a lot of us, it might be the first job where we have this kind of impact. First, it helps out the faculty and department. Enrollment in computer science is down across the board. Regardless of the reason, we have to provide motivation for students to come to, and stay in, our computer science programs. Secondly, we are helping students with some significant life decisions. Trying to figure out what to do with one's life is a nontrivial process. As a first-year CS TA, you have the chance to help someone figure out if computer science is really something they want to do.
Biography
Chris Jordan (chris.jordan@acm.org) is a PhD candidate in the Faculty of Computer Science at Dalhousie University. His research interests are in information retrieval, natural language processing, and web mining. Web site: http://www.chrisjordan.ca