• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Wannabe game developer - is concurrent programming a worthwhile subject to take?

Status
Not open for further replies.

gofreak

GAF's Bob Woodward
I know some people here (like Panajev, perhaps) are quite imtimately aware of the general architectures of next generation systems, so their input on this would be very much appreciated. I'm going into my final year of my computing degree, and am currently trying to choose subjects to take. I'll be graduating, and hopefully entering the games industry, just before the next generation of systems hit, so I'd like to maximise the relevance of my choices to the upcoming systems and the general direction hardware is taking going forward. One of the subjects looks interesting given the supposed architecture of systems like PS3 etc: Concurrent programming. Here's the syllabus for the course - does it sound like it's relevant to parallelism within a closed system like a console, or has it more to do with parallelism between different systems? Are the basic principles the same? In short, does this course sound like it's worth taking with game development in mind going forward?

Indicative Syllabus
· Architectural classification schemes.
· Parallel Speed-up.
· Threads.
· Critical sections and mutual exclusion.
· Semaphores.

· Monitors.

· Message Passing, Synchronous and Asynchronous, Types of message passing processes:
· Filters, Clients, Servers and Peers.
· Transactions.
· RPC.

· Rendezvous.

· Languages for concurrent programming:SR, Occam, Ada and Linda.
· Load Balancing and Resource Allocation.
· Fault tolerance.
· Parallel Complexity Theory.

...? Any comments are very welcome!
 

gofreak

GAF's Bob Woodward
We choose four subjects. I've chosen 3 that I know I'll like, and that are of high relevance to my intended career. Beyond those 3, I'm not sure what the fourth choice should be..the rest of the options I'm fairly neutral on, but I have to choose one of them. So I'm asking about this, with an eye on a game development career.
 

fart

Savant
this looks like a more academic/research oriented course than would be directly useful for game programming. of course, knowledge never hurts, and architectures are-a-changing, so that's why i said what i said. i don't think you're going to ever be forced to become an expert in parallel computation to program bubble bobble ps3 though.

honestly, if i wanted to program games i would drop out of school immediately and start hacking on hardware 24/7
 

gofreak

GAF's Bob Woodward
Thanks, but I'm not dropping out of school with one year to go ;) I need the security of a degree too (well, whatever security such a degree gives me nowadays :p).

I've been programming as a hobby forever now, and done a lot of game-related stuff in my own time. The degree has honed a lot of that, particularly in terms of good practice, and given me a new perspective on a lot of stuff.

But anyway, I won't turn this into a "school vs teach-yourself" debate..
 

fart

Savant
the only real comment i have on this course is that it looks wayyy too broad to cover in a term, and a lot of the topics are remarkably NONspecific for an undergrad course (fault tolerance? hello?). i would be worried that the professor is trying to bite off more than he can chew.

concurrency and parallel arch is really big here, and the faculty that deal with it could easily overschedule a single term for some of those topics. other than that just do whatever you want dude.
 

gofreak

GAF's Bob Woodward
Thanks, I'll keep that in mind. I can imagine him glossing over some of this stuff, since most of the class should have done some of these things in courses last year. But he might well be a little too ambitious ;)
 

gofreak

GAF's Bob Woodward
The others, asides from the 3 i've already picked, are:

Compiler Construction
Operations Research (a businessy subject)
Database 1:Relational Theory & Multidatabase (highly theoretical..have been warded off it by friends who did it last year)
Multimedia Information Retrieval
Cryptography (I'm sure this'll be very interesting..it was the most interesting part of my networks course last year)
Speech Processing 1 (could be interesting, and games relevant going forward)

Concurrent programming leads on to another course, Distributed programming, in the second semester. Some of the other courses mentioned above have follow-on courses.
 

sefskillz

shitting in the alley outside your window
The best classes I took in my undergrad career were Compiler and Neural Nets, everything else felt like a waste of my time. Maybe my school's undergrad program sucks, I dunno.

Personally, out of those, I'd go with the concurrent programming. We did some really neat projects in that class.
 

fart

Savant
compilers is important if you go to a more traditional grad school. otherwise skip it. (on second thought it can be very useful if you want to implement say an event scripting engine for a game design, and it's a great project class: very foundational)

databases suck

multimedia????? i still don't get this one, honestly.

crypto is a ton of fun, but any decent course will be highly mathematical (+ or - depending on your interests)

speech processing sounds like it could be cool.

are you familiar with the professors that will be teaching at all?
 

SteveMeister

Hang out with Steve.
gofreak said:
The others, asides from the 3 i've already picked, are:

Compiler Construction
Operations Research (a businessy subject)
Database 1:Relational Theory & Multidatabase (highly theoretical..have been warded off it by friends who did it last year)
Multimedia Information Retrieval
Cryptography (I'm sure this'll be very interesting..it was the most interesting part of my networks course last year)
Speech Processing 1 (could be interesting, and games relevant going forward)

Concurrent programming leads on to another course, Distributed programming, in the second semester. Some of the other courses mentioned above have follow-on courses.

That all sounds really worthwhile. Go for it :)
 

gofreak

GAF's Bob Woodward
SteveMeister said:
That all sounds really worthwhile. Go for it :)

Just to clarify, these aren't all the subjects I'll be doing. That's the remaining pool of courses from which I have to choose 1. The ones I've picked already are AI, Computer Graphics and DSP. Then there are some core subjects relating to software engineering etc.

I'll probably go with the concurrent programming, although compilers sounds like it could be good.

The AI lecturer is good, had him last year, we had an excellent project with him. Computer Graphics is an unknown - the last lecturer wasn't great, but she has retired now, so there'll be someone new. The DSP lecturer is good. Haven't had any dealings with the concurrent programming guy..I hear his exams are hard though..=/
 
Status
Not open for further replies.
Top Bottom