Learning Recommendations:   Successful Completion of AP Computer Science A is strongly recommended. If students have not completed AP Computer Science A, then successful completion of AP Computer Science

Principles is considered an absolute minimum requirement.  This class assumes students already have solid programming knowledge and skill.  Under no circumstances should this be any student's first programming class.

In addition to programming experience, students will also need to be strong self-directed learners, both capable to research how to do the things they want to program.

Lastly, 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 the AP Computer Science courses 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 Five main pillars:

  • Programming - Using C# and the Unity framework, and the extensive Unity libraries.
  • Research - Practicing using the Unity Manuals and finding tutorials to help navigate the vast Unity libraries.
  • Production - Using what you've learned and adapting what you research to create your own works. 
  • Game Design - Learning about genre, structure, mechanics, etc. and creating game design documents to plan out prototypes and larger scale projects.
  • Teamwork - Planning, setting, and meeting deadlines as a group with a very long-term group project in a workplace-style environment (2ndSemester).


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

  • Learning C# programming and Unity Basics while producing small projects.
  • Learning about game development and design and producing game design documents.
  • Researching topics, methods, and tools they are interested in using in their designs, and presenting that research to the class as a lesson to teach everyone what they have learned.
  • A personal project of producing a small prototype game, to bring together everything learned in the first semester and prove that they can realize their vision, from scratch, by themselves.

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

  • Pitching and presenting game designs as well as forming groups and making initial plans, timelines, and work-schedules.
  • Developing 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.
  • Producing a functioning Beta product, opening it up for in-house testing, and adjusting their project based on feedback.
  • Creating a singular, polished Final Product as a cumulation of their group's work through the Semester.

Learning Strategies:

  • 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 tutorials) should be done by students at home, so they will be more prepared to work once they get to class.
  • Research and Programming Language Manual use (the way professional Programmers do it)
  • Independent Learning
  • Programming projects
  • Teamwork development
  • Daily Work Journals to reflect planned work, work completed, and things learned that day.

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.

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