Updated for Fall 2014
Here are some thoughts on choosing electives as a Game Programmer.
Using Game Engines
For those that want experience with Unity3D before starting Production II, consider Game Tech II. But know that most programmers are able to pick it up the basics in the 2-hour evening training that we offer at the end of the Fall semester.
- EGD 300 – Game Technology II (Spring)
AI Programming
For students interested in pursuing a career in AI programming, we are now offering a course on programming Artificial Opponents. EGP 410, AI for Games is a prerequisite, so be sure you take that before your senior year.
Graphics Programming
For students interested in pursuing a career in graphics programming, I recommend that you also become familiar with the artist tools. Sign up for any section that doesn’t end in “AA”.
- EGD 215 – Introduction to 3D Art (Fall/Spring)
We also have had the following course approved. It won’t be offered until Spring 2015 at the absolute earliest, but if you are interested in taking the course when its made available, be sure to let your adviser know. EGP 300 (Graphics Programming II) is a prerequisite, so be sure you take it before your senior year.
Audio Programmers
For students interested in pursuing a career in audio programming, I recommend you become familiar with the tools of sound designers.
Mathematics Minor
Due to the number of math courses you have already taken, some students decide to pursue the mathematics minor with their general electives slots.
- MTH 240 – Calculus II (Spring)
- MTH 310 – Linear Algebra (Every odd numbered Fall)
- MTH 350 – Numerical Methods (Every other year w/ Stevens)
General Coding
There are a variety of Computer Science courses that students may find interesting and useful. They are all great courses, but I particularly recommend CSI 370. Only enroll in CSI 335 if you’re NOT planning to go to Montreal, since you’ll take a similar course there.
- CSI 150 – Java Programming (Spring w/ Pettitt)
- CSI 280 – Open Source Software Development (Spring)
- CSI 319 – Programming for Mobile Devices (Fall)
- CSI 335 – Software Systems Analysis and Design (Spring w/ Wixon)
- CSI 370 – Computer Architecture (Spring w/ Hall)
- CSI 430 – Software Testing, QA, & Security (Every odd numbered Fall w/ Chen)
Web and Server Coding
For those interested in systems and back-end engineering, I recommend you consider courses in databases and server-side application programming.
- WEB 200 – Relational Database/Web Application (Fall w/ Canovatchel)
- CIT 310 – Database Systems (Fall w/ Canovatchel)
- WEB 340 – Middleware, XML (Fall w/ Canovatchel)
- WEB 420 – Servier-Side Alternatives (Perl, PHP, Ruby on Rails) (Once every other year w/ Pettitt)
- WEB 425 – Web Services (Fall w/ Pettitt)
Advanced Courses (Proposed)
The following courses have not yet been developed, however we’re considering developing these courses as possible opportunities for students to dig deeper into their game programming education. If there is particular interest in one of these, be sure to let your adviser know.
- CSI 3xx – Advanced C++
- EGP 4xx – Games Marketplace
5 comments on “Game Programming – Recommendations for General Electives at Champlain College”
Gimme that Advanced C++!
Better yet, give us a comprehensive course in C, or something.
C# and AS3 are not my thing.
Linux/Unix Programming & OS Architecture are both C heavy courses.
C# and AS3 might not be low-level languages, but they are productive languages. Also, learning the advanced programming concepts built-in to modern languages will help when approaching lower-level languages (although not necessarily C because it is not object-oriented)
Oh, of course. C# is definitely very good when it come to production speed, along with most other managed languages. Personally, though, I prefer to work with memory by hand and build games from the ground up. I’m probably not with the majority on that, though.
Understood. Keep that in mind when you’re signing up for courses… when it comes time to take some electives, consider the options in CSI like OS Architecture and the CSI Database course.