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.