For students interested in a career as a game programmer, the CSEE department offers the Game Development Track within the Computer Science BS degree. This track follows the best industry advice to prepare students for technical positions in the games industry. At the same time, it emphasizes fundamentals that will be equally valuable in other types of positions. Here is a synopsis of the track. Since several of these classes are shared by the non-game Computer Science students, for each we indicate some skills that transfer to the games industry.
All CMSC BS requirements plus…
- Non-Computer Science Courses
- PHYS 121: Introductory Physics I
Physical dynamics: collisions, explosions, gravity, etc.
- PHYS 121: Introductory Physics I
- CMSC 400-level electives must include
- CMSC 435: Computer Graphics
All visuals, efficient rendering, interaction - CMSC 471: Artificial Intelligence
Opponent agent behavior, path finding, strategy - CMSC 493: Games Group Project
Cross-disciplinary teamwork, software engineering - and two of the following
- CMSC 437: Graphical User Interface Programming
Concepts of user interfaces, especially menus - CMSC 445: Software Engineering
Planning and development of large software projects - CMSC 455: Numerical Computation
Sources of errors and ways to avoid them in both graphics and simulation. Especially important for graphics on game consoles. - CMSC 461: Databases
Online game distribution systems, art content management - CMSC 479: Introduction to Robotics
Path planning and agent AI - CMSC 481: Networks
Peer-to-peer and client-server networked games - CMSC 483: Parallel Processing
Massive multiplayer online game servers, using multi-core systems - others with permission (contact olano@umbc.edu)
- CMSC 437: Graphical User Interface Programming
- CMSC 435: Computer Graphics
The following have been pre-approved as additional courses satisfying the 400-level elective requirement:
- Some CMSC 491 offerings (491 is used for one-time or occasional classes)
- Computer Graphics for Games (Fall 2007, Fall 2008, Spring 2012, Spring 2014, Fall 2017, Fall 2018)
- Animation (Spring 2016, Fall 2017)
- Data Oriented Computing (Spring 2016)
- Cell Processors and Applications (Spring 2008, Spring 2009)
- Mobile Platform Development: iPhone and iPod touch (Fall 2009)
- Game User Interface Programming (Spring 2010)
- Multi- and Many-core Programming (Spring 2010)
- Advanced Computer Graphics (Spring 2011)
- For BS/MS students, or with department approval to have a 600-level class count toward your 400-level electives:
- CMSC 635: Advanced Computer Graphics (Spring 2008, Spring 2009, Spring 2010, Spring 2011)
There is also a flyer with the list of courses and a chart showing how they fit into the CMSC degree program.