Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
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:
  • by smitty777 ( 1612557 ) on Wednesday November 25, 2009 @02:27AM (#30223278) Journal

    I think the lines between video games and reality are becoming more and more blurred. There are a lot of really interesting UI interactions I've seen a lot of "serious" apps riff from the gaming community with great success. It think it's important, as a lot of the younger folks these days are learning their computer chops from games, and the transfer of knowledge is pretty significant.

    During grad school, I worked in an HCI lab with a pal that used the Doom engine to do experiments on people's ability to wayfind in a virtual environment. I know it's not game development, but it made for a really interesting experiment. I'm assuming there were lots of hours spent "testing the environment" as well.

  • by Animats ( 122034 ) on Wednesday November 25, 2009 @02:59AM (#30223390) Homepage

    USC is trying. Here's their GamePipe curriculum. [usc.edu] It's education for entry-level programmers at EA.

    It's kind of like film school courses that prepare people to be production assistants, then assistant directors, which USC also offers. That's not a path to becoming a director. It's more like a career in field logistics.

  • by Inominate ( 412637 ) on Wednesday November 25, 2009 @03:09AM (#30223440)

    Game design oriented courses are a waste of time. It's an attempt to turn a difficult creative process into a trade school education.

    That said, appliying game principles to CS is completely the opposite. How better to learn about trig than working with 2d graphics/games? Or more advanced concepts like matrix math and quaternions? Instead of learning abstract math, students learn how this math is applicable to real world applications and how to make it do interesting things.

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

    Exactly. See my parent post about 3 above yours.

    I learned matrix math, working with vectors and 3d points and so on from using it to work in OpenGL, Direct3D and later Ogre. It wasn't something abstract, because I could make a change, and see the result on screen. This helped me to connect together what was going on and what the final output would be, and helped me to grasp a much better understanding of it.

  • Re:I program games. (Score:3, Interesting)

    by wisty ( 1335733 ) on Wednesday November 25, 2009 @03:52AM (#30223586)

    I think we were talking about computer science, not JavaSchool. Sure, there's lots of IUSD or CRUD work, but that's not a university education.

    2D / 3D algorithms, AI, DSLs, parsing, sorting and searching, network protocols, and so on. Those are all useful in games. They are also key concepts in a lot of computer science.

  • Re:Not This Again... (Score:5, Interesting)

    by quantaman ( 517394 ) on Wednesday November 25, 2009 @04:28AM (#30223712)

    I think the point isn't that the courses are teaching useless stuff, but rather they're teaching the things using examples that the students don't find relevant. A lot of CS assignments consist of fairly contrived tasks that test the immediate task and nothing else. They do the job but the student doesn't have a sense of accomplishment since their program hasn't really done anything useful, just completed a contrived task. Games on the other hand have the objective of fun, so the moment the user has written a game they've written a useful application. This gives them a much greater sense of accomplishment.

    Say you're teaching them how to use mathematical approximation algorithms to quickly compute line intersections.

    You could use a simple graphing package and have them use their algorithm to draw the two vectors and see how close they get.

    Or you could turn the vectors into arrows and have them try to shoot down another arrow in mid-flight.

    Which would you have more fun writing?

  • Don't be fooled (Score:3, Interesting)

    by badpazzword ( 991691 ) <<badpazzword> <at> <gmail.com>> on Wednesday November 25, 2009 @06:54AM (#30224480)
    Yes, in one course in the local IT Engineering degree, we were tasked to create a "game" over the course of a few weeks in Java. No, don't be fooled.

    We were told exactly what had to happen when why, we just had to make the Java classes and translate the directions into code. There was nothing about balancing, nothing about making the game actually fun, very little about user training (my nethack-like interface was accepted without any problem)... simply nothing about the actual "game" part.

    They just wanted us to make us interact a bunch of classes. The "game" part was just a cloak to make people go "wow" for those couple nanoseconds.
  • Re:I program games. (Score:2, Interesting)

    by xtracto ( 837672 ) on Wednesday November 25, 2009 @08:52AM (#30224944) Journal

    Yet most colleges don't even go over SQL and database. Which still has pleanty of computer science in the topic. DB call can be just as advanced a any other program. As well teach people to think in agragate. However most of the people I interview cannot do a join

    SQL + Normalization : Set theory + discrete maths.

  • by Anonymous Coward on Wednesday November 25, 2009 @09:27AM (#30225120)

    Ultimately it's not a big deal what kinds of CS assignments you throw out there in the introductory courses as long as the material is covered well. How intense of a game can you really develop using only the very basics? The key is that the assignments/examples convey the lesson well. If it's exclusively centered on games, then you're obviously doing your students a disservice. It's all about balance early on to help people figure out what they may want to explore within the wide range of possibilities for CS.

    Personally, I enjoyed any assignments that could (at least in some conceivable way) demonstrate a practical application rather than a contrived, useless academic problems. There is only 1 game assignment that I recall in my studies which came later on in Software Design. Definitely a good place for it there since there is plenty of room for creativity as you flesh out game mechanics.

  • by Anonymous Coward on Wednesday November 25, 2009 @09:46AM (#30225232)

    I'm a 3rd year undergrad at the University of Melbourne.

    As an undergrad who recently finished a course on object-oriented software development (in Java), I feel all these old windbags who take pleasure in deriding the notion of games in CS education need to grow up. The major project work all semester was focused on developing an RPG, starting from simple movement on screen (using an existing graphics library), followed by planning out how NPCs, items and the player would be programmed in UML, finally implementing it with abstract classes, inheritance and all that jazz (it felt like it was a very basic course). Many people found themselves comfortable with the problem at hand and got through it without too much trouble.

    The previous semester I took a subject called Algorithms and Data Structures. The main project in that subject was a non-robust implementation of Huffman compression in C. We were left to our own devices to write our own tree structures, priority structures and what not. Many of my peers crumbled at the thought of it (I absolutely loved the assignment, far more than the game).

    As an introduction to programming and computer science concepts, the game project was great. It was accessible and not intimidating. But that's exactly what it was, an introduction. If it gets students excited about programming and computer science, then mission accomplished. If I find myself writing another game in the coming semesters... then we might have a problem (unless I'm writing a graphics library in a computer graphics subject)

  • by Anonymous Coward on Wednesday November 25, 2009 @01:42PM (#30228022)

    I work for a major Computer Science textbook publisher. We recently published a book for CS1 courses that incorporates very simple games to teach students the fundamentals of programming using C++. There was huge amount of interest from the academic community.

    It is certainly a method of "advertising" the department, but there are 2 good reasons to advertise CS: 1) the obvious--enrollment is down and classes have a low retention rate, and 2) since computer science isn't taught in high school like math and music and other hard sciences, many freshmen and sophomores who are potentially excellent programmers don't consider Computer Science unless it is brought to their attention in some way.

    The ambition of the book is to draw in students and inspire them in the first course, giving them a sense of achievement and fun while also preparing them for the more difficult work ahead of them if they choose to continue in CS.

Life in the state of nature is solitary, poor, nasty, brutish, and short. - Thomas Hobbes, Leviathan