Hi, I'm Adam. Email me about: CTOs, Mobile/iOS, Project Management, and Development

Self-learning guide for Game Programmers without a degree

The following are hand-picked sections from the syllabus of the 3-year Cambridge University CS course. These are just syllabus, i.e. describing what you need to learn / teach yourself.

EDIT: this list was originally created to help people internally who were network programmers or general programmers – it covers all the common core elements, but is still slanted towards MMO development.

NB: For each URL I’ve listed underneath the key topics you should focus on learning – anything not listed, I’m basically saying “don’t bother with this, it’s of no use to you”. In some cases, the topics I have missed out are extremely difficult, so unless you’re really interested in them I’d suggest avoiding them for now.

*SOME* of the courses you can get PDF or similar course-notes here:

http://www.cl.cam.ac.uk/teaching/0708/

…for the ones that are missing, you may find equivalents at MIT, which has it’s complete course notes online here:

http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm#ElectricalEngineeringandComputerScience

…for anything you can’t find there, google is your friend. You have the syllabus (if you follow the links below) so you should be able to craft good google searches.

Also, the University of Hawaii used to have some especially good free slides for a lot of the trickier subjects.

Final note: IME, both as student and later as a private tutor, in practice a lot of Computer Science learning is self-taught. Apart from the syllabus (telling you what to read about, what to learn), the only part where you need the university is in marking your papers throughout the year, and so telling you where you were “wrong”. Of course, at university you get 3 years to devote your entire working week to learning, so it’s much harder to do it in spare time – but it’s possible.

http://www.cl.cam.ac.uk/teaching/0708/CST/node12.html

Recursive functions.
O Notation
Lists
Sorting
Queues and search strategies
List functionals

http://www.cl.cam.ac.uk/teaching/0708/CST/node18.html

Regular expressions
Finite state machines

http://www.cl.cam.ac.uk/teaching/0708/CST/node21.html

Simple data structures
Sorting
Searching

http://www.cl.cam.ac.uk/teaching/0708/CST/node29.html

Graph algorithms
Geometric algorithms

http://www.cl.cam.ac.uk/teaching/0708/CST/node31.html

Concurrent systems
Distributed systems & transactions

http://www.cl.cam.ac.uk/teaching/0708/CST/node51.html

Algorithms and problems
Non-determinism

http://www.cl.cam.ac.uk/teaching/0708/CST/node52.html

Introduction
The relational data model
Relational algebra
Schema refinement I
Schema refinement II
Transaction management overview
On-line Analytical Processing (OLAP)
XML as a data exchange format

http://www.cl.cam.ac.uk/teaching/0708/CST/node65.html

Foundations: probability, uncertainty, information

http://www.cl.cam.ac.uk/teaching/0708/CST/node84.html

Time
Algorithms and application protocols
Communication
Naming

7 thoughts on “Self-learning guide for Game Programmers without a degree”

Comments are closed.