Since many of the aspiring developers are pre-collegiate individuals, we could reasonably include a comprehensive computer science degree program.
I'd recommend we also get permission from the Game Programming Gem authors and include bits from those. They are useful.
Going through the list of CS topics that would be useful to many of the beginner and intermediate game developers:
** Fundamental data types and composite objects. Why we need both.
** DIY vs Libraries. Why libraries are usually better, and why you still need to know what is inside.
** Data structures
*** Arrays and linked lists.
*** Stacks and queues.
*** Trees and heaps and sets and maps.
*** Basics of complexity. Understanding Big-O. Learning what is fast, what is slow, and what is impossible.
*** Divide and conquer, recursion, tree traversal,
*** Basics of all hardware: the system bus; relative time between the CPU, cache, ram, and storage; cpu instructions; cycles; etc.
*** What we HAD twenty years ago (aka: what many books teach) and what we HAVE today.
**** Basics of modern hardware architecture, including long pipelines, multi-instruction decoding, out-of-order cores, speculative execution, etc.
**** Optimizations that used to make sense decades ago, but no longer do, and why.
Basic CS topics:
* Slightly more advanced data structures than above
** Graphs: cyclic and acyclic, directed and nondirectional
** Trees and their relationship to graphs
** Using 1D structures to represent kD spatial areas
** Connectivity, weighted graphs, network flows,
* Slightly more advanced algorithms than above
** Assorted sorting routines, from bubble sort to quicksort, radix sort, mergesort, and shell sort, and why sometimes it is best to use an atypical sorting routine
** Searching routines: sequential, binary search, binary search trees, indirect binary searches, trees, balanced trees,
** String processing
** Pattern matching and regular expressions
** Graph searching, depth-first and breadth first, both recursive and nonrecursive.
*** Range searching
*** Geometric algorithms
**** Closest point
**** Geometric intersections (point/triangle, point/sphere, ray/sphere, ray/tri, tri/tri, tri/sphere, etc)
**** Finding a convex hull.
**** kD searching and spatial grids
* State machines.
** State machines.
** Reinforcements of just how important state machines are in game development.
*** State machines in managing game state
*** State machines in managing object lifetime
*** State machines in game-style AI (and the difference between machine learning and game AI)
*** State machines in animations
* Producer/Consumer models
** Applications of producer/consumer models
*** Logging systems
*** Message bus/ global event systems
*** Local event systems
*** Hooks into scripting systems
*** Hooks into animation systems
*** Hooks into asynchronous systems
*** Hooks into OS systems
*** Hooks into existing libraries
* Serialization and IO
** How to searialize and deserialize data
*** Applications of serialization in save games and persistance
*** Applications of serialization in interprocess communication
*** Applications of serialization in local multiplayer games.
*** Applications of serialization in networked games.
* Mathematics for computer programmers
** (Basically two years of post-secondary mathematics tutorials.)
* Physics for computer programmers
** (Lots of stuff under Physics, from vector and matrix classes through the uses of eigenvectors and eigenvalues. Probably a full 4-year college degree...)
* Using asynchronous calls from the OS and other libraries
* Using scripting libraries
** Why scripting languages are useful
** Incorporating scripting engines into your game
More advanced CS topics:
* Compiler theory
* Operating systems
* Formal languages
* Parallel processing
** Theory of parallel processing
** Basic parallel systems like master/workers and trivially parallel problems, parallel search
** More advanced parallel algorithms; parallel sort, parallel communication, load balancing
* Dynamic programming
* Design patterns and antipatterns
* Automated Build systems
* Tools development
* Tools pipeline
* Grab-bag of useful techniques, such as auto-reloading of resources, in-game tuning, live patching of a running process, and much more.
That's enough for this half-hour typing session.
Basically we could have the contents for a full CS degree (or at least a game development trade degree) along with 2-year degrees in mathematics and physics, and we'd still be missing many important items both useful and required to build solid games.