Course Web Pages

Related Links

Free eBooks


Programming C++ Honors

  • Program: Gifted Learning Links, Center for Talent Development, Northwestern University
  • For students in grades 6-12
  • Course Description: Learn C++, the language professionals use to create games. This nine month course provides students with a solid foundation in the same programming language that the game makers use. Students are free to work at their own pace, but the course is structured so that students generally spend the first sixteen months learning to program video games in C#. In the next eight weeks, students learn about memory management with C and begin programming with C++. The rest of the course is spent exploring computer graphics with C++.

    High school credit: 2 semesters

  • Requirements:
    Prerequisite: Algebra I

    Out of level NUMATS test score or Admission Portfolio
    6th: EXPLORE, Math > 18
    6th - 9th: SAT, Math > 540
    6th - 9th: ACT, Math > 20
    10th - 12th: Admission Portfolio
  • Course Dates:
    Begins on the 15th of each month and runs for 36 weeks
  • Location: online
  • view syllabus

Course Software

This course was originally designed for Visual C# 2010 Express and Visual C++ 2010 Express in a Windows environment. Unfortunately, I can't find a download site for VS 2010 any more.

XNA Game Studio 4.0 Refresh was designed to be run in Visual Studio 2010, not Visual Studio 2012 or Visual Studio 2013. However, if you don't already have Visual Studio 2010 installed, you'll probably need to use a more recent version of Visual Studio. You should still use XNA in it by following the steps below:

Step 1

Download and install the Visual Studio version you prefer.

Step 2

Download the XNA Enabler App here. Extract the contents of the file and follow the instructions in the Readme file.

XNA Documentation Comment

Unfortunately, there doesn't seem to be a way to integrate the XNA documentation into the Visual Studio 2012 or 2013 Express local help content. Because you'll need to access that documentation as you code, you should make sure you have Internet connectivity when you access XNA through help in Visual Studio 2012 or 2013 Express; you'll be taken to the online XNA help content when you access XNA help.

Course Textbook

Chamillard, A. T. Beginning C# Programming with XNA Game Studio. 2 edition. Burning Teddy, 2012.

Available to CTD students through the Center for Talent Development Online Bookstore

Recommended Reading

Dawson, Mike. Beginning C++ through Game Programming. Boston, Mass.: Course Technology, Cengage Learning, 2011.
Benstead, Luke, Dave Astle, and Kevin Hawkins. Beginning OpenGL Game Programming. Boston, MA: Course Technology, 2009.

How to Get Help

Programming can be very time consuming. Always start your assignments as early as possible. If you do get stuck, do NOT waste hours on a single error. Instead, get help. The fastest way is to check the discussion group on the Northwestern course site. Chances are someone else has had the same problem as you and can give you a hint. Tips, clarifications and answers will also be posted by me. You may discuss the homework with other students in the discussion group as long as you never post anything that will be graded.

When you get stuck, you can send me work in progress and I'll offer you hints and useful programming tips as quickly as I can. Turnaround time will vary depending on how full my inbox is, so be patient. You may have to work on something else while you're waiting.