Learning Recommendations:  Successful completion of an AP Computer Science A or AP Computer Science Principles. A strong capability at being a self-directed learner will be necessary for success in this course.

As the course is being adapted from a combination of high-school level and college-level material, students must understand that the workload of the class will be equivalent to that of an AP course.

General Description:  This course is designed to be an advanced-level Computer Science for students looking for an additional challenge after completing an AP Computer Science course at IHS.

Due to the challenge level, study skills, and general maturity level required to succeed at this course, it is also strongly suggested that students be Juniors or Seniors when taking the course.

The course built on four main pillars:

  • Programming - Using C# and the Unity framework.
  • Game Design - Learning about genres, structure, mechanics, etc. and Creating game design documents of your own.
  • Production - Using what you've learned to create and produce a game from scratch of your own design with your own programming.
  • Teamwork - Planning, setting, and meeting deadlines as a group with a very long-term group project in a workplace-style environment.


First Semester: Focused on teaching the basic programming and design skills - culminating in the production of a small, solo-built game.

  • Units 1 - 5: Learning C# programming and Unity Basics while producing small projects.
  • Units 6 - 9: Learning about game development and design and producing game design documents.
  • Unit 10 : A personal project of producing a small game that brings together everything learned in the first semester.

Second Semester: One semester-long group project to produce a game, focused on letting students develop their teamwork, project planning, and production skills.

  • Units 11 - 12: Creating and presenting game 'pitches' as well as forming groups and making initial plans, timelines, and work-schedules.
  • Units 13 - 15: Creating Prototypes and a Minimum Viable Product as a group - and then revising initial plans and timelines, and work-schedules based on work left and time remaining.
  • Units 16 - 17: Creating a functioning Beta product, opening it up for semi-public testing, and adjusting things based on feedback.
  • Unit 18: Going 'Gold' - Putting the final touches on the project to make it the best it can be before submitting the final version. (No 'Day 1 Patches' allowed!)


  • A 'Flipped Classroom' model - working on assignments and projects will be done during class time where peers and help is available.
    Reading and instruction (often through video tutorial) will be done by students at home, so they will be more prepared to work once they get to class.
  • Independent Learning
  • Programming projects
  • Teamwork development
  • Journal & Essay reflections

Equipment/Technology:  When in the classroom, all relevant technology will be provided.

For a student to be able to work on classwork at home / work remotely, students will need a computer capable of running the latest version of Unity (most computers and laptops released in the past 5-6 years should be capable of this), and an internet connection.
Students will also need to download a 'Student' version of Unity to use on their computer, as well as Visual Studio (optionally included with the Unity download).

Course Fee / Materials:  None.  The 'Student' version of Unity is free to download.