Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Education Programming Games

Computer Games and Traditional CS Courses 173

drroman22 writes "Schools are working to put real-world relevance into computer science education by integrating video game development into traditional CS courses. Quoting: 'Many CS educators recognized and took advantage of younger generations' familiarity and interests for computer video games and integrate related contents into their introductory programming courses. Because these are the first courses students encounter, they build excitement and enthusiasm for our discipline. ... Much of this work reported resounding successes with drastically increased enrollments and student successes. Based on these results, it is well recognized that integrating computer gaming into CS1 and CS2 (CS1/2) courses, the first programming courses students encounter, is a promising strategy for recruiting and retaining potential students." While a focus on games may help stir interest, it seems as though game development studios are as yet unimpressed by most game-related college courses. To those who have taken such courses or considered hiring those who have: what has your experience been?
This discussion has been archived. No new comments can be posted.

Computer Games and Traditional CS Courses

Comments Filter:
  • One step at a time (Score:5, Insightful)

    by skander ( 43037 ) on Wednesday November 25, 2009 @02:42AM (#30223328) Homepage

    While games are obviously the result of lots of code, there is very little that a 1st year college student could learn about how to program Grand Theft Auto in 2 or 3 courses... Pong might be a good start...

    Modern day games use loads of very high end CS concepts, that are simply out of reach for novices. While getting people motivated for a discipline is the first step to teaching them, this tactic sounds more like advertising than actual teaching.

    Growing a problem solving mind by the use of strict logic, and taking things one step at a time is the way to become a great programmer. Setting out to recreate the Crytek engine on your first day is bound to end in failure, and more important, disappointement.

  • by j1m+5n0w ( 749199 ) on Wednesday November 25, 2009 @02:48AM (#30223346) Homepage Journal

    While a focus on games may help stir interest, it seems as though game development studios are as yet unimpressed by most game-related college courses. To those who have taken such courses or considered hiring those who have: what has your experience been?

    It seems like that's not the point. The goal of having students write games isn't to turn them into game programmers, but to show them that programming can be fun, and then they can use their new skills to solve all sorts of problems.

  • Not This Again... (Score:5, Insightful)

    by Comatose51 ( 687974 ) on Wednesday November 25, 2009 @03:03AM (#30223408) Homepage

    "Schools are working to put real-world relevance into computer science education by integrating video game development into traditional CS courses."

    Nowhere in the article do I find a statement that supports the claim that traditional CS courses are lacking real-world relevance. Can we please stop taking shots at the four years CS degree? If you don't like it, then don't get it. It's only been five years since I graduated my with my Bachelor's in CS and I can tell you that the course I took are highly relevant. I use it every day when I'm coding and thinking about my algorithms. I need to know what the run-time complexity of my methods and how I can use various data structures to make my code more efficient and what the trade offs are. In fact I do it so much that it's almost second nature. These are things they teach you in the core CS classes, at least where I studied that's what happened. My school was very prestigious but not well known for its CS department so I imagine that my education isn't that extraordinary.

    Our CS program offered a set of courses that would have allowed students to create games. In fact, that's what the computer graphics course did. I worked with a couple of students who took that class. They reused those same skills again later during our AI project when we created a simulation where the AI played against itself. We weren't exactly creating the next WarCraft III or Civilization IV but some of the fundamentals are there. Likewise, those same skills could be put to use in other projects. The school doesn't have to have a course called "Game Programming for the Real World" for people to see that its course are relevant to the various sub fields in software engineering.

    Also, software engineering is a more expansive field than just making games. Programming an O/S or network programming are both very relevant skills even today.

  • by blahplusplus ( 757119 ) on Wednesday November 25, 2009 @03:05AM (#30223418)

    ... I'm kind of wondering why nobody in the game industry has thought of taking User interfaces in games and fully develop them for other software apps as spinoffs for alternate sources of revenue?

    I was pretty impressed by Deadspace's in-game UI, now if they could take some great UI concepts and apply them to other applications outside of games the expertise gained in the industry could probably take userinterfaces to the next level.

    I've seen things like:

    http://www.taggalaxy.com/ [taggalaxy.com]
    http://cooliris.com/ [cooliris.com] ... and always wondered what some guys in the game industry couldn't do if given the time to develop some kick ass UI.

  • by Beowulf_Boy ( 239340 ) on Wednesday November 25, 2009 @03:07AM (#30223420)

    I have a bachelors degree in Game design, and using games was a big part of how programming was taught at my school.

    A lot of people are going to say "but how are they going to learn, games are complex, etc etc"

    They don't have to be. A few examples from how I learned...

    In my networking fundamentals, we covered opening sockets, threading to take care of the sockets, passing information back and forth, etc. At the point in a normal course, you'd probably do something like...make a lame chat client, or an FTP program or something. Instead the professor said, ok, I want you to make a game that uses these concepts to pass information between computers. I wrote a pong game that used a client / server type setup. One computer ran the server and both ran the clients. The server computed all the stuff and returned data to the clients on where to place the ball, paddles, and the score. I also had a lot of fun doing it.

    Another good one. For my programming fundamentals class (eg, first class the freshman took to learn programming) they used python. After we covered the basics, such as arrays, if statements, loops, and so on, we got into user input. Then the instructor turned us loose on a simple header he'd made that let you move ASCII characters around the screen and asked us to make a simple game, such as a maze the user had to move through via the directional keys. It was amazing, because the next class students came in with some really awesome games using pretty complex stuff they'd looked up and taught themselves. By the end of the year long series of classes, freshman were making sprite based games on par with Super Mario Brothers 3 and other scrolling type games using PyGame.

    I also learned Direct3D and OpenGL and wrote a few simple games with them to learn how to work with a rather complex API. Then we picked up Ogre and a physics engine (I can't remember the name off the top of my head). My final project was a bowling game that head realistic physics, and you controlled the spin and movement of the ball via the mouse. I showed it to my current employeer (I started out as a co-op) during my interview, and it really set me apart. Granted my job requires very little programming, but it still really made me stand out when I was able to show them something flashy, rather than a program that did a lot in the background but not much in the userland end of things. Not that theres anything wrong with that, but people tend to like flashy cool looking things.

  • Not just games (Score:2, Insightful)

    by jnnnnn ( 1079877 ) on Wednesday November 25, 2009 @03:08AM (#30223434)

    It doesn't have to be a game. Any simulation is fun to create. Especially if it is interactive.

  • by syousef ( 465911 ) on Wednesday November 25, 2009 @03:15AM (#30223466) Journal

    I develop business software. Insurance and banking (mostly banking now), I'd love to develop games. What I don't want is 80-100 hour weeks as standard (pay for 30 hour weeks), competition with every upstart that thinks playing Quake for 20 hours straight makes them leet, companies that go bust and never pay you, a large percentage of projects cancelled, and fighting a perception that you're not doing anything serious with your life because all you do is play games. It just isn't for me.

    By all means add more gaming components to the CS courses. Game programming is difficult and challenging and is an excellent excercise. Game physics is unforgiving and requires a good grasp of science. The creative side requires people to develop some very subtle skills. However don't expect your students to all like it or to become game programmers. That'll certainly be one path, but its not for everyone. I'd rather see this as an elective that can be taken early rather than having it forced as some incorporated part of a CS1/2 course. Access to the tools and mentoring on the methods would be useful to those interested in the field.

  • by Beowulf_Boy ( 239340 ) on Wednesday November 25, 2009 @03:18AM (#30223472)

    I do think I should folow this up with a bit more of an explanation of my beliefs as far as where this is heading for universities.

    I cringe every time I see Devry's school of video game design add come on the TV. Its two college age guys sitting on a couch, playing a game. something is said like "oh, we need to tweak this a bit more here" and he does something with the controller, then they go back to playing the game.

    I was in a game design degree, and it was hilarious seeing the incoming freshman and their beliefs as to what the courses were going to be like. They were convinced they'd get to play games non-stop and not do any real world work. 90% of them game in with the idea they were going to be video game testers and make 100k a year sitting around playing World of Warcraft.

    To make it worse, the school got a big grant and spent it on Dell XPS's and a bunch of games for one of the labs. The idea was to get us together, form frienships, and have some fun in between doing homework. It failed miserably and pretty much gave students the idea they could sit around and play games during class. They tried locking the lab down, saying games were off-limits before some time like 8pm. Again, students threw a fit, convinced it was their right to use school property to sit around and play games.

    I think games are a great way to teach people how to program. It lets you have some fun while learning the concepts.
    But teaching it like a trade, and telling students "oh, you can graduate and go work for Sony or EA" is wrong. Market it as a CS curriculum, not as a video game programming trade curriculum.

  • by Surt ( 22457 ) on Wednesday November 25, 2009 @03:26AM (#30223496) Homepage Journal

    You can make better money in games than in insurance software, and yes, I've done both professionally. To make better money in games, though, you have to work for one of the big studios, or get really really lucky.

    So if you want your family to eat well, and never to have to see them, go work for a big game studio.

  • by Judinous ( 1093945 ) on Wednesday November 25, 2009 @03:34AM (#30223532)
    In my opinion, programmers are born, not taught. People who naturally break their decisions down into logic structures will immediately see the usefulness in programming and find it interesting from the start. People who don't think this way will never enjoy or become proficient at programming. Changing the way that you present the introductory material isn't likely to change this. Advertising an intro class on "video game programming" might cause your enrollment to swell, but I doubt it will noticeably affect the number of people who make it through the program. If a student doesn't already intuitively understand basic constructs such as if-else chains, loops, variables, etc. in their own decision-making process before they take the class, they aren't going to be able to suddenly start thinking that way once you give them a lecture on the subject.
  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Wednesday November 25, 2009 @03:49AM (#30223578)
    Comment removed based on user account deletion
  • by the_raptor ( 652941 ) on Wednesday November 25, 2009 @03:56AM (#30223606)

    Isn't the editorial a non sequitur? Using gaming based examples instead of Hello World or business based problems in a traditional CS course is not anything like a game design course. I have a problem with doing this though as while it may be good for the university it is bad for the students who get suckered into a career thinking they will be making games (or that working in the games industry is like making a game for an assignment). This is actually a problem infesting nearly all of modern teaching where "student involvement" is increased by making it fun at the expense of helping kids develop a work ethic*. Being able to work even while bored and disinterested with the task is a much higher predictor of future success than getting good grades because the topic was interesting.

    The problem with this is that real world work is often rarely fun unless you are lucky enough to be able to achieve a dream job. Most of us have jobs that while they may be fulfilling have substantial portions that are not fun, and indeed are often gruelling*. This kind of tactic seems like a bait and switch to me. If you don't enjoy the maths and problem solving involved in CS it is not the career for you, no matter what kind of shiny veneer they put on it.

    * There is a balance to be had. But I find that too often in early schooling the teachers are using this method instead of instilling in kids a desire to learn and to work hard for future reward.
    ** I enjoy playing games and analysing movies, but doing that as a job would not be the same as doing it for fun.

  • by TheThiefMaster ( 992038 ) on Wednesday November 25, 2009 @04:50AM (#30223824)

    From my experience, writing games is really quite tedious and not nearly as rewarding as solving programming puzzles and such.

    That's your opinion mate. I quite enjoy it, which is why I do it for a job. There is a lot of problem solving if you work on the right games.

  • by thenextstevejobs ( 1586847 ) on Wednesday November 25, 2009 @06:25AM (#30224334)

    I didn't realize we were all bored to tears with our CS courses.

    Personally, I went into the introductory programming course at my school (as a music major) expecting the worst. I was taking the course because it was required for some music technology-related courses I wanted to take later on. It was a very traditional class. By the second week, I had changed my major to computer science.

    You don't need to make math and science and technology "fun". That attitude is patronizing and obnoxious. If you have competent, passionate instructors then you can teach students.

    Making a game isn't necessarily more fun, accessible, interesting or inspiring than making something else. For example, In my second programming course, which was titled Data Structures and Algorithms, two of our major projects were making a text-based Arkanoid clone, and making a text-based spreadsheet application (all C++, by the way). One of the requirements for our spreadsheet was that it be able to save and load 200,000+ cells of data, in a hash table we implemented ourselves. It was much more impressive to me to create an application that could scale like this than the small, limiting world of the Arkanoid game.

    It's my fear that we would be dumbing down the discipline for the sake of accessibility. It's something that requires balance, and a good project and a good instructor are necessary. It should not necessarily be, nor not be a game. It should be appropriate to demonstrate the techniques and theory to build upon to foster an understanding of computing.

    I don't know what sort of mind it would take to not be awestruck by the power afforded to one by programming modern computers. It speaks for itself.

  • by TheKidWho ( 705796 ) on Wednesday November 25, 2009 @08:33AM (#30224856)

    Of course few of the senior staff have degrees, they most likely came into the industry 10-20 years ago when there weren't any courses related to game development.

  • by TheRaven64 ( 641858 ) on Wednesday November 25, 2009 @09:43AM (#30225224) Journal
    Any program that you write as an undergrad is going to be a toy. If it's a toy that you want to play with afterwards, then that's a better motivation.
  • by CptPicard ( 680154 ) on Wednesday November 25, 2009 @09:54AM (#30225318)

    What are they doing studying CS if they need to be persuaded that programming can be fun like they were a bunch of kids who need to eat their broccoli?

  • by TapeCutter ( 624760 ) * on Wednesday November 25, 2009 @10:17AM (#30225550) Journal
    Luckily I only encountered one totally inept lecturer during my degree, mostly they were intelligent and a few of them were even interesting. After I graduated I taught C at university for a few years and ended up friends with some of the interesting ones. In my lab 'code style' was worth 50% in every assignment much to the dismay of engineering students who invariably ignored my style sheet and wrote their entire assignment inside main(), the teachable portion of those students did not make the same mistake with their second assignment.

    You appear to have everything it takes to be "succesfull", which does not not necessarily mean wealthy. I have interviewed and hired quite a few programers in my time, out of a class of fifty CS students there would be maybe five I would consider hiring as junior programmers. They are easy to spot because they go the extra mile to teach themselves all the stuff that won't fit into the lectures. Intellectual curiosity is uncommon and can not be taught after puberty, you either have it by then or you don't, the best any degree can aim for is to teach the intellectually curious how to teach themselves.

    As for games, I was a 70's HS dropout, I got into computers almost 30yrs ago via a magazine article describing Conway's Game of Life, I was obsessed with it and went through reams of paper hand drawing the cells, the obsession drove me to buy a second hand AppleII and teach myself how to get it to play Conway's game. Arguments ensude with the wife about TV usage, in the late 80's I enrolled in uni not just because everyone told me there was money in programing but also because it gave me an excuse to lash out on a brand new ACER XT.

    Speaking of the game of life, if games are a waste of time then it follows that life is also a waste of time. That's a depressing worldview if you ask me.
  • Not the point (Score:3, Insightful)

    by T.E.D. ( 34228 ) on Wednesday November 25, 2009 @10:36AM (#30225734)

    Almost nobody taking the CS Assembly Language course ends up getting a job writing in assembly either. Almost nobody taking an Operating Systems course ends up getting a job writing their own kernel.

    CS is not a Vo-Tech program. The point is to understand how things are done, not nessecarily to train you to do that for a career.

  • by Monkeedude1212 ( 1560403 ) on Wednesday November 25, 2009 @11:26AM (#30226290) Journal

    ... but people tend to like flashy cool looking things.

    There is no greater truth when it comes to applying for a job. When I graduated from my Object Oriented Software Development courses, it was tough to stand out. Specifically, we had graduated just before the university & college students, so we got a head start on the job hunt, but basically the final exam was a weeklong project of building a Travel Agency website from scratch.

    Don't get me wrong, I bedazzled the pants off this project, being one of the programmers more familiar with Flash. But when you go to a job interview, and they want to see a piece of your work in action, and all you have is the same travel agency web site that other students are showing around - you don't shine as bright as you'd like.

    I kid you not, the day of an interview I had gone in and sat in the waiting room, and moments before I was to go in one of my classmates walked out. A little nerve racking, knowing that someone YOU KNOW is competing for the same job, but I knew I was a better programmer. Problem was - could I show it? Towards the end of the interview my interviewer said these words, "Your web site is fine and all, but I'm looking for something more. Something to show you're really into it."

    To which I curved a half smile and replied, "I've started work on a game, if you are interested to try it"

    He was.

    He liked.

    I got the job.

  • by donscarletti ( 569232 ) on Wednesday November 25, 2009 @11:35AM (#30226374)
    I program games. I just came back from the office from doing it 11 hours straight because of an upcoming milestone. I went onto MSN to complain about my life. My collage roommate asked me what I did today. I said that one of my tasks was modifying arrows to make them impale enemies "just right". Until his gleeful reaction, I had completely forgotten how lucky I was.
  • by Surt ( 22457 ) on Wednesday November 25, 2009 @12:18PM (#30226952) Homepage Journal

    11 hours? Lazy. When we were in crunch mode for Diablo II, 15 hours was a typical day, and much of the staff slept under their desks. It was not uncommon to see people get in 120 office hours in a week.

  • by CronoCloud ( 590650 ) <cronocloudauron.gmail@com> on Thursday November 26, 2009 @03:35AM (#30234610)

    Maybe it was time for Blizzard to, you know, actually hire some more people rather than work their staff to exhaustion. Maybe then they could do a sequel to a hit game in 1 or 2 years, like console developers do. Oh wait, Blizzard originally WAS a console developer

I've noticed several design suggestions in your code.

Working...