Programmers Anonymous

These are a few of the more advanced topics we'll hit on, while we create new and interesting programs. Some things I just haven't figured out yet, some are so wide and deep that they can occupy a carrer in programming, and some are like salt on food -- they're simple and taste good. None of these topics are absolutely necessary for game programming, they just make game programming better. In no particular order, and mostly just a reminder for myself:

File I/O, saving images, read/write of text files

Making a screen saver from a program

3-D polygon models, surfaces, virtual worlds

Pseudo random number generators, and why they are not random. Using the clock time for seeds.

Trigonometric functions, cos, sin
    - make a "stopwatch" (one-second hand) program

Multi-player functions, games

Context dependent sound effects

Using arrays and itterators

Linked lists (using pointers), trees, and other data structures

Hardware outline
    - access speed vs. memory size, CPU  <-> cache <-> memory <-> hard disk

Boolean logic topics
    - write a Not() function
    - truth tables
    - bitwise masks
    - build a physical (electronic) logic operation

 Look at hardware:
     - guts of hard drive
     - CD surface under a microscope
     - memory/logic chip under a microscope
     - test voltage level of parallel port pins 

Splash screen