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:
  • I program games. (Score:5, Informative)

    by clinko ( 232501 ) on Wednesday November 25, 2009 @01:24AM (#30223270) Journal

    I program games. I'm coding right now in fact.

    In less than 6 hours, I will be going to the office to program insurance software.

    If you want to program games, do it for fun.

    If you want to eat, bone up on your Insert/Update/Select/Deletes.

    • Well said.
    • Re: (Score:3, Insightful)

      by Surt ( 22457 )

      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.

      • 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.

        You also have to be damn good so you can climb the ladder. As a peon, you'll get worked until you burn out and then spat out the other side, with nothing to show for it in the end.

        Thanks, but no thanks. I prefer to avoid the sweatshops...

      • You can make better money in games than in insurance software

        Counterpoint: you can make better money in insurance software than in games, and yes, I've done both professionally.

        I do agree with your (implicit) point that whether you value $$$ over time is largely dependent on how hot and horny your wife is.

    • Re: (Score:3, Interesting)

      by wisty ( 1335733 )

      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.

      • 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

        • Re: (Score:2, Interesting)

          by xtracto ( 837672 )

          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 tixxit ( 1107127 )
          I guess I'll trust you, since you say you interview a lot of people. I can't imagine a 4 year degree program NOT having a database course. Is there a CS grad out there without a copy of Date's Intro to Database Systems book?
          • In a 4 year program, there is only room for a few senior level computer science electives. Almost all programs will offer a Database course but it usually will not be required. As an undergrad, I took OS, Computer Graphics, Programming Languages, and Distributed Computing as my electives. I don't see where a Database course would have necessarily been a better choice than any of these (and I have since taken a grad-level Database class). There are many jobs out there that require very little use of a da

            • by tixxit ( 1107127 )
              Well, in my case, the database course (on relational DB theory) was a 3rd semester (2nd year) course, so it did not conflict with any senior level course. There was another senior level DB course for those that were interested, but I did not take it. The focus of the course was really about understanding the basic theory, which lets you then make efficient queries and maintainable DBs. That said, there are many jobs out there that don't require functional programming, any sort of algorithm design or analysi
          • But is one course really enough. I know I had 1 course in university on SQL and databases, but if that was all the experience I had with databases I would have been missing out on a lot. I would like to see a course on databases in the first year, or possibly first semester of second year, and then have other courses incorporate that knowledge of databases into their assignments. That way you get a good base to start off with early on, and then you get continued improvement in other courses by requiring
            • Working with databases at some point in your career is almost certain. I don't think a single course is all the database exposure one should be given.

              Hierarchical, network, relational, object-oriented, or object-relational? A database architecture that's the fad now might be passe' later, especially with the recent meme of Not Only Structured Query Language [slashdot.org].

              • by tixxit ( 1107127 )
                Well, relational has been king of the hill for decades. Hierarchical and Object DBs still only fill niche markets (Object DBs have been around for over 20 years). Let's apply your statement to programming languages...
                Functional, logical, OO? A language paradigm that's the fad now might be passe' later.
                Hardly a fad, all of those (just like the DB types you mentioned) are still in use, though OO is clearly the king. Not surprisingly, most schools focus imperative, OO programming and offer a course or 2 (
                • by tepples ( 727027 )

                  Functional, logical, OO? A language paradigm that's the fad now might be passe' later.

                  And just like nonrelational databases are making a comeback with the rise of storage as a service, functional programming is likely to make a comeback as CPUs gain more cores. The bias against mutation in a functional language and the map-filter-reduce paradigm allow things to be parallelized more easily than the strategy of worrying about which thread holds the lock on a given object.

          • by mog007 ( 677810 )

            My university offers an elective database course, but it's not required to graduate if you're a CS major. We're also one of a handful of universities in my state which has its CS course certified by ABET.

          • Sure. I did a bona fide computer science degree though, designed to become more valuable throughout my career, not a code monkey training course to help fake my way into a first job. There's not many of these course left now, unfortunately.
            • by tixxit ( 1107127 )
              ^ So did I... In fact, I'm in grad school for computer science (computational geometry). You know a database course (and Date's book) is not actually learning SQL right? I think SQL was the last 2 weeks, all the rest was relational database theory.
      • Exactly. The Viewpoints Research Institute did some introduction to programming things using Squeak eToys (Smalltalk development with a nice UI). After an afternoon, most of the children (ages 7-14) were better programmers than most of the undergrads that I've come across with a year of Java. They understood the concepts, but not necessarily the names for them. One of the first things the children were taught to do was create an algorithm for navigating a car around a track. They're basically playing,

      • by tixxit ( 1107127 )
        Yep. My school's AI course was all done in the context of game programming and was fantastic. It is nice being able to immediately see your code in action (literally). You also get a good lesson in practical space vs. time vs. developer time trade-offs. That said, I think your main point is that you don't go to school to learn how to program "insurance software," you are there to learn about the theory that let's you program anything. If a prof can do that within the context of video games, then that's awes
        • I used game programming (tetris spin offs) in my 1st C programming class; students were more motivated and while they did not cover as much material as a traditional college programming course using C - they were extremely well prepped for the college courses after left high school. In fact, I think they understood the basics better than many CS grads I see today (who can graduate without having used a 2D array or pointers.) I had them come back and say that it helped them more than AP classes in other top

    • by TheThiefMaster ( 992038 ) on Wednesday November 25, 2009 @03:38AM (#30223758)

      On the other hand, when I'm at home I code Inserts/Updates/Selects/Deletes, and in an hour I'll be going to the office to program a game.
      Seriously.

      Ok, ok, the SQL is part of a web-based game I rarely work on in my free time, I normally spend my free time playing games, but it's still funny how opposed it is to what you said.

    • Re: (Score:3, Insightful)

      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.
      • Re: (Score:3, Insightful)

        by Surt ( 22457 )

        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.

        • Re: (Score:2, Insightful)

          by CronoCloud ( 590650 )

          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

    • by tepples ( 727027 )

      If you want to program games, do it for fun.

      Console makers like Nintendo and Sony tend to frown on "doing it for fun". Either you code for fun for a Microsoft platform (DirectX or SDL+OpenGL games for PCs running Windows), or you code for fun for a Microsoft platform (XNA games for Xbox 360).

    • Games use databases.

      Just sayin'.

    • Actually, I do a little bit of both at work. I make eLearning software (You know, Games that aren't actually fun) but alot I learned on my Computer Games Course is useful for both. So long as you get a little bit of interface design thrown in with your OMG GAMES! education you're sorted. I may not be working with the same tools I learned to use in uni (or even the same programming language) or indeed the languages or tools I started working with way back when I started coding in my spare time, there are ce
  • by smitty777 ( 1612557 ) on Wednesday November 25, 2009 @01: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.

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

    by skander ( 43037 ) on Wednesday November 25, 2009 @01: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.

    • Re: (Score:3, Interesting)

      by Animats ( 122034 )

      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.

      • Re: (Score:2, Informative)

        by elvesrus ( 71218 )

        Some schools even go as far as doing nothing but teaching a curriculum around making video games. https://www.digipen.edu/ [digipen.edu]

        It shares a campus with nintendo, so it may be a bit biased there, but their students tend to get nominated for IGF awards each year.

    • Comment removed (Score:5, Insightful)

      by account_deleted ( 4530225 ) on Wednesday November 25, 2009 @02:49AM (#30223578)
      Comment removed based on user account deletion
      • by vrmlguy ( 120854 )

        I work as an academic in Computer Graphics, so I sort of know what I'm talking about here... and frankly, there are too many people in this area already who "are into" game developing. Far too many.

        Personally, I'm "into" game developing. I've written a number of games, one of which even won an (admittedly minor) award. How much money have I earned from this? Zip. It's a hobby. In my day job, I do nothing but Perl and Korn shell scripting, validating command line or CGI inputs and gluing together programs that other people wrote. It pays well and it seems immune to being outsourced overseas, so I'm happy. On my home PC, however, I have a few IDEs installed which I use for various personal projec

      • As I was graduating DeVry they had just started a Graphics and Simulation Programming degree, or something like that. One of the professors I talked to about it was of the opinion that its purpose was to trick students into actually doing something useful e.g. running simulations for Sandia Labs. I think that if a game programming degree does its job in teaching computer science concepts those graduates will have no problems branching out to whatever flavor of programming they want.
    • by selven ( 1556643 )

      Why do games have to be 3D? I've programmed fairly complex 2D games just fine.

      • by vrmlguy ( 120854 )

        Why do games have to be 2D? I've programmed fairly complex text adventures just fine.

        • by vlm ( 69642 )

          Why do games have to be 2D? I've programmed fairly complex text adventures just fine.

          Unless you squirt out your text in morse code, you'll be using a 2D display, at least.

          A morse code text adventure would be a pretty interesting artifact, especially if it was not PC hosted, but plugged into a telegraph key.

          • Why do games have to be 2D? I've programmed fairly complex text adventures just fine.

            Unless you squirt out your text in morse code, you'll be using a 2D display, at least.

            Unless you count NetHack as a text adventure, a text adventure's output is a 1D stream of code points that gets translated into a 2D character array by the display system. From the point of view of the game, it's 1D.

    • by tixxit ( 1107127 )
      I think it is more about getting students interested, then making top-level game programmers. That said, you'd be surprised what a group of motivated undergrads can do in a semester. Did you know Valve's Portal started out as the thesis project from a team of undergrads?
    • I've found puzzles and word games to be a good way to learn useful data structures and algorithms. There's not a lot of complex UI stuff required for games like boggle or scrabble. Implementing a crossword puzzle generator can also be a fun and challenging.

  • by j1m+5n0w ( 749199 ) on Wednesday November 25, 2009 @01: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.

    • by daid303 ( 843777 )

      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.

      Indeed, the goal should be to get the students to be interested in going beyond the assignment. Many programming skills needed later on are only thought by experience, students need to build up that experience. They need to sit down and program stuff, theory helps, but it's useless without the experience required to apply it.

      If you give an assignment where students need to build a tool that keeps track of shop orders, with a frontend, backend and everything that comes with it. Then they will make just the t

    • Re: (Score:3, Insightful)

      by CptPicard ( 680154 )

      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 Quirkz ( 1206400 )
        I dunno. You have to program *something*. Given the choice between, say, programming a calculator and a calendar, or programming a game, I think the game is intrinsically more fun to think about.

        I've had occasions where my work on my game translated in large part to a non-game concept (marketplace code for the game became the framework for a classroom reservation system at a university). The marketplace was more fun to code, but it still gave me a HUGE boost when I had the classroom reservation project g

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

    by Comatose51 ( 687974 ) on Wednesday November 25, 2009 @02: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.

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

      by quantaman ( 517394 ) on Wednesday November 25, 2009 @03: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?

      • 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?

        The first. I don't know about you, but I never took one class at a time in college. If the professor had the option of assigning two different assignments, which both taught exactly the same subject matter, but the "fun" option was going to add 3x the time commitment, I would take the quicker and equally educational assignment almost every time. Besides, even if I had the academic time for the longer assignment, it was usually more valuable to socialize than make a computer arrow shoot another computer a

        • 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?

          The first. I don't know about you, but I never took one class at a time in college. If the professor had the option of assigning two different assignments, which both taught exactly the same subject matter, but the "fun" option was going to add 3x the time commitment, I would take the quicker and equally educational assignment almost every time. Besides, even if I had the academic time for the longer assignment, it was usually more valuable to socialize than make a computer arrow shoot another computer arrow just because.

          That said, the correct assignment in such cases is usually to assign the first, and tack on some trivial bonus credit for the second. That's usually just enough motivation that the people who think the additional task looks fun, that they'll do it and thoroughly enjoy themselves, while those with different priorities don't have much reason to waste their time with it.

          Well my concept wasn't that you have to write the code to draw a line or an arrow, just that you're calling libraries with a different function.

          A better example is I'm TAing a 1st year perl course, one of the recent assignments was a battleship game. It was probably one of the tougher assignments, not because it was a game, just because it was tougher. But the students actually did better than average on it. I suspect that one of the big reasons is that they found it a lot more fun to work on, partially bec

      • They also generally don't teach:

        1) Development methodologies
        2) Source control
        3) Working in teams
        4) Interfacing with non-programmers

        There are lots of skills required for software development that 4-year programs don't even start covering.

  • by blahplusplus ( 757119 ) on Wednesday November 25, 2009 @02: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 @02: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.

    • Re: (Score:3, Insightful)

      by Beowulf_Boy ( 239340 )

      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

      • Hah! I just posted about DeVry's video game design degree. I'm not surprised that it blew up in their face, but it's still hilarious. The students that come in thinking they'll get to play games all day kinda deserve what they get, but on the other side it's not right for the university to lead them on. Welcome to the real world, where money moves to the greatest source of greed.

        In my experience no institution can teach you the most important things you need to know. If you explore what interests you
    • by Monkeedude1212 ( 1560403 ) on Wednesday November 25, 2009 @10: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.

  • Not just games (Score:2, Insightful)

    by jnnnnn ( 1079877 )

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

  • by Inominate ( 412637 ) on Wednesday November 25, 2009 @02: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.

    • Re: (Score:3, Interesting)

      by Beowulf_Boy ( 239340 )

      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.

    • It's an attempt to turn a difficult creative process into a trade school education.

      There is a need and a place for CS trade schools to train coders. These are the poor saps that get shit hours and work conditions at EA but there is a need for those talents. Houses need to be built by framers just as much they need to be designed by architects (or architectural technologists as the case is for most cookie-cutter houses). The developer market has grown a need for skilled trades people (coders) and trades courses have developed to train them. I have a lot of respect for the trades, coding in

    • I learned to program, aged 7, because of games. We had one class a week that covered programming on the BBC micro (one for the entire class) in BBC BASIC and Logo, but we could use the computers at lunch time or after school if we wanted to. I got the basics of flow control and 2D drawing from the class and then taught myself until I arrived at university for a CompSci degree (I then stayed to do a PhD). The first games that I wrote were things like 'guess the number I'm thinking of,' first where the com

    • ... in mouth to mouth knowledge.

      The cavalier attitude to professionalism by people already in the games industry is truly appalling, but some peoplein the industry are coming to the realization that such stupid stance to depend on cowboyism for talent should be supplanted by preparing people specifically to develop games.

  • by syousef ( 465911 ) on Wednesday November 25, 2009 @02: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 Jacques Chester ( 151652 ) on Wednesday November 25, 2009 @02:31AM (#30223520)
    Rite of Passage [abstrusegoose.com]
  • by Judinous ( 1093945 ) on Wednesday November 25, 2009 @02: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.
  • by the_raptor ( 652941 ) on Wednesday November 25, 2009 @02: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.

  • I often use games in courses. As another commenter said: the idea is not to teach people to program game, but rather to allow a bit of fun while doing homework. I would not suggest that one of my students tell an employer: "I wrote this great multiplayer game", but rather "I implemented an interactive network application". Both are true. Some students dislike games, or perhaps find them somehow undignified. Hence, I usually offer a choice, with the other option being something "serious".
  • Right now studios don't care much about game degrees, for two reasons. First, there are a lot of bad game degrees out there. In time, the good ones will push out the bad. Second, studios are full of old-timers who went to school before there were any game degrees, so they don't see the need. When they die off, that attitude will die with them.

    At the moment, young employees are learning on the job. That's inefficient and dangerous -- it means they make their mistakes on the job. If they came in with a game d

    • by dcw3 ( 649211 )

      Right now studios don't care much about game degrees...

      ...because they can outsource to cheap third world sweatshop programmers that you simply can not compete with. Have you actually looked at any available gaming positions? Go to EA's job site now, and you can see that while many positions mention a degree, it's not a requirement.

      You're deluding yourself if you believe that any major gaming company's HR will require a gaming degree. And as for people making all their mistakes in school before getting a job, well, as a software manager I can guarantee that

      • I've been in the game industry for 20 years, 8 of them at Electronic Arts, so I know what I'm talking about. In time, game company HR departments will start looking for game degrees. In 1960, software companies didn't look for CS degrees, but in 1990, they did. It's a fact.

        In the 1960s people had the same cavalier attitude about film schools when they were first getting set up. Today serious directors are expected to have been to one. Too much money is at stake.

        I didn't say people don't still learn when the

  • by thenextstevejobs ( 1586847 ) on Wednesday November 25, 2009 @05: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.

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

    by badpazzword ( 991691 ) <badpazzword@nospam.gmail.com> on Wednesday November 25, 2009 @05: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.
  • i'm taking a game programming class at GWU. It's meant to be for non-programmers but i (a non-programmer) am struggling with XNA. In Game Maker i can DO stuff. i can even be creative in it. With XNA, i'm looking at gibberish. i have no idea what e does, or what args are. But i do know that the jump icon makes the lil guy move.

    Programming for me is much like trying to demolish a brick wall with my head. i could do it, but the time and pain involved just isn't worth it.

    Give me a programmer, a graphic ar

  • Not the point (Score:3, Insightful)

    by T.E.D. ( 34228 ) on Wednesday November 25, 2009 @09: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.

  • If done right, the game or whatever just serves as an engagement and recruiting tool. The important bit is then using the platform to introduce problem solving and programming learning opportunities and then relating that back to the non-gaming IT world.

    In my case, I teach the first course in Computer Engineering, and I use the Wii Controller as the data source. Check out http://www.youtube.com/watch?v=tPCBfyQP4eE [youtube.com] to see a lab where students use the wii remote in a foam football to measure the distance it

Genius is ten percent inspiration and fifty percent capital gains.

Working...