Slashdot Mirror


Computer Games and Traditional CS Courses

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?

173 comments

  1. None by KamuZ · · Score: 0, Offtopic

    My country is not into game development (Mexico). Lately there is a boom on games for mobiles but not huge.
    They actually offer in a university some courses to specialize in this but is a joke.

    My interest in video games came from playing them and being curious on how it worked.
    I still play video games but suddently i lost interest in creating any but i still code for a living.

    1. Re:None by AmberBlackCat · · Score: 1

      That post was not offtopic. The "summary" asked Slashdot users how they feel about game development in college courses. That post answered the question and offered a reason, supporting the answer.

  2. I program games. by clinko · · Score: 5, Informative

    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.

    1. Re:I program games. by j1m+5n0w · · Score: 1

      Well said.

    2. Re:I program games. by Surt · · Score: 2, Insightful

      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.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    3. Re:I program games. by Anonymous Coward · · Score: 0

      I work for a game studio, one of the big 3's own in fact. I also have a gaming degree.

      I've been working on database-backed tools for a few years now, but that aside, I, like the others around the studio, eat just fine.

      My degree's primary purpose, as far as I'm concerned, was to tick HR drone's boxes. It was also three of the most fun years of my life, and gave me plenty of time to do my own coding flights of fancy.

      The main problem in our case was that when you try to draw in new blood, you generally lower the lowest common denominator, which, if that's what's being catered to, just wastes the time of those who cared enough to already have an interest.

      Few of the senior staff have degrees.

    4. Re:I program games. by wisty · · Score: 2, Interesting

      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.

    5. Re:I program games. by TheThiefMaster · · Score: 3, Funny

      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.

    6. Re:I program games. by TheKidWho · · Score: 2, Insightful

      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.

    7. Re:I program games. by jellomizer · · Score: 1

      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

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    8. Re:I program games. by xtracto · · Score: 2, Interesting

      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.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    9. Re:I program games. by Anonymous Coward · · Score: 0

      It frightens me that someone as inarticulate as you is doing hiring for any company.

    10. Re:I program games. by TheRaven64 · · Score: 1

      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, but their playground is an object-oriented IDE.

      It doesn't teach them the theory, but it gives them the foundation to understand why the theory is useful.

      --
      I am TheRaven on Soylent News
    11. Re:I program games. by tixxit · · Score: 1

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

    12. Re:I program games. by tixxit · · Score: 1

      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?

    13. Re:I program games. by Cwix · · Score: 1

      Im in a 2 year program for network management, in a community college, in nebraska, and Im learning sql....

      --
      You are entitled to your own opinions, not your own facts.
    14. Re:I program games. by donscarletti · · Score: 2, 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.

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    15. Re:I program games. by BenoitRen · · Score: 1

      How did you learn to program games? I'm struggling to find non-introductory documentation on how to program them the object-oriented way. I use C++ with SDL.

    16. Re:I program games. by Abcd1234 · · Score: 1

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

    17. Re:I program games. by Avalain · · Score: 1

      I'm a CS university grad and even though I did a database course in school, the practical database knowledge I acquired in that course was almost non-existent. I only realized how little I actually knew when I looked back at how much I learned in my first 3 months of work.

    18. Re:I program games. by cetialphav · · Score: 1

      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 database so there is no reason to expect every graduate to know about them. They really aren't that hard to learn, either. Most of what I was taught in class I had already picked up on the job by reading documentation and playing with a real database application.

    19. Re:I program games. by Quirkz · · Score: 1

      My web-based game (hobby that pays for the servers, isn't my full job) *IS* heavily Insert/Update/Select/Deletes. The job that puts money on the table only occasionally lets me do a little scripting.

    20. Re:I program games. by Surt · · Score: 2, Insightful

      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.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    21. Re:I program games. by Surt · · Score: 1

      There's a ton of documentation around Microsofts xbox live arcade dev kit. There's no substantial difference between how those games are made and AAA titles are made beyond manpower.

      http://creators.xna.com/en-US/faq

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    22. Re:I program games. by CannonballHead · · Score: 0

      Yes. :)

    23. Re:I program games. by geminidomino · · Score: 1

      How did you learn to program games? I'm struggling to find non-introductory documentation on how to program them the object-oriented way. I use C++ with SDL.

      Step one: Use the right methodology for the job. Avoid Square pegs and/or round holes.

      This isn't meant in any way to say that OO isn't for games. I don't program games, so I don't know. (I would personally think they go together rather well, but that's a WAG), but rather, to learn to program games, and they do so in the OO way, as opposed to learn to program them the OO way.

      It seems like nitpicking, but in the evil real world of trading coding for food (through various layers of indirection), it can make a metric assload of difference.

    24. Re:I program games. by CastrTroy · · Score: 1

      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 that you use those skills in a variety of settings. 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.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    25. Re:I program games. by Anonymous Coward · · Score: 0

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

      That's a load of crud.

    26. Re:I program games. by Anonymous Coward · · Score: 0

      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.

      What, you mean like computer science? That's still the best degree to have IMHO.

    27. Re:I program games. by BenoitRen · · Score: 1

      XNA is not cross-platform, proprietary, and has high system requirements.

      I would say there is a substantial difference, as industry games are programmed in C++, which gets more power out of the machine than managed code.

    28. Re:I program games. by Rasperin · · Score: 1

      And what are you doing spending time reinventing the wheel? The library already does it more then well enough, if you spent rebuilding algorithms for everything because you can improve performance for this one application by 2% then you don't belong in the real world. You should join academia. Oh but they suck for putting food on the table? Too bad. Time is a very key asset in the real world and we have to cater to that.

      --
      WTF Slashdot, why do I have to login 50 times to post?
    29. Re:I program games. by Rasperin · · Score: 1

      You are focused on IS, but then again even at K(ansas)SU they did basic IS stuff not just covering the mathematical side of CS. Then again their are schools out there (I've heard of, not that I've validated, I do know for a fact 10 years ago KSU was that way) that really will not touch IS at all. So no, you don't get database insert, you get why a database insert works but not how.

      --
      WTF Slashdot, why do I have to login 50 times to post?
    30. Re:I program games. by mog007 · · Score: 1

      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.

    31. Re:I program games. by Rogerborg · · Score: 1

      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.

      --
      If you were blocking sigs, you wouldn't have to read this.
    32. Re:I program games. by Rogerborg · · Score: 1

      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.

      --
      If you were blocking sigs, you wouldn't have to read this.
    33. Re:I program games. by tepples · · Score: 1

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

    34. Re:I program games. by Blakey+Rat · · Score: 1

      Games use databases.

      Just sayin'.

    35. Re:I program games. by tixxit · · Score: 1

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

    36. Re:I program games. by Canazza · · Score: 1

      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 certain skills that transcend them. There are things you don't get taught in CS courses that you do get on CGT (like AI pathfinding, 3D mathematics and the likes) that don't carry over and are very specialised, but the chances you'll come out of university and straight into a job that requires you to do any of these things is highly unlikely even if it IS in the games industry, as you'll probably be working with an existing game engine. The best way to break into the games industry? Get yourself an engine, and make yourself a mod. Unreal Engine has just been released, Valves engines have been 'free' (so long as you buy a Half-life game) since day 0, then there's a plethora of open-source free engines, there's the web-based ones like Unity3D, Director (quite old, but it still has its uses sometimes) and Googles O3D plugin. Learn your filesystems, databases and GUI design formally, the principles of those rarely change. Programme for fun. It doesn't matter how good you are, or how well you were educated, someone who enjoys what they do will learn on the job and expand more than someone who does it solely for the cash. They also make the best games.

      --
      It pays to be obvious, especially if you have a reputation for being subtle.
    37. Re:I program games. by Surt · · Score: 1

      The average in game development is higher. It's not hard to look that up in a salary survey.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    38. Re:I program games. by Surt · · Score: 1

      On your first point I agree, though that's pretty much in line with the AAA industry: all proprietary, mostly console, high system requirements when on pc.

      C++ vs c# is a trivial amount of difference, mostly in the libraries. The syntax is similar enough it will take all of a day or two to make the transition. The real learning is all about how graphics and algorithms get done, and that's identical.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    39. Re:I program games. by CronoCloud · · Score: 1, Insightful

      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

    40. Re:I program games. by BenoitRen · · Score: 1

      C++ vs c# is a trivial amount of difference, mostly in the libraries. The syntax is similar enough it will take all of a day or two to make the transition.

      But one is a non-managed language, and the other is a managed language. That's a non-trivial difference.

    41. Re:I program games. by Rogerborg · · Score: 1

      And it's even easier to just say it's higher without providing a link to your alleged research.

      Your assertion, your burden of proof.

      --
      If you were blocking sigs, you wouldn't have to read this.
    42. Re:I program games. by Rogerborg · · Score: 1

      Mmm, if you like. I guess every ass on the totem pole needs to sit on someone's head.

      --
      If you were blocking sigs, you wouldn't have to read this.
    43. Re:I program games. by lallous · · Score: 1

      I'm interested in learning how databases are integrated into games like Warcraft 3 or any RTS game. Do they use some customized database language to save all the information?

    44. Re:I program games. by xtracto · · Score: 1

      You should join academia. Oh but they suck for putting food on the table? Too bad. Time is a very key asset in the real world and we have to cater to that.

      Funny, I am in academia right now and I am better than working as a software engineer (my major) in my home country.

      Because of academia I have traveled almost for free, I can go to work at whatever hour I want and I get paid for my ideas.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    45. Re:I program games. by Blakey+Rat · · Score: 1

      I dunno. I did game testing on Forza Motorsport 2, and they just used a bog-standard MS SQL install. But then again, it has hundreds of car models (over 250, I believe), all the variations of each model, and the detailed simulation data for each variation.

      A game like Warcraft 3 might not have a genuine relational database, it may be simple enough to not require one. My wager would be that they're either using a flat-file database of their own design, or a very light database engine like SQLite.

    46. Re:I program games. by non0score · · Score: 1

      Local RTS games like these never use databases. They all use things like arrays and...arrays. That's it.

      As for saving info after the game, such as stats, replay, and whatnot...those are just custom file formats.

    47. Re:I program games. by Cwix · · Score: 1

      Sounds pretty stupid, considering they taught us how they work too... Wheat else are you guys at 4 years paying for and not getting?

      --
      You are entitled to your own opinions, not your own facts.
    48. Re:I program games. by OrangeCatholic · · Score: 1

      >I can't imagine a 4 year degree program NOT having a database course.

      Dude.....

      Maybe things have changed in the past ten years. But 10-15 years ago, databases were UNHEARD OF in undergraduate academia.

      That's why my boss went out of his way to teach us, so we could work for him. We were all CSers.

    49. Re:I program games. by OrangeCatholic · · Score: 1

      True its easy to learn, but practical knowledge can be very powerful. The most extensive programming I did as an undergraduate was a chess program I wrote in a couple of days, in an obscure academic language.

      Fast forward to learning SQL, and it's like, wow, I have real skills that are marketable. When I got a job and onto a team with a weeks-long development cycle, I eventually realized I was good at it. Hard to tell as an undergrad with no code to write.

      CS was a great education, but it provided zero confidence in my abilities. And God will cry if you ever meet someone who knows what a CS education actually is (management of complex systems). Worthless degree if nobody knows what it stands for.

    50. Re:I program games. by tixxit · · Score: 1

      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 analysis, systems programming, web programming, etc.

    51. Re:I program games. by Surt · · Score: 1

      128k average for game developer:
      http://www.payscale.com/mypayscale.aspx?pid=206d010d-248c-470c-acc3-eaf4c851e03d

      114k average for general software developer with same years of experience:
      http://www.payscale.com/mypayscale.aspx?pid=21227c5a-f934-4e14-8e00-df80d9279d06

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    52. Re:I program games. by Surt · · Score: 1

      What difference does that make to the developer? At the level of developing a game, why should you care, other than performance, which is all tied up in the gpu anyway?

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    53. Re:I program games. by BenoitRen · · Score: 1

      At the level of developing a game, why should you care, other than performance, which is all tied up in the gpu anyway?

      I care about performance, which is not entirely tied up in the GPU. I care about memory use as well.

    54. Re:I program games. by Surt · · Score: 1

      I'll still claim that neither of those things is an issue where XNA development significant departs from AAA title development. Yes, one or two developers on the team are working on maxxing out cpu and memory efficiency, but for most of the team, they don't care, and in terms of learning about cpu/memory efficiency, you can learn the same techniques on XNA, it's just that your ultimate limitations are slightly lower.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    55. Re:I program games. by BenoitRen · · Score: 1

      I'll still claim that neither of those things is an issue where XNA development significant departs from AAA title development.

      Then you don't know how the industry works. There's a reason XNA is for indies.

      in terms of learning about cpu/memory efficiency, you can learn the same techniques on XNA, it's just that your ultimate limitations are slightly lower

      Managed languages are very restricted when it comes to this, especially memory, so it's mostly a waste of time.

    56. Re:I program games. by Surt · · Score: 1

      Well, based on that response I'm not convinced that you know how either managed languages or the games industry works. I've worked on a AAA multi-million unit selling title, and I've used XNA. The differences are small enough that as a learning platform, XNA is great.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    57. Re:I program games. by BenoitRen · · Score: 1

      I know how managed languages work, and I have a good idea of how the industry works. I didn't know that there were companies out there that used XNA, but I guess there are exceptions.

      Look, I know you can learn and make games with XNA. That's not the point. I'm not going to use it for the reasons I gave before. Too many details are hidden from me in managed languages, and I want to learn how games work at a low level, not a high level.

    58. Re:I program games. by Surt · · Score: 1

      Almost nothing of import is hidden from you though. Games aren't some magic low level project, they use algorithms like everything else in computer science. If you want to know how games work, you need to know how the graphics api works, and how you interact with that api to display animations, etc. A bones system in xna is no different from a bones system in c++. The directx api is the same whether you call it from java, c, c++ or c#. Frankly, if you really want to know how games work at a low level, you need to be writing assembly, not c++. And yes, many AAA titles do have one assembly guy who works on those optimizations. I did some of that myself. But it's not anything I would describe as the core of game development, and it's a development focus that is fading into the past.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    59. Re:I program games. by lallous · · Score: 1

      Thank you guys for shedding some light

  3. Video Games vs Reality by smitty777 · · Score: 4, Interesting

    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.

    --
    "Before God we are all equally wise - and equally foolish"
    Albert Einstein
    1. Re:Video Games vs Reality by Anonymous Coward · · Score: 0

      Hopefully you mean "ripped", not "riff"? AFAIK a riff is a repeated musical phrase, generally played on guitar.

    2. Re:Video Games vs Reality by smitty777 · · Score: 1

      Heh - that's funny. The musician in me bubbling up to the surface. I was trying to use the nicer term, as in "borrowing someone's riffs" or even a musical nod to someone, as opposed to just ripping them off outright.

      --
      "Before God we are all equally wise - and equally foolish"
      Albert Einstein
    3. Re:Video Games vs Reality by geminidomino · · Score: 1

      Kind of merged "Ripped" and "Lifted?" :)

  4. One step at a time by skander · · Score: 5, Insightful

    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.

    1. Re:One step at a time by Animats · · Score: 2, Interesting

      USC is trying. Here's their GamePipe curriculum. 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.

    2. Re:One step at a time by muecksteiner · · Score: 5, Insightful

      Yep, it's all about advertisement. With that one word you've hit the nail on the head. Utility to the students... comes somewhere way down on the list of desirable properties of these courses. In a lot of cases, the main reason is so that the one graphics lecturer who is into gaming himself gets some visibility. Remember, the fight for resources at a university is usually beyond feral - and visibility, and the number of students, go a long way in securing them. What you later do with these students, or how good their career prospects are... well, that is very seldom evaluated. To a disturbing degree, working academia is very often about appearances, and little else.

      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.

      Now this is not to say that a) one cannot have a well-paying career in game development, or that b) game programming is technically uninteresting. Nothing could be further from the truth (especially point b). But there is such a thing as catering for the needs of an industry - and then there is also mindless overproduction of graduates with questionable qualifications, just in order to please those academics who have "gaming" on their resumes. And I know of at least on example who actually does "gaming" precisely because it is such a good way of getting students into his working group. And not because he is all that interested in the area as such.

      Just look, for instance, at the academic job listings on jobs.ac.uk in the past 24 months. There are lots of small universities starting to offer "game development courses", and are recruiting lecturers for this. In my opinion, there are simply not enough jobs in this line of work to actually offer such a large number of graduates of such a specialised course any sort of perspective, once they graduate. And besides - what do these courses usually teach? And who gets recruited by these smaller universities? Former top-notch developers who can really communicate useful stuff to the students? Or rather guys who did not make the cut at a major studio, and are fed up with freelancing?

      At the last Eurographics Symposium on Rendering (one of the smaller, but quite high-quality geek-outs for the rendering community), there was a panel discussion which included a somewhat senior person from the gaming industry. His assessment of the relevance of current real time graphics research was pretty short: guys, it's nice what you are doing at the universities, but most of this is almost totally useless for us in the real world, who have to meet deadlines, and make code work on normal systems.

      But what is taught in those "gaming courses"? Usually precisely the stuff the main lecturer gets off on, and that he wrote papers about (and that the guy from the gaming studio described as nice but useless). This is natural, of course, everyone does that thing of teaching about one's research achievements (myself included, in my area), but... if there is one area in Computer Graphics that should be taught by people with industry experience, it is gaming. And this is practically never the case.

      Just my 0.2E-32$

      A.

    3. Re:One step at a time by selven · · Score: 1

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

    4. Re:One step at a time by elvesrus · · Score: 2, Informative

      Some schools even go as far as doing nothing but teaching a curriculum around making video games. https://www.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.

    5. Re:One step at a time by vrmlguy · · Score: 1

      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 projects. Sometimes I assist in various GPL projects to add features I want, but most of the time I'm writing games, most of which will probably never be seen by anyone but me. It gives me a fun way to practice the technical skills I use at work: requirements gathering, specification writing, unit testing. Yeah, it's informal and I cut corners a lot, but more than once I've had a project tossed on my plate that required skills I'd been honing at home in my free time. (This is very likely why my job pays well and seems immune to being outsourced overseas.)

      So, how do you feel about youth sports leagues? Are there far too many people who are already into sports, so kids should stop playing? As I see it, you'll probably never play in the big leagues (or even on a high school team) but you learn habits that will be useful for a lifetime.

      --
      Nothing for 6-digit uids?
    6. Re:One step at a time by vrmlguy · · Score: 1

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

      --
      Nothing for 6-digit uids?
    7. Re:One step at a time by tixxit · · Score: 1

      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?

    8. Re:One step at a time by Reverend528 · · Score: 1

      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.

    9. Re:One step at a time by Anonymous Coward · · Score: 0

      I, for one reason, want to finally see a Grue

    10. Re:One step at a time by vlm · · Score: 1

      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.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    11. Re:One step at a time by darkvizier · · Score: 1

      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.

    12. Re:One step at a time by MobyDisk · · Score: 1

      So don't knock games as a teaching tool when used correctly.

      Games are a truly awesome teaching tool. I've taught students through games before, and it is very helpful. On one end of the spectrum are the students who can't make sense of a for loop. But give them a graphics library and to move a character across the screen and they suddenly "get it." It gives them a clear, simple, interesting, physical analogy for what a loop does. Arrays are another one that works this way.

      Students need to be interested and motivated. Games are definitely very difficult to code, but they are fun and interesting. And that brings me to the other end of the spectrum: teaching algorithms. Teaching a student the A* algorithm by starting with heuristics, math, and global -vs- local optimization is not the way to start. Instead, give them a game engine, and tell them to make the AI find their way to the enemy base. Throw in some nice explosions too. :-) They start to see how mathematics, algorithms, and fun interact. Chess wouldn't be fun if it was easy. And Grand Theft Auto wouldn't be fun if the AI players couldn't navigate the map. When they see that, they are often motivated to find a better algorithm, and to understand those mathematical concepts. A few of them even find the discipline that they need to make a career out of it.

      I would never have done computer science had I not started with games. The only thing that got me through Linear Algebra, Trig, and Calculus was by finding cases where a video game needed to use them. When I took trig I did fun spirographs. Linear Algebra showed me 2D and 3D rotations, collision detections. Calculus showed me smooth path finding and camera motion.

      Also - Robots are a good teaching tool as well.

    13. Re:One step at a time by muecksteiner · · Score: 1

      Personally, I think youth sports leagues are a very good thing to have. Same as your hobby of coding games - like I said, and even though this is not my own line of work, I think that gaming technology is seriously interesting, and keeping up with this field is a really intriguing challenge.

      Any my objections are also not against having "game design", or rather, "game tech" courses at universities in principle. Given the complexity of some of the bread-and-butter gaming technologies out there, one does need quite some background to actually work on a real game engine these days. The question is rather - do we actually need as many game *programmers* as are currently being trained by this mushrooming industry, and do these games courses do a good job of training them?

      Consider that even within a games company, not all that many people will end up actually working on the engine. The majority of day to day game dev work is arguably content creation, something which creative colleges are actually better at training people for. And which actually requires a somewhat different skillset than being able to code. So the actual number of *programming* jobs in the game sector tends to be overrated to begin with.

      And then there is my main objection - that universities very often do a lousy job of preparing people for development work in a revenue-earning company. In a place like that, the last thing you want are hackers fresh from uni with an affliction of "shiny kit syndrome", who try to cram every technology they can think of into an engine. If you plan on not going bankrupt in the near timeframe, comparative simplicity and reliability win hands down over having the latest SIGGRAPH paper integrated in your engine.

      There is no sugar-coating this: for the purposes of such a specialised course, the only sort of person who can both instill a healthy dose of needed realism in young programmers, and at the same time show them at least some relevant tricks that actually work, and make sense in a real environment, are people who have done this in practice. Themselves. Hands on.

      But these guys are expensive to hire. So who you get taught by are, more often than not, the existing staff members of a college. Usually, these are of course your average academic, who are very good at writing up their stuff to appear at SIGGRAPH. But perhaps not quite as good at writing code that is not of throw-away quality.

      To add insult to injury, the sort of graphics researcher who is capable of producing SIGGRAPH papers is usually not the one who "gets creative", and starts a game developer program to increase his visibility within the faculty. By and large, these guys don't need to do that stuff, so it is more often than not the B-list of graphics research that ends up doing this sort of thing. With all attendant consequences for the quality of the course.

      A.

      P.S. And in case you want to flame me for being too critical of game dev courses... do consider that I am trying to get my point across, and intentionally use a broad brush for this. There are very nice game dev programs out there, which deliver value to the students who take them. It is unfortunately a non-trivial task to separate the wheat from the chaff in this area.

    14. Re:One step at a time by Anonymous Coward · · Score: 0

      Who said anything about coding Grand Theft Auto? Creating a simple text-based RPG is entirely possible in CS1 and can be incredibly educational. As a final project in my high school AP CS class we had to write a simple console game. It was tons of fun and I learned a lot more designing the game than I did by coding anything else in the class. I had to use "strict logic" to express an incredibly abstract idea, too. And besides, young people don't worry themselves with banking or insurance software, they're playing WoW and XBox.

    15. Re:One step at a time by Anonymous Coward · · Score: 0

      I recently started teaching a graduate diploma in games development, having spent 10 years in industry successfully programming games and was somewhat an expert in the graphics field. The idea that only folks who cannot make the cut at major studios move into teaching is insulting, although I've met a number of educators who are self proclaimed experts in gaming who have never worked on a commercial game and never completed any other one to a hight standard and it is distressing.

      However, I'm glad to say the place I'm at has very strong industry experience now. Those I work with transitioned careers for social, lifestyle and family reasons, not due to indifference, lack of ability or anything else. I suspect that I'll go back to the front line myself someday, once my family has grown a little :-)

      I work here with other successful, passionate ex game developers across both code and art disciplines and the main focus of the course is preparing folks for industry. The first half of the course is theory heavy and intense (students that excel often pull 60 hours a week), then we get into 'production' focusing on time management, cross discipline team work and communication whilst building games as part of teams. Right now I'm just getting the facilities set up for a proper hardware compatibility lab to ensure the games are reliable across different configurations.

      For me, it's a challenging, interesting and rewarding in so many ways I didn't expect, a real joy. I'm also a better programmer, am acquiring many invaluable soft skills and understand better team and interpersonal dynamics through observing the students.

      In all, if as a developer you are starting to feel burned out, jaded, or simply want to move to some new challenges and a different lifestyle then I recommend it. Even if, after a couple of years you want to move back into industry you will have learned so much and will be able to offer more to potential employers that I'm sure you will be an easy sell.

    16. Re:One step at a time by muecksteiner · · Score: 1

      O.k., I understand that the wording in the parent post could be seen as being somewhat insulting to persons like you - I'm sorry for that. But what I meant was that far too few people like you make the transition. And that those who end up teaching in such courses are very often people who, just like you say, never left academia in the first place. Which makes very little sense.

      Also, I am speaking from an European perspective. We do not have that much of a gaming industry by comparison (there is of course one, but it is no where near as large as in the U.S.), and there is a considerable salary difference between industry and academia. Which is why it is, sadly, generally quite hard to get well-performing, experienced developers and development team leaders back for a stint in academia. Instead, enter some self-promoting faculty member who proposes a buzzword-laden course about gaming to the university board, and off you go...

    17. Re:One step at a time by vrmlguy · · Score: 1

      There is no sugar-coating this: for the purposes of such a specialised course, the only sort of person who can both instill a healthy dose of needed realism in young programmers, and at the same time show them at least some relevant tricks that actually work, and make sense in a real environment, are people who have done this in practice. Themselves. Hands on.

      But these guys are expensive to hire. So who you get taught by are, more often than not, the existing staff members of a college. Usually, these are of course your average academic, who are very good at writing up their stuff to appear at SIGGRAPH. But perhaps not quite as good at writing code that is not of throw-away quality.

      Have you read Outliers yet? Apparently, the New York City public school system was the best in the world immediately following the Great Depression. This was because the best of the best in science and industry all lost their jobs and got work as teachers instead. Also, the birthrate fell, so the few kids growing up afterwards had very small classes. I mention this because the current recession is also throwing lots of talented people out of work (even in the video game industry), so the next generation may turn out as fortunate as those born in the '20s and 30s.

      --
      Nothing for 6-digit uids?
  5. game programming the means not the end by j1m+5n0w · · Score: 4, Insightful

    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.

    1. Re:game programming the means not the end by Merc248 · · Score: 1

      Fun because they think they can make video games, or fun for the sheer enjoyment of solving problems?

      I think teachers/curriculum developers/etc. seemingly misunderstanding this distinction is what worries me the most about integrating the latest entertainment fad into academic disciplines. I remember taking a Cisco CCNA class in high school, and there were vignettes of classes here and there which were supposed to teach us about business; it was quite fun being in those classes back then, but not because I actually enjoyed business.

      --
      "Hegelians, who love a synthesis, will probably conclude that he wears a wig." - Bertrand Russell
    2. Re:game programming the means not the end by UncleOwl · · Score: 1

      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.

      I agree. For a couple of years, I have used The Battle for Wesnoth as a practical example of open-source development. Its markup language falls somewhere between HTML and real programming and thus has been working very well for students with non-technical background who typically run very far when programming is mentioned. The students form teams and create a mini-campaign, using version management, wikis and other typical tools (I've used Trac for that).

      Also, it is similar in web development in the sense that it promotes/needs three separate skillsets - visual (the result should be aesthetically pleasing), technical (the result should work and follow standards) and verbal/creative (the result should tell something and do it in a correct manner). Thus, it can be used to teach various skills, stressing one or the other as needed.

    3. Re:game programming the means not the end by nedlohs · · Score: 1

      fun because writing a simplistic game, for most people, is more enjoyable than writing a simplistic "convert change to best currency units" program.

      Of course if the students then spend all their effort on moving a pixel here to make the game look nicer you've lost. Then again I remember crazy first year students spending silly amounts of efforts in prettying up their text output on non-game programming work...

    4. Re:game programming the means not the end by icebraining · · Score: 1

      Well, I know I spend my time after having finished the program refactoring it. Unfortunately, it's hard when you're supposed to use "base code" given by the teachers, and that code is something I would be ashamed to show.

      And it's also discouraging when I get the same grade as my peers, who deliver a program that does the same, but with a single class of 1000+ lines, and few methods. I would think that code cleanliness would be appreciated in a CS course, but apparently not.

    5. Re:game programming the means not the end by daid303 · · Score: 1

      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 things that are needed to pass inspection.
      However, give them a assignment of writing a 'massive multiplayer pacman' (still needs frontend/backend and many more things) and all of a sudden side projects pop up, some will try to make bots (hello basic AI), others will try to find ways to cheat (AKA security) and they will be much more engaged in the project.

      (I'm a self thought programmer that learned OOP trough Unreal modding, C/C++ because someone showed me libsdl and OpenGL. Yes, I do have a degree in CS, but anything thought there has been far less useful then my own experiences)

    6. Re:game programming the means not the end by TheRaven64 · · Score: 3, Insightful

      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.

      --
      I am TheRaven on Soylent News
    7. Re:game programming the means not the end by nedlohs · · Score: 1

      You wouldn't get the same grade if it was my class (back when I taught one...). Half the marks were machine marking of the output - which you would get the same mark for. But the other half were style (and did he cheat the machine marker somehow checking) and a functions which are too long are going to do poorly in the hand marking.

      But the prettying up the output I mean is spending hours creating a header on the output using ascii art, that needs to be changed everytime they change some other part of the output to make it look "right". As I mentioned the output is machine marked, so no one even looks at the prettyness of the header (which they are told not to do anyway in case they confuse the machine marker).

    8. Re:game programming the means not the end by CptPicard · · Score: 2, Insightful

      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?

      --
      I want to play Free Market with a drowning Libertarian.
    9. Re:game programming the means not the end by TapeCutter · · Score: 2, Insightful

      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.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    10. Re:game programming the means not the end by Anonymous Coward · · Score: 0

      FTFA:
      It is important to recognize that in the CS education arena the term "computer game" is often used to refer to the attempts at, and the results of, effective and meaningful integration of animated graphical visualization and various degrees of interactivity. Because of the unknown entertainment value, strictly speaking, much of these are interesting and innovative teaching materials and are not computer games in a commercial sense.

      This is exactly what I had thought when I read the summary. The most gratifying and enjoyable part of programming, especially early on, is some visual feedback of success. Interactivity, even more so. Providing graphics and interactivity to depict and display the results of the programming task makes the application feel "cooler" and yet fundamentally they are still solving the same problems as before.

    11. Re:game programming the means not the end by Quirkz · · Score: 1
      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 given to me.

  6. Game dev class got me a job! by GrandPoohBear · · Score: 1

    I got a job programming console video games after interviewing with my class project from a video game programming class, so it works! My company just hired another student out of the same class. Pretty good evidence I think! Of course, in the course of my job, I use very little that I learned from that class, and SO much more of the solid programming and logic that I learned in the first year courses... On another note, I assisted a second year class that encouraged students to make games in Java Swing. Some made some very cool little things, but for the majority of students it was a Swing and a miss...

  7. Game programming made me leave! by Hobadee · · Score: 1

    When I was in college, I was going to be a CS major, but I *HATE* programming front-ends. Being forced to make a game my first semester made me quit CS. Game programming should be a sub category of CS, rather than a requirement.

    Long live the CLI!

    --
    ...Had this been an actual emergency, we would have fled in terror, and you would not have been informed.
    1. Re:Game programming made me leave! by vrai · · Score: 1
      It's been a few years since I did my CS degree; but shouldn't the first year or so be taken up with the fundamentals of Computer Science: algorithms and many exciting forms of mathematics? The remaining years are then filled with yet more maths, along with specialist applications (compiler design/optimisation, hardware, operating system design, etc) and the occasional bit of coding.

      Having a "Games Programming" section of the syllabus seems strange on its own, putting it in the first half of the first years is insane. How did they introduce it? "This is an opportunity for you to put in to practice all of the theory we haven't taught you yet".

    2. Re:Game programming made me leave! by TheKidWho · · Score: 1

      You sound like the guy who quit CS because Calculus was too hard.

  8. Not This Again... by Comatose51 · · Score: 5, Insightful

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

    --
    EvilCON - Made Famous by /.
    1. Re:Not This Again... by quantaman · · Score: 4, Interesting

      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?

      --
      I stole this Sig
    2. Re:Not This Again... by benhattman · · Score: 1

      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.

    3. Re:Not This Again... by quantaman · · Score: 1

      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 because it was a game, but moreso because they knew its purpose.

      Also note that even with a full course load your big constraint isn't time, it's willpower. Even if a particular assignment is more absolute work, if it's also more fun to work on chances are that you'll be able to complete before the slightly simpler but boring assignment because you want to work on it.

      --
      I stole this Sig
    4. Re:Not This Again... by Blakey+Rat · · Score: 1

      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.

  9. Games and augmented reality... by blahplusplus · · Score: 2, Insightful

    ... 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/
    http://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.

  10. An example or two.. by Beowulf_Boy · · Score: 4, Insightful

    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.

    1. Re:An example or two.. by Beowulf_Boy · · Score: 2, Insightful

      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.

    2. Re:An example or two.. by Monkeedude1212 · · Score: 3, Insightful

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

    3. Re:An example or two.. by darkvizier · · Score: 1

      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 and trust your own vision then other things will fall into place. Life should be an adventure, not a mindless drudgery for another man's dream. How you experience that has less to do with your environment, and more to do with your perspective.

    4. Re:An example or two.. by Anonymous Coward · · Score: 0

      Did you by chance attend the OOSD program at SAIT?

  11. Not that fun to write by mpim · · Score: 1

    I've written a few flash games and am currently a CS major. From my experience, writing games is really quite tedious and not nearly as rewarding as solving programming puzzles and such. Games that introductory-level students are capable of writing are generally rather boring and not as useful/practical about as sorting algorithms, data structures, etc...

    Furthermore, having a class focused on gaming will probably attract more gaming-type people instead of problem-solving type people. The latter generally make better programmers.

    1. Re:Not that fun to write by TheThiefMaster · · Score: 2, Insightful

      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.

    2. Re:Not that fun to write by geminidomino · · Score: 1

      I've written a few flash games and am currently a CS major. From my experience, writing games is really quite tedious and not nearly as rewarding as solving programming puzzles and such. Games that introductory-level students are capable of writing are generally rather boring and not as useful/practical about as sorting algorithms, data structures, etc...

      Funny you should mention that...

      After spending far too many hours fighting with the Remove() method of an AVL tree class(still without success, dammit!), I'm pretty sure I'd give my left arm for a nice, boring assignment. :P

      I'm getting too old for this shit...

    3. Re:Not that fun to write by lallous · · Score: 1

      I agree. I started flash programming 2 months ago and tbh it is extremely fun. Coming up with ideas and trying to implement the logic is something I have great passion in doing.

  12. Not just games by jnnnnn · · Score: 2, Insightful

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

  13. Game design is worthless. by Inominate · · Score: 3, Interesting

    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.

    1. Re:Game design is worthless. by Beowulf_Boy · · Score: 2, Interesting

      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.

    2. Re:Game design is worthless. by Interoperable · · Score: 1

      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 included, and I don't think that a trades course has less value than a full CS university degree complete with abstract math. Just be sure to know which your prospective employees have.

      --
      So if this is the future...where's my jet pack?
    3. Re:Game design is worthless. by TheRaven64 · · Score: 1

      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 computer would come up with a random number and tell you if you were too high or too low. Then the computer would try to guess the number you were thinking of (where, aged 7, I worked out the idea of a binary search, and then had logarithms explained to me when I tried to work out how you could find the number of guesses required). I then wrote some graphical games, mostly on my Psion Series 3. When you're using an interpreted language on something with a 2MHz 8-bit CPU (the BBC) or a 3.84MHz 16-bit CPU (the Psion), you really start to think about algorithms; no amount of microoptimisation can make up for poor algorithmic choices.

      I also started writing a lot of programs that weren't games, generally things to automate things that I found tedious. Programming these days is a life skill in the same way that reading was a hundred years ago. It should be taught in schools to everyone, not to a few people in university, and games are a good way of doing it. These days, we've moved on from BASIC (thankfully), and I'd recommend Squeak eToys as the best introduction to programming. It's a fully object oriented environment and teaches good programming practices from the start (unlike BBC BASIC, which supports them but encourages unstructured programming).

      --
      I am TheRaven on Soylent News
    4. Re:Game design is worthless. by mkawick · · Score: 1

      Game design and the creative process in general are trainable processes much like music, painting, dance sculpture, etc. There is creativity in all of these, but mostly it's about technical prowess.

      Also, remember this? 1% inspiration and 99% perspiration.

      I am working on an MMO and we have roughly 20 game designers now with plans to double that count. They write scripts, design the levels, gossip and NPC chat, GUI, user interaction, grouping, and all of the myriad of in-game features like trading, trade skills, and repairing weapons.

      This is a highly technical field and only little bit creative.

      There is also a small bit of management.

  14. Game development is a hard life by syousef · · Score: 4, Insightful

    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.

    --
    These posts express my own personal views, not those of my employer
    1. Re:Game development is a hard life by mkawick · · Score: 1

      It's not that hard. I've been in games for 15 years and some companies do have death-march schedules from time-to-time, but in general, that is extremely rare. Working less than a 50 hour workweek is also kinda rare. About 40% of projects I have worked on have been canceled. The perception that I never do anything serious with my life is met on the battlefield against the perception that making games rocks, and you can can guess who remains the victor in that contest year after year.

      Your assessment that game companies don't last too long is correct: about five years on average and very few companies for whom I have worked still exist today. When in between game gigs, I have worked in business software, networking, embedded software, and even defense.

      Still, in games, the money is above average, the challenges are far more interesting than you get working in business software, and the core competencies are very similar to RTOS development. Also, many things required in games like hard-core optimization, low-level design, memory management, and so on are mainstay of games which the business world never needs... I love that stuff. Plus, I get paid to do graphics one day, tools in C# another, writing scripting languages another (integrating Lua usually), and implementing a new chat window on another. It is always very interesting.

    2. Re:Game development is a hard life by reallyjoel · · Score: 1

      Wanna work for us..?

    3. Re:Game development is a hard life by Anonymous Coward · · Score: 0

      I work 40-50 hours a week, my company has survived the recession and I love my job making games.
      I have a CS degree and took whatever courses would give me the skill set I needed: OpenGL, C++, etc.
      I learn a ton of new stuff on the job all the time
      The trade off? I don't make triple A titles and I don't get the huge salary that goes with it.
      I can live with that if it means programming games for a living :)

  15. Obligatory comic link by Jacques+Chester · · Score: 2, Informative
    --

    Classical Liberalism: All your base are belong to you.

  16. Making games isn't a bad way to learn. by I!heartU · · Score: 1

    [rambling] For one thing making a game is way more involved then making a website. There are lots of opportunities to work with algorithms (AI being a big one). Usually games don't have much of a framework to work with, as compared to say business apps. So you're left to devising your own systems for data and organization, which I feel is good for learning. The frameworks that are out there will give you nice easy hardware access; which is more gentle then it used to be. As someone mentioned above, making UIs can be a killer, its freaking tedious and in the real world usually you have a designer for this. Although some people have this skill some what naturally, usually programmers end up making the most simple ugly UI possible that is functional, but not obvious to anyone but them. [/rambling]

  17. I'm skeptical about these results by Judinous · · Score: 3, Insightful

    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.

  18. Games as examples in CS != Game Design degree by the_raptor · · Score: 4, Insightful

    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.

    --

    ========
    CINC, 4th Penguin Legion
    1. Re:Games as examples in CS != Game Design degree by Overunderrated · · Score: 1

      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.

      I'm sorry I'm out of mod points. I see these same things all the time in a different academic field.

    2. Re:Games as examples in CS != Game Design degree by whiplashx · · Score: 1

      During my internship, I worked on a University research project in games and ended up building the material for the first "games" themed CS course at the U of A. I finished my CS degree next year and now I'm a game programmer at Bioware.

      I disagree with your comment that the course will sucker students. If the course is sufficiently difficult (as other CS courses are) it will weed out the disinterested. I know a couple of students who weren't great at Math but because excellent at it once they understood it in the context of a physics engine.

      Personally, my feedback would be: Games related courses would be incredible useful, but profs are not incredibly good at creating them. Games programming is about hacking solutions, designing for fun rather than correctness, and project management for short deadlines. CS profs aren't known for any of those things.

  19. Accessibility by bazald · · Score: 1

    I think you're misunderstanding the OP. You find these things relevant to your current work. The OP is discussing the possibility that video games are a reasonable way to make computer science immediately relevant to first year students. Most real world applications would be unfamiliar to them. They couldn't be expected to be familiar with anything you've listed when they begin their degree (though some of them may be).

    --
    Insert self-referential sig here.
  20. From the instructor's point of view by bradley13 · · Score: 1

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

    --
    Enjoy life! This is not a dress rehearsal.
  21. Listen... by Anonymous Coward · · Score: 0

    If you suck at Counter-Strike, taking some course is not going to help you - one time a noob, always a noob. 'nuff said.

  22. Games Design can be fun! by Anonymous Coward · · Score: 0

    A few years back, after finishing school, I entered University doing Computing Science at a fairly reputable British University. I have and had a strong interest in computing, from software development to computer system and more IT-related information management - everything the course covered, I thought that it would be amazing.

    Of course, It wasnt. Either the university was appauling or the course just didn't interest me as much as I thought it was going to. I was ready to quit less than half way through my first year, but I pressed on. After seeing strong exam results from the end of first year, and a prospectus for second that looked more interesting, I thought it would be stupid to leave. A year later, I regretted that. It was even worse, and by the second semester I just wasn't turning up, making token efforts to travel and not attending any lectures or classes.

    I left in the summer, and entered into another nearby University's Game Design course. Why? simply because I hated CS, and had no idea what else to do. I did it as a temporary measure, getting into second eyar and spending a few years whilst thinking about what I really want to do. I don't regret it, for the past two years I've really enjoyed this course. It may not be as useful to me CS may be in life, but I'm thankful I left the first course. That would have been one degree I would be setting on fire in fear of ever using it.

    So, overall, don't ever do Computing Science at Glasgow University.

  23. This makes perfect sense! by vampire_baozi · · Score: 1

    Computer gaming is already heavily integrated into CS1.5 and 1.6 courses! I fully support expanding professional training to all versions of CS, as to reduce the number of noobs populating the servers.

    The downside is, naturally, that the courses focus *too* heavily on games, and thus while it builds incredible enthusiasm for CS, tends to bring about overall slippage of GPA, and a waning interest in actual coursework.

    1. Re:This makes perfect sense! by Anonymous Coward · · Score: 0

      CS 1.5 and 1.6? Pssh.... we'e moved past those days. Now we work with CS: Source!

  24. Studio attitudes will change. by EWAdams · · Score: 1

    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 degree, it means they will have made their mistakes in school, not on the job. That is what schools are FOR: to train people before they get to the job.

    Finally, HR departments have to filter the foot-high stack of resumes they get SOMEhow. They're going to start by throwing out any resume that doesn't have a game degree. This will be sad, as it will eliminate a lot of good people, but it is inevitable.

    --
    I piss off bigots.
    1. Re:Studio attitudes will change. by Overunderrated · · Score: 1

      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 degree, it means they will have made their mistakes in school, not on the job. That is what schools are FOR: to train people before they get to the job.

      I completely disagree. It's the job of a university to educate. It's industry's job to train.

    2. Re:Studio attitudes will change. by dcw3 · · Score: 1

      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 you have no clue. I've hired plenty of new grads, and they're great, but always need additional training, and experience. School is about getting the basics, becoming a well rounded adult, and maturing.

      --
      Just another day in Paradise
    3. Re:Studio attitudes will change. by arethuza · · Score: 1

      Yeah, I strongly agree. When I graduated with a CS degree (a 1st) 20+ years ago I was told that no matter how bright I thought I was I would, in reality, be a liability to my employer for the first six months or so until I got some sound commercial experience. Employers expected to have to train graduates as to the realities of the job - which they are far better at doing than any university. And yes, I did have a steep learning curve in my first few months at work - but they allowed for that and I was far better at my job because of it.

    4. Re:Studio attitudes will change. by Anonymous Coward · · Score: 0

      When did Universities become Trade Schools?

  25. CS and games by Zarnick · · Score: 1

    My CS course did feature games, tough in a very beginning of this in my country (Brazil), so I took it almost in the end of the course, to be perfectly honest, if I would base the course I had on Game Programming to know if I would make this for a living or not, I would say it was a major deception. All that we had was more game theory than actuall programming, actually we had almost no programming, some scripts in some forgoten language that I can't even remember (think of something in the ideia of Klick And Play), it was good to know what are some of the steps involved in making a game (strangely enough, after 2 years I ended up programming some 2 or 3 small games as a profession), but for a CS course I found it very, very disapointing. Later I found out that the final paper on the introduction to programming subject (where they teach C) was to actually make a text-based PacMan, and some other classic games (like Space Invaders for instance), this I think it makes way more sense then to start already with Game Theory if the ideia is actually to hold the student in the CS course, the University usually had a drop of around 50% in the first year, tough this is not official and based solely on my observations, I would say that after this the drop went to 25%, so it's definatly worth it.

  26. Solving a non-existent problem and my experience by thenextstevejobs · · Score: 4, Insightful

    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.

    --
    Long live the BSD license
  27. Don't be fooled by badpazzword · · Score: 2, Interesting

    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.

    --
    When ideas fail, words become very handy.
  28. Today... by Lord_Jeremy · · Score: 1

    Heh. When I read the title, I immediately thought of how my CS teacher takes certain days off from the curriculum to have 24-player games of BZFlag across the school network. There are games going on today, in fact, due to it being thanksgiving.

    In any case, the CS classes in my school focus entirely on Java in the context of preparing for the AP. After the AP they do a tiny bit of basic graphics work. However for my independent study I'm writing a 2D RTS in Java.

    I think video game design is a good way to teach important programming concepts and keep kids interested. For instance, my own forays into game design have taught me a lot about inheritance. I even wrote a heap sort algorithm the other day. I could definitely see the GridWorld (real-world coding example) portion of the AP taken from a game's perspective. You have a bunch of objects moving around on a 2D field and interacting with each other...

  29. Gamemaker by CalcuttaWala · · Score: 1

    I use Gamemaker to introduce students to the OO concepts. Some people may find this ridiculous but I have found it to be quite effective.

    --
    Insight into much, Influence over nothing !
  30. Non-issue as long as not too intense of a focus by Anonymous Coward · · Score: 1, Interesting

    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.

  31. Taking a Game Class by AP31R0N · · Score: 1

    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 artist and a 3-D modeler and i will give you an awesome game. i've got the story, the game play, the look and feel and all that other stuff. But i guess everyone else does too.

    --
    Utilizing the synergization of benchmark e-solutions to pre-workaround action items!
  32. As an undergrad who recently finished a course... by Anonymous Coward · · Score: 1, Interesting

    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)

  33. CS/Game Development by runexe · · Score: 1

    I know some other schools have started similar programs - but I thought I'd point out that WPI started a new program specifically for game development/design/art/etc.: Interactive Media & Game Development. They've also recently redesigned their undergrad CS curriculum - although I think that was mainly to be more accessible to non-majors (e.g. ECE's, etc. - WPI being a primarily engineering school).

  34. You're clearly an expert. by Auroch · · Score: 1

    You want me to take advice from someone who thought Music was a good choice for post-secondary education?

    At least in the programming world, you have a chance at making some money even if you're not famous or exceptionally skilled. It is no wonder you switched ... the big question is "Why did you have to? Was your original program choice that bad?"

    Which brings me to my original point. How much could you really 'know' if you thought music was a viable option?

    --
    Quartz Extreme and Core Image. Are there any other real reasons to spend all that money on generic hardware?
    1. Re:You're clearly an expert. by Anonymous Coward · · Score: 0

      Right, because the OP wanting to take music technology courses means he was necessarily a music major. And of course he wasn't making any points about the industry, only interest in the material. But you skipped over the points just to bash him for maybe having considered a music major.

    2. Re:You're clearly an expert. by thenextstevejobs · · Score: 1

      Well, my priority was never to make money. In fact, that's been one of my least favorite parts of this discipline--the number of folks who are involved not because of passion for computing, but for monetary reasons. That said, I'm certainly not upset that I have done well financially with this decision. It's great that in very short order I was able to make far more than my parents, and have been able to give back to my family. But in my family, our primary goal is happiness, and they would have been just as proud of me regardless of my salary. I work in computer security.

      I have always had a technical bent but I thought that programming would be boring and monotonous. I feared sitting at a computer screen, wasting away for the rest of my existence. It seemed a miserable and dystopian world from the outside.

      What I discovered (without being interested in game examples, though I have been playing video games all my life), is that while I may be sitting at a computer screen, programming is very exciting, stimulating, challenging, even thrilling! The possibilities and accessibility of computing blew me away, and I knew that I could apply it to any field I wanted. I was hooked.

      One thing I can say about the quality of the two programs: engineering is far more demanding. This may be obvious to a lot of folks, but this is another aspect of it that drew me in. I understand that this aspect may turn some off, though, and that we could benefit from teaching more people about our art without wrecking them the way that the engineering program at my school does. For full disclosure, I ended up with degrees in both Linguistics and Computer Science. The computer science and engineering courses were an order of magnitude more difficult than the linguistics or the music courses I took beforehand. And not simply because the material is more difficult to master, but the amount of work assigned, expectations of the students, etc, was much greater. As I said, I thrived on this, but many did not, and I know personally of programmers lost because the pressure was too great.

      --
      Long live the BSD license
    3. Re:You're clearly an expert. by Anonymous Coward · · Score: 0

      heh. I believe he said he was doing a music MAJOR and taking a CS course as an elective. Perhaps you skipped a few points just to bash me for being a realist.

    4. Re:You're clearly an expert. by Anonymous Coward · · Score: 0

      You want me to take advice from someone who thought Music was a good choice for post-secondary education?

      Shawn Hargreaves, the guy behind Microsoft XNA and formerly the Allegro games library, was a music major, specialising in Javanese classical music. He has not had difficulty getting good computing jobs.

  35. Not the point by T.E.D. · · Score: 2, Insightful

    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.

  36. My AP Java Class by Anonymous Coward · · Score: 0

    My teacher had us work with this program called Scratch at the end of the course between the time we took the AP test and when school let out, we all made relatively simple online games that can now be accessed on the Scratch website. They essentially turned out like a game you'd see on addictinggames.com, mine involved using a H&K G3 if I remember correctly to shoot all of the red, white and blue donkeys that would appear on the screen in various environments. It was relatively simple, but it had stuff like recoil and was actually really fun to make. Integrating this into a CS course really helped the other students and I get interested in the subject, I think this is a great idea. We didn't actually have to write the code, it was more of a drag-and-drop GUI with if-else blocks and loops with math in them but I think it taught us some of the core basics.

  37. It's Not About the Games! by The+Infamous+TommyD · · Score: 1

    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 to see a lab where students use the wii remote in a foam football to measure the distance it fell in real time in an 8+ meter drop.

    This draws on their physics, math, and learning how to structure solutions to a problem nicely.

  38. CS1 Textbook using Games in C++ by Anonymous Coward · · Score: 1, Interesting

    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.

  39. Intro to Programming by bussdriver · · Score: 1

    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 topics. (It was not an AP class; AP tests are crap; coincidentally, I don't think they could have passed the AP test. I left out terminology for basic concepts and PROCESS. The PROCESS is everything: you don't program, you test & debug.)

    When I was a child, I was one of the few lucky ones who had LOGO integrated into school. It wasn't exactly game making-- however, it was a kind of creation game along the lines of the SIM games but far more abstract and open. We also hooked legos to the computer. In public school; in the 80s! I STILL recommend MINDSTORMS and the CHILDREN's MACHINE by Papert - the books behind the method.

    PLAYING, exploring, and fostering curiosity are the largest benefits not marketing by exploiting a current fad/trend/celebrity trying to be hip.

  40. Patronizing fail. by EWAdams · · Score: 1

    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 they get on the job, but be serious -- would you really hire a 17-year-old self-taught coder with no experience but what he got in his mother's basement over a 22-year-old university-educated one? Why should anybody do so for a game designer?

    Outsourcing has zero to do with it. The game service companies in India have university-educated programmers -- good ones -- on staff.

    --
    I piss off bigots.
    1. Re:Patronizing fail. by Anonymous Coward · · Score: 0

      What does India have to do to it? EA "outsources" to China AFAIK, or has that changed with this years cull of westerners?

  41. SQL or NOSQL by tepples · · Score: 1

    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.

    1. Re:SQL or NOSQL by tixxit · · Score: 1

      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 (often times optional) that skims over the other paradigms. Calling relational databases a fad is like calling object oriented programming a fad. Yeah, both are clearly not suited to all situations, but they handle the majority of the jobs damn well.

    2. Re:SQL or NOSQL by tepples · · Score: 1

      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.

  42. XNA has deficiencies by tepples · · Score: 1

    XNA doesn't have any way to synthesize audio in real time; all audio must be played from XACT sound banks, which correspond to archives of wav files or MP3 files. Nor does XNA allow on-screen text in any language for which the system menu hasn't been localized; that would have meant no Quenya or Sindarin if Tolkien were alive today and making XNA games.

  43. Text adventure output is 1D by tepples · · Score: 1

    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.

  44. CS Courses by nuclearpidgeon · · Score: 1
    All this talk about CS courses scared me... you almost convinced me there was an actual course in Counter-Strike.

    Maybe I should go outside now.

  45. You cant base a whole industry ... by jotaeleemeese · · Score: 1

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

    --
    IANAL but write like a drunk one.
  46. Jury is out... by twoHats · · Score: 1

    As one who teaches in a University system where the "feed" for the department i teach in contains a game development program, i have to say that i have seen a downturn in student quality since the game program began.

    I think the reason for this is that something called "Game Development" or "Game Programming" attracts different students than something called "Computer Programming", or "Software Development". I found that students at risk would spend a lot of time in the game lab, instead of working on C++, which they were struggling with.

    Anyway - I hope whoever adopts a game development program thinks about all of the ramifications, and does some intense screening of potential students.

  47. Don't Bother by Anonymous Coward · · Score: 0

    Not only do I develop games and have done so for the past decade, I am responsible for he hiring all programmers in our studio. TBH the quality of "game graduates" is so poor that we use game degrees as a criteria for filtering out the chaff at the CV stage ... i.e. if you have a game degree on you CV then we are NOT interested, try McDonalds instead. I much prefer traditional CS grads or better yet, those from "hard sciences" such as maths or physics who have done some programming. This is simply based on experience, I have done a lot of interviews and made several hiring mistakes.

    We do work closely with some Universities, in fact I am on a steering panel for one course that reviews and recommends curriculum. Part of the problem is what material is taught and how and there are various initiatives to try and address that such as skillset.org. However, a big part of the problem is dumbing down the subject, making it more accessible has attracted less able students. This works well for universities who use a bums on seats business model, it is easy to slap "games" in front of a failing CS course to pick up numbers ... less useful for industry though.

    If you want a job in the games industry, my advice is do a proper degree and learn the games part on the side ;)

    Gw