Curriculum advice/Feedback


Hi everyone, longtime lurker, first time poster.

I recently started a job teaching programming for game development at a 2-year college, and my goal right now is to refactor the curriculum so it's fairly "handmade" focused.

I’m wondering if anyone has some advice for what they’d like to see in a curriculum for game development, or if anyone here is a teacher already working on this. I remember hearing that Alan Webster was going to do an intro to C series...

Like a lot of game developers I’m fairly suspicious of game-design education, but I want to do the best for my students and really teach programming the way I wish I had been taught (I did CS at a 4 year). All things considered I’m pretty excited about the opportunity, because I think changing education is important. The CS department at this school for example is more OOP-crazed than anything I’ve seen before.

They’ll be learning Unity & Unreal, but they’ll also be learning systems programming, and how to make an engine from scratch. I’ll also be teaching them linear algebra from a game development perspective, hopefully sparking an interest in math so they’ll learn more on their own.

I’m pretty unsatisfied with all the intro to programming books I’ve seen, so I’ve decided to write my own (in C) from the perspective of a game developer. I’m currently debating how “handmade” I’m going to be. I’d love to be able to write a whole curriculum from scratch, but that isn’t practical, and I’m sure a lot of people have already done the work better than I could.

Does anyone have recommendations of resources that they’ve found useful? How about what you'd like to see different about education/curricula?

Edited by collin on Reason: Initial post
Some focus on how game programming is soft real-time programming.

The blessing and curse of amortized algorithms. And how to deal with the accrued performance debt those can build up.

How to split up long computing tasks to spread the work over multiple frames.

How to structure data for SIMD.
Splitting up a task over multiple frames is a pretty good suggestion. I kinda take that for granted. SIMD is also a good idea since it provides a really concrete reason why you care about data layout.
A Low Level Curriculum for C and C++ is something I wish I add when I learnt programming (there are several articles in that series) because it answered a lot of question I had about how things actually works and allowed me to dig deeper (even though I'm still a novice at those sort of things).

The black board episodes of handmade hero are also a good source of knowledge. The episodes when Casey explained how the CPU and systems work (instruction pipeline, caches, address translations, virtual memory...) were also things I would have loved to know earlier.

Those are things that I wouldn't have known existed (or though were out of reach) and matter if someone didn't pointed them to me.
That looks like a promising resource, thanks for pointing it out. I agree that many of the blackboard episodes are a great resource. They are definitely a book inspiration for me in how I teach my classes.