Game Design and Development Minor

Do you like playing computer games? Have you ever wanted to build your own games, but you know there's a whole lot to learn? Have we got a deal for you!

Starting in Fall 2005, the UCCS Computer Science Department is offering a Game Design and Development Minor. In 2004, the computer game industry made $24.5 Billion, surpassing Hollywood box-office receipts for the first time. Last year, Halo 2 had over $125M in sales on the first day it was available. Computer game design and development is clearly a viable career choice, and the demand for effective game developers is likely to continue experiencing significant growth for the foreseeable future. Completing the Game Design and Development Minor will help position you to take advantage of that growth - and, of course, you'll have a lot of fun and learn some exciting stuff along the way.

Although many non-programming game topics are covered in the minor as described here, it does require strong programming skills. We therefore expect students completing the courses for the minor to either come from Engineering and Applied Science or, in rare cases, from other colleges. Given the interdisciplinary nature of the field, however, we're also pursuing longer-term efforts to add additional tracks within this minor (or even a major). For example, we could add more courses to the minor and have students choose between different areas of emphasis like game art and animation, game design and management, or game programming. We hope to evolve our minor to include additional areas of emphasis, but we view this as an iterative approach with the minor described here representing our first step in that process.

More details are provided below. If you have any questions about the minor, please contact Tim Chamillard or Sudhanshu Semwal.

For information about other Game Design and Development options at UCCS, click here.

Required Courses

The Game Design and Development Minor requires 21 credit hours distributed as follows:

CS 110                        Problem Solving through Game Creation

CS 145                        Data Structures and Algorithms

CS 306                        Object-Oriented Programming Using C++ (or CS 302, Advanced OO Techniques using C#/.NET)

CS 335                        Introduction to Game Design and Development

CS 435                        Advanced Game Design and Development

CS 436                        Game Design and Development Capstone Project

CS 480                        Computer Graphics

Math 313                     Introduction to Linear Algebra

 

Notes:

a.  For all the courses in the minor, the course instructor can waive the prerequisite courses. Whether or not the prerequisite courses are waived, students are responsible for having the required prerequisite knowledge for all courses in the minor.

b.  All course work toward the minor must be completed with a grade of C or better.

c.  At most 9 credit hours of transfer work may be applied to the minor.

d.  Although they are not required for the minor, either CS 302 or CS 304 is suggested as an additional course for those students who want to strengthen their foundations in object-oriented programming.

e.  Computer Science Majors can complete the minor through careful selection of free, CS, and technical electives without increasing the number of credit hours in their program.

f.  Assuming the required prerequisite knowledge, Computer Engineering and Math (BA) Majors can complete the minor through careful selection of free and technical electives without increasing the number of credit hours in their program. Math (BS) Majors would need to take an extra 2 credit hours, and Electrical Engineering and Mechanical Engineering Majors would need to take an extra 8 credit hours. In some cases, departments will require petitions to count the game courses as technical electives.

Game-Specific Course Descriptions

This section describes the game-specific courses in the minor.

 

CS 110-2. Problem Solving through Game Creation

An introductory course that combines problem-solving techniques with computer game design and implementation to introduce the student to basic gaming and computer science concepts. Students design, implement, and test computer games using  drag-and-drop game creation tools; no programming is required.

 

CS 335-3. Introduction to Game Design and Development

Introductory topics in computer game design and development. Includes game studies, conceptual game play and game mechanics, strategic decision-making, feedback systems, game programming fundamentals, game math and physics, artificial intelligence, 2D and 3D graphics and animation, and audio programming. Students complete a team project developing a complete game. Prer., CS 145, CS 306, and PES 111.

 

CS 435-3. Advanced Game Design and Development

Advanced topics in computer game design and development. Includes advanced 3D graphics and animation, level design, interface design, action and interaction, game tuning and play testing, advanced game programming, multiplayer and online games, and game production and marketing. Students complete a team project developing a complete game. Prer. CS 335, CS 480. Meets with CS578.

 

CS 436-1. Game Design and Development Capstone Project

A capstone project course in which each individual student designs and develops a complete game on their own. Each student also develops the documentation associated with their game, including marketing materials and a user manual. Prer., CS 435. 

Other Course Descriptions

This section describes the other, more general, courses in the minor.

 

CS 145-3. Data Structures and Algorithms

Concepts of data type, data abstraction, and data structure. Internal representations of fundamental data types. Linear data

structures: stack, queue. Linked data structures and dynamic data types. Search table data abstraction, linear search in arrays

and lists, binary search in arrays and trees. Binary trees, non-binary trees, binary search trees. Prer., C S 115 or equivalent.

 

CS 306-3. Object-Oriented Programming Using C++

The principal goals of this course are: 1) to learn the fundamentals of object-oriented programming, 2) to gain skill and proficiency

in using the C++ programming language, 3) to exercise the C++ language in implementing a moderate sized software system

designed with objects. Prer., C S 202 and CS 206 or instructor consent.

 

CS 480-3. Computer Graphics

Fundamental areas of modern raster computer graphics: hardware, software, data structures, mathematical modeling, user

interface and manipulation of graphical objects. A subset of the two dimensional GKS is examined and implemented with

emphasis placed upon segmented display fi les and instance modeling. Basic to all graphic programs written are the ergonomic

requirements of the user. Required programs are in the areas of animation, paint systems, polygon filling and clipping, and curve

generation. Prer., C S 145, C S 202, and MATH 313. Meets with CS 580.

 

Math 313-3. Introduction to Linear Algebra

Systems of linear equations, matrices, vector spaces, linear independence, basis, dimension, determinants, linear

transformations and matrices, eigenvalues and eigenvectors. Prer., MATH 135.

Sample Schedule

Here's a sample schedule for a Computer Science Major pursuing the Game Design and Development Minor:

FRESHMAN YEAR

FALL SEMESTER (15 credit hours)

 

SPRING SEMESTER (16 credit hours)

*MATH 135 Calculus I – 4

*C S 110 Problem Solving through Game Development – 2

*C S 115 Principles of Computer Science – 3

*ID 101 or other Humanities/Social Science Elective  – 3

*ENGL 131 Rhetoric & Writing I – 3

*MATH 136 Calculus II – 4

PES 111 General Physics I – 4

*C S 145 Data Structures & Algorithms – 3

*C S 206 Programming in C – 3

*Humanities/Social Science Elective – 3

 SOPHOMORE YEAR

FALL SEMESTER (17 credit hours)

 

SPRING SEMESTER (17 credit hours)

*MATH 235 Calculus III – 4

*C S 208 Programming with UNIX – 2

C S 216 Computer Org. & Assembly Language – 3

PES 112 General Physics II – 4

PES 115 General Physics Lab I – 1

*ENGL 309 Technical Writing & Presentation – 3

*MATH 215 Discrete Mathematics – 3

*C S 302 Advanced OO Techniques using C#/.NET OR

 C S 306 Object-Oriented Programming in C++ – 3

Humanities/Social Science Elective – 3

*Basic Science course (CHEM 103 recommended) – 5

*Free Elective – 3

JUNIOR YEAR

FALL SEMESTER (16 credit hours)

 

SPRING SEMESTER (16 credit hours)

*MATH 313 Intro. to Linear Algebra – 3

*C S 316 Concepts of Programming Languages – 3

C S 472 Design & Analysis of Algorithms – 3

*C S 335 Introduction to Game Design and Development– 3

*Humanities/Social Science Electives – 4

*MATH 381 Intro. to Probability & Statistics – 3

C S 305 Ethical Implications of Computing – 1

C S 330 Software Engineering – 3

C S 420 Computer Architecture I - 3

*C S 480 Computer Graphics – 3

*Humanities/Social Science Elective – 3

SENIOR YEAR

FALL SEMESTER (16 credit hours)

 

SPRING SEMESTER (15 credit hours)

C S 450 Operating Systems I – 3

C S 470 Computability, Automata & Formal Lang. – 3

*C S 435 Advanced Game Design and Development – 3

*Technical Elective Course – 3

*Humanities/Social Science Elective – 4

 

C S 410 Compiler Design – 3

C S 436 Game Design and Development Capstone Project - 1

*C S Elective (CS 400-599) – 3

*Technical Elective Course – 3

*Free Elective – 1

*Humanities/Social Science Elective – 3