About

This website contains notes and materials for the Independent Study Seminar - Programming I and II.

If you find issues or inaccuracies, please contact me at mslater@nevada.unr.edu.

Syllabus - Year 1

Syllabus - Year 2

Missing links will be added in the future.

Setup

Each of these guides shows you how to set up a development environment, compile, and run "hello world."

Both GCC and the Visual Studio compiler (MSVC) can be run by themselves on Windows, similarly to how GCC is used on linux. Email me if you'd like guides on using the standalone compilers on windows.

Other IDEs (Integrated Development Environments) include Code::Blocks, Eclipse, NetBeans, and XCode (for mac). There are many guides on how to set these up.

Contents - C++

Contents - SDL2

Contents - Data Structures & the C++ STL

  • STL 01 - Strings
  • STL 02 - Vector, Array, Stack, Queue
  • STL 03 - Priority Queue & Heap
  • STL 04 - Map, Multimap, Unordered Map
  • STL 05 - Threading
  • STL 06 - Smart Pointers & Move Semantics
  • STL 07 - Functional Programming
  • STL 08 - Exceptions

Contents - Game Design Patterns

  • Rendering - Tile Maps
  • Rendering - Sorting & Passes

  • Interface - HUD
  • Interface - Menus
  • Interface - Commands

  • Techniques - Logging
  • Techniques - Debugging
  • Techniques - APIs, Wrappers
  • Techniques - Scripting
  • Techniques - Dynamic Libraries

Contents - OpenGL

  • OpenGL 01 - Concepts
  • OpenGL 02 - Setup With SDL
  • OpenGL 03 - Drawing a Triangle
  • OpenGL 04 - Shaders
  • OpenGL 05 - Vectors, Matrices, & Transformations
  • OpenGL 06 - Coordinate Systems
  • OpenGL 07 - Putting it all Together
  • OpenGL 08 - Model Loading
  • OpenGL 09 - Basic Lighting
  • OpenGL 10 - Materials
  • OpenGL 11 - Lighting Maps
  • OpenGL 12 - Light Casters
  • OpenGL 13 - Multiple Lights