Course Requirements
Introductory Courses
Introductory courses may be waived for any of the following conditions:
- The student has the appropriate course work to satisfy an Introductory Course.
- The student has appropriate and verified professional experience to satisfy an Introductory Course.
- The student passes a Graduate Assessment Examination (GAE) in the Introductory Course area.
Foundation Courses
Advanced Courses
Major Elective Courses
Students must complete 3 graduate level elective courses. Students may choose from GAM courses in the 421-699 range or courses from the following list:
CDM Open Electives
Students must complete 1 CDM open elective course in the 421-699 range.
Capstone
Note: Students must register for GAM 690 and GAM 691 in consecutive quarters. A grade will not be assigned for GAM 690 until GAM 691 has been completed.
Degree Requirements
Students in this degree program must meet the following requirements:
- Complete a minimum of 52 graduate credit hours in addition to any required introductory courses of the designated degree program.
- Complete all graduate courses and requirements listed in the designated degree program.
- Earn a grade of B- or better in each introductory course of the designated degree program.
- Earn a grade of C- or better in all courses beyond the introductory courses of the designated degree program.
- Maintain a cumulative GPA of 2.5 or higher.
- Students pursuing a second master's degree must complete a minimum of *52 graduate credit hours beyond their first designated degree program in addition to any required introductory courses in their second designated degree program.
*53 graduate credit hours required for MS Information Systems.
Students with a GPA of 3.9 or higher will graduate with distinction.
For DePaul's policy on repeat graduate courses and a complete list of academic policies see the DePaul Graduate Handbook.
CSC 421
APPLIED ALGORITHMS AND STRUCTURES
This course covers techniques for designing and analyzing algorithms and structures in the context of computer application development. Examples will come from Internet, WWW, database, and computer system applications. Fundamental topics such as running-time analysis, searching and sorting within various structures, divide-and-conquer and dynamic programming will be covered. PREREQUISITE(S): CSC 202 and (CSC 301 or CSC 383 or CSC 393 )
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 474
FUNDAMENTALS OF GAME PROGRAMMING I
Many computer games are based on physical interactions between game objects e.g. collisions, evasions, pursuit, etc. Design and implementation of these actions is not an easy problem. Concept and character development, storyboarding, prototyping, testing and implementation will be discussed. Students will gain hands on experience in game programming using a low level graphical library. PREREQUISITE(S): CSC 262 or CSC 309
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
SE 456
ARCHITECTURE OF COMPUTER GAMES
This course discusses the software architecture and the engineering of computer games. The topics include gaming platforms, libraries and frameworks for game development, techniques for accessing and managing low level devices and resources, and application of artificial intelligence. PREREQUISITE(S): CSC 301
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 475
GAME ENGINE PROGRAMMING I
Game engines provide an integrated programming platform for today's high performance games. This class explores C/C++ game engine programming, data structures, and practices. Topics include memory management, input devices, video rendering, file access, debugging, and application interface development. Prerequisite(s): (CSC 301 or CSC 383 or CSC 393) and CSC 374
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 450
PHYSICS FOR GAME DEVELOPERS
The course concentrates on Newton's Laws of Motion, kinematics and kinetics. This theory will be applied to problems that a game programmer must understand e.g. collisions between objects, projectiles and their trajectories, real-time simulation of motion. Special objects such as cars, aircraft and ships will be discussed. Students will apply and implement laws of physics. PREREQUISITE(S): CSC 262 and MAT 150
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 476
ARTIFICIAL INTELLIGENCE FOR COMPUTER GAMES
Artificial Intelligence (AI) is one of the essential components of a computer game. The course introduces basic concepts of AI. Emphasis will be place on applications of AI in various genres of computer games. In the implementation component of this course students will be exposed to the existing AI game engines (middleware), which contain implemented AI algorithms that are ready to be applied into game code. These algorithms include: decision trees, pathfinding, neural networks, script-driven game object behaviors. PREREQUISITE(S): CSC 301 or CSC 383 or CSC 393
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 469
COMPUTER GRAPHICS DEVELOPMENT
Basic graphics architecture. Coordinate systems. Three-dimensional representations and transformations. Simple visible-surface algorithms. Introduction to illumination. Gouraud and Phong shading. Antialiasing. Texture mapping and elements of animation. Students create a graphics package using a high-level graphics API such as OpenGL. PREREQUISITE(S): GPH 436 or GPH 321
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 575
GAME ENGINE PROGRAMMING II
This class continues to explore C/C++ game engine programming, data structures, and practices. Topics include audio, network access, threads and multi-processor systems, profiling, scripting, content libraries, animation, and a survey of gam engines. Prerequisite(s): GAM 475
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 443
INTRODUCTION TO OPERATING SYSTEMS
An advanced course on operating system design and implementation. Process management and scheduling, memory management, file systems, device drivers, access control, and virtualization will be covered. The emphasis of the course will be on implementing components of a functional operating system. PREREQUISITE: CSC373 and CSC374
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 447
CONCEPTS OF PROGRAMMING LANGUAGES
Programming paradigms and language concepts: functional programming; comparison of object-oriented languages; type systems for functional and object-oriented languages; runtime systems for functional and object-oriented languages. A variety of programming languages will be used to illustrate concepts, e.g., JavaScript, Ruby, Scala, Scheme. PREREQUISITE(S): (CSC 301 or CSC 383 or CSC 393) and CSC 374
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 448
COMPILER DESIGN
Design and structure of high level languages. Lexical scan, top down and bottom up syntactic analysis. Syntax directed translation and LR(k) grammars. PREREQUISITE(S): (CSC 301 or CSC 383 or CSC 393) and CSC 373
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 451
DATABASE DESIGN
Requirement analysis, conceptual design, logical design and implementation of relational databases. Emphasis will be on E-R modeling and E-R mapping, along with basic normalization and SQL for database implementation. PREREQUISITE(S): Graduate Standing.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 480
ARTIFICIAL INTELLIGENCE I
An in-depth survey of important concepts, problems, and techniques in artificial intelligence, including search, knowledge representation, logical reasoning, and reasoning with uncertainty. A particular focus and a unifying theme of the course will be the concept of intelligent agents. No prior knowledge of AI is required. The course is particularly suitable for graduate and advanced undergraduate students who want to gain the technical background necessary to build intelligent systems, or who want to prepare for more advanced work in AI. The concepts and techniques learned in this course will be directly applicable to many other areas of computer science including software design, distributed systems, databases, and information management and retrieval. PREREQUISITE(S): CSC 301 or CSC 383 or CSC 393.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 578
NEURAL NETWORKS AND MACHINE LEARNING
A study of the basic structure of neural networks and how machines may learn. This will include analyses of decision trees, Bayesian learning, genetic algorithms, PAC, analytical and reinforcement learning. Neural networks to be studied include Hopfield, backpropagation, Kohonen, ART, and Neuro-Fuzzy. Students will explore current applications and design several learning systems. No prior background in artificial intelligence is assumed. PREREQUISITE(S): MAT 220 or MAT 262 or MAT 151.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 435
DISTRIBUTED SYSTEMS I (FORMERLY SE 435)
An introduction to distributed systems.Topics may include: architecture of distributed systems; networking; datagram-oriented and stream-oriented protocols; network programming (for example, the sockets API); remote procedure call and remote method invocation; processes and threads; code migration; software agents; naming of non-mobile and mobile entities; cryptography and security. PREREQUISITE(S): (CSC 301 or CSC 383 or CSC 393) and CSC 374.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 438
COMPUTER ANIMATION SURVEY
Survey of methods used in computer animation. This course uses commercially available software packages to teach techniques for animation and digital video production. The techniques covered include storyboarding, key frame animation, audio and video editing. PREREQUISITE(S): GPH 425 or GPH 469.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 536
DISTRIBUTED SYSTEMS II (FORMERLY SE 536)
An intermediate course on distributed systems. Topics may include: clock synchronization; mutual exclusion; distributed transactions; consistency models; distribution and consistency protocols; failure models; achieving fault tolerance; distributed object-based systems; distributed file systems. PREREQUISITE(S): CSC 435 and CSC 309.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 534
SOFTWARE DEVELOPMENT FOR LIMITED AND EMBEDDED DEVICES (Formerly 542)
This course will focus on the unique aspects, tools, and techniques of developing software applications for limited and embedded devices, such as set-top boxes and smart cards. PREREQUISITE(S): SE 450.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 552
CONCURRENT SOFTWARE DEVELOPMENT (Formerly SE 552)
Fundamentals and techniques of developing concurrent object-oriented applications, using a patterns-based approach. Concepts covered include: threads, synchronization and object locking, thread blocking and deadlock, safety and liveness, state-dependent action and concurrency control. PREREQUISITE(S): SE 450 and CSC 374.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
SE 558
ARCHITECTURE AND DESIGN FOR MULTIPLAYER GAMES
Multiplayer games were made possible by the advances in networking technology, increases in processor speed and data storage. Today, the majority of successful game titles are equipped with a multiplayer capability. This technical course discusses the fundamental aspects of multiplayer game development such as: design techniques, architectures, client and server side implementation, time and event synchronization, databases. PREREQUISITE(S): (CSC 301 or CSC 383 or CSC 393) and CSC 374 or instructor consent
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
LSE 430
EDUCATION AND SOCIAL JUSTICE
A variable-topics course designed to examine education within a philosophical framework which focuses upon the relatively great potential of education as an agent for social justice and change. Through the examination of current issues and concerns, students are expected to engage in critical analysis, reflect upon theoretical frameworks, examine public policies and values, and consider ways in which schools and educators can promote the development of social justice. Each time the course is offered it will focus on one of the following topics: gender; ethnicity; language and culture; or social class and economic opportunity. For each topic, attention will be given to the issues of institutional responses to differences, equity, access and outcomes. (CROSS-LISTED with LSE 258)
SE 433
SOFTWARE TESTING AND QUALITY ASSURANCE
This course is designed for the software engineering professional to gain a greater understanding of the key ingredients in creating and/or managing a successful testing program to meet project needs. Topics covered include test lifecycle planning, test design & coverage analysis, complexity, levels of testing such as unit, integration, system, performance and stress testing. Best practice strategies in software testing such as verification & validation, early lifecycle testing, risk based testing and automation will also be examined including exposure to test automation methods and tools. PREREQUISITE(S): CSC 383 or SE430 or CSC 301
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
LSE 450
DYNAMICS OF AFRICAN-AMERICAN CULTURE
This course is intended for those interested in cultural and human relations in order that they may examine the contributions of the black person to American Culture; gain a functional understanding of the social, economic and political development of the black person on America itself. (Cross-listed with SOC 490).
SE 477
SOFTWARE AND SYSTEMS PROJECT MANAGEMENT
Project Management is presented from a practitioner's view. The four basic building blocks of software project management: people, process, tools, and measurements are covered. Special emphasis is placed on professional standards such as the Project Management Book of Knowledge and IEEE Software Engineering Standards. Specific topics include Managing People, Selecting Project Tools, Leadership & Motivation, Software Development Processes, Estimation, Risk Analysis, Scheduling and Tracking, Leveraging Measurements, and Project Completion. Consideration is given to rapid development and project cultural issues. PREREQUISITE(S): Knowledge of the Software development life cycle model, for example through courses such as SE430, ECT455, IS425, MIS555 or through appropriate work experience.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 448
COMPUTER GRAPHICS SCRIPTING
Covers the use of scripting to generate computer graphics and animation. Emphasis on the benefits and differences of scripting languages compared to conventional graphics programming. Using commercially available scripting environments, students will generate complex graphics and animations that would not be possible with the conventional user interface. PREREQUISITE(S): GPH 438.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 539
ADVANCED RENDERING TECHNIQUES
An in-depth examination of texturing techniques for highly realistic computer generated imagery. Design and implementation of layered textures to produce realistic dirt and aged surfaces. Cost analysis of advanced illumination and reflectance models, including environment and shadow mapping, and ambient occlusion. Procedural texturing including pattern generation and the application of noise to produce organic surfaces. Shader development using an industry standard. Prototyping for both offline and real-time rendering environments. Students work in teams to produce convincingly organic environments. PREREQUISITE(S): GPH 425 or GPH 436 or (ANI 439 and GPH 355)
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 540
PROCEDURAL SHADING
Procedural pattern generation, creating patterns such as marble and wood with noise, Moving beyond the Phong Illumination model: Gaussian distributions and the Ward anisotropic model, BRDFs. Non-photorealistic rendering techniques such as "toon" shading and painterly techniques. PREREQUISITE(S): GPH 539
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 541
ADVANCED LIGHTING TECHNIQUES
Simple local models such as Phong, extensions to Phong (HDRI), ray-traced lighting and shadows, soft shadow generation using shadow maps, radiosity for producing ambient lighting and photon mapping for calculating realistic refracted light. Theory, lighting features supported, efficiency, and practical considerations for choosing the model in production. PREREQUISITE(S): GPH 539
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 570
VISUALIZATION
(Formerly CSC 570) Reconstruction techniques. Voxel classification and isosurface generation. Spatial set operations. Projections of higher-dimensional data sets. Data feature enhancement. False color mapping. Survey of applications in science, engineering and medicine. PREREQUISITE(S): GPH 469.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 572
PRINCIPLES OF COMPUTER ANIMATION
(Formerly CSC 572) This course will cover a range of topics in introductory 3D Computer Animation. Topics covered will include key framing, interpolation, hierarchies, inverse kinematics, particle systems, and the basics of physically based simulation and modeling. PREREQUISITE(S): GPH 469.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GPH 575
ADVANCED GRAPHICS DEVELOPMENT
Survey of standards and current modular technology for 2D and 3D graphics software development. Use of software development toolkits to create "plug-ins" and other modularly organized functionality enhancements for selected commercially available graphics packages. PREREQUISITE(S): GPH 448 and GPH 469.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 690
GAME DEVELOPMENT STUDIO I
In this course and its continuation GAM 691, students will work in small teams to design and implement a computer game. The courses must be taken consecutively. PREREQUISITE: GAM 475 or SE 456
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 691
GAME DEVELOPMENT STUDIO II
Continuation of GAM 690. PREREQUISITE: GAM 690
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
GAM 499
TOPICS IN COMPUTER GAME DESIGN AND DEVELOPMENT
Variable topics course in computer game design and development. May be repeated for credit. PREREQUISITE(S): Permission of instructor
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 400
DISCRETE STRUCTURES FOR COMPUTER SCIENCE
This course covers the basic mathematical tools essential for solving problems in computer science. The mathematical topics are presented with emphasis on their applications in computer science. The topics covered include: logic and set theory, relations, functions, graphs, and counting and probability.
CSC 401
INTRODUCTION TO PROGRAMMING
An introduction to programming with a focus on problem solving, structured programming, and algorithm design with a gentle introduction to efficiency. Concepts covered include data types, expressions, variables, assignments, conditional and iterative structures, functions, file input/output, exceptions, namespaces, and recursion. PREREQUISITE(S): None
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 402
DATA STRUCTURES I
A first course on data structures in Java for graduate students. The course introduces Java programming from within the context of data structures. The course covers arrays, linked lists, stacks and queues, and discusses recursion and performance analysis. The implementation of the basic operations on each data structure are discussed and analyzed in terms of their efficiency. PREREQUISITE(S): CSC 401
CSC 403
DATA STRUCTURES II
This is the second course on data structures in Java for graduate students. The course covers trees, heaps, data structures supporting disjoint-set operations, associative arrays, hash tables, and data structures for representing graphs. The implementation of the basic operations on each data structure are discussed and analyzed in terms of their efficiency. PREREQUISITE(S): CSC 402
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 404
ACCELERATED C++
This introductory graduate course covers the essentials of C++ programming. Topics include encapsulation, inheritance, polymorphism, dynamic memory allocation, casting, pointer arithmetic, operator overloading, templates, and teh Standard Template Libraries. PREREQUISITE(S): None
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 406
SYSTEMS I
An introductory graduate course on computer systems topics, focusing on machine-level programming and architecture and their relevance for application programming. Information representations, assembly language and debuggers, processor architecture, program optimization, memory hierarchy and caching. Students are recommended to finish CSC 400 before enrolling in this course. PREREQUISITE(S): CSC 401or CSC 243
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
CSC 407
SYSTEMS II
An introductory graduate course on computer systems topics, focusing on operating systems components and their relevance for application programming. Linking, processes, virtual memory, dynamic memory allocation, system level I/O, networking and network programming, concurrent servers and web services. PREREQUISITE(S): CSC 406
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
SE 430
OBJECT ORIENTED MODELING
Object-oriented modeling techniques for analysis and design. Provides the tools and techniques needed to solve complex, real-world software engineering problems in an object-oriented manner, using the most effective elements of the Unified Process. The course covers the essential concepts and notation of the Unified Modeling Language (UML), the standard notation for object-oriented analysis and design. Team project. PREREQUISITE(S): CSC 212 or CSC 262 or CSC 300.
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.
SE 450
OBJECT-ORIENTED SOFTWARE DEVELOPMENT
Principle, techniques and tools of object-oriented modeling, design, implementation, and testing of large-scale software systems. Topics include design patterns, application frameworks, architectural design, and the applications in the software development process to improve the extensibility, maintainability, and reliability of software systems. PREREQUISITE(S): (CSC 383 or CSC 393 or CSC 301) and (CSC 224 or CSC 212 or CSC 300)
Prerequisites:
CDM graduate students in the Preqrequisite Phase are restricted from registering for this class.