Learn More and ApplyComputer Science (MS) Online

Menu

CDM 2024 - Computer Lab_2
Program Requirements Quarter Hours
Introductory Courses 0-24
Degree Requirements 48
Total hours required 48-72

Learning Outcomes 

  • Model a computational problem, select appropriate algorithms and data structures for a solution, justify the correctness of the algorithm, and implement an application solving the problem.
  • Demonstrate proficiency with fundamental concepts in algorithms, programming languages, software engineering, distributed systems, and databases.
  • Demonstrate an in-depth knowledge in at least one area of Computer Science.
  • Demonstrate the ability to independently learn and master new software development paradigms, algorithms, APIs, and programming languages.

Degree Requirements

Course Requirements

No Introductory Course may be substituted for any other course at any level.

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.
  • If an exam is available, the student passes a Graduate Assessment Examination (GAE) in the Introductory Course area.

Introductory Courses

Course Title Quarter Hours
CSC 400DISCRETE STRUCTURES FOR COMPUTER SCIENCE4
CSC 401INTRODUCTION TO PROGRAMMING4
CSC 402DATA STRUCTURES I4
CSC 403DATA STRUCTURES II4
CSC 406SYSTEMS I4
CSC 407SYSTEMS II4

Foundation Courses

Course Title Quarter Hours
CSC 421APPLIED ALGORITHMS AND STRUCTURES4
CSC 435DISTRIBUTED SYSTEMS I4
CSC 447CONCEPTS OF PROGRAMMING LANGUAGES4
CSC 453PRINCIPLES OF DATABASE MANAGEMENT SYSTEMS4
SE 450OBJECT-ORIENTED SOFTWARE DEVELOPMENT4
or SE 456 ARCHITECTURE OF REAL-TIME SYSTEMS

Major Electives

Twenty-eight credit hours of Major Electives are required. Graduates of the MS in Computer Science program must be proficient in at least one broad area of Computer Science listed below. For this reason students will take the remaining twenty-eight credit hours as follows:

  • Twelve credit hours (typically taken as three 4-credit courses) from one area
  • SIxteen credit hours (typically taken as four 4-credit courses) from any area, including the option to take the SE Studio Capstone, the 2-course GAM studio sequence, the 1-course CS capstone, the Research Colloquium course, or write an MS Thesis, or develop an MS Research Project.

The courses in each area are listed below. The Independent Study courses (CSC 695) may be taken for up to 8 credits and at most 4 credit hours of CSC 695 can count towards the chosen area.

Areas

Software and System Development Area

Course Title Quarter Hours
WEB APPLICATIONS
FRAMEWORK FOR WEB APPLICATION DEVELOPMENT
COMPUTER SECURITY
INTRODUCTION TO OPERATING SYSTEMS
COMPILER DESIGN
OPTIMIZED C++
THEORY AND PRACTICE OF SAFE SYSTEMS PROGRAMMING
VIRTUALIZATION AND CLOUD COMPUTING
PROGRAM ANALYSIS
MOBILE APPLICATION DEVELOPMENT FOR IOS
MOBILE APPLICATION DEVELOPMENT FOR ANDROID
MOBILE APPLICATION DEVELOPMENT FOR IOS II
MOBILE APPLICATION DEVELOPMENT FOR ANDROID II
SOFTWARE DEVELOPMENT FOR LIMITED AND EMBEDDED DEVICES
DISTRIBUTED SYSTEMS II
MOBILE APPLICATION DEVELOPMENT II
ADVANCED COMPILER DESIGN
DATABASE SYSTEM IMPLEMENTATION
DISTRIBUTED DATABASE SYSTEMS
CONCURRENT SOFTWARE DEVELOPMENT
ADVANCED DATABASE CONCEPTS
OPTIMIZED C++ MULTITHREADING
REAL-TIME MULTITHREADED ARCHITECTURE
TOPICS IN COMPUTER SCIENCE
EMBEDDED SYSTEMS I
EMBEDDED SYSTEMS II
INTRODUCTION TO ROBOTICS (FORMERLY CSC 475)
DIGITAL FORENSIC TECHNIQUES (FORMERLY CNS 450)
SECURITY TESTING AND ASSESSMENT (FORMERLY CNS 488)
ADVANCED CYBER ATTACK RESPONSES AND DEFENSES (FORMERLY CNS 489)
GAME DEVELOPMENT STUDIO I
GAME DEVELOPMENT STUDIO II
CONTINUOUS DELIVERY AND DEVOPS
OBJECT-ORIENTED ENTERPRISE COMPUTING
AGILE SOFTWARE DEVELOPMENT
AI-DRIVEN SOFTWARE DEVELOPMENT
MACHINE LEARNING ENGINEERING FOR PRODUCTION (MLOPS)
SOFTWARE ENGINEERING STUDIO
SOFTWARE SECURITY ARCHITECTURE
SOFTWARE SECURITY ASSESSMENT
ENTERPRISE COMPONENT ARCHITECTURE
STRUCTURED DOCUMENT INTERCHANGE AND PROCESSING
SOFTWARE ENGINEERING STUDIO II
INFORMATION STORAGE AND MANAGEMENT
SCRIPTING FOR NETWORK MANAGEMENT
NETWORK MANAGEMENT

Theory Area

Course Title Quarter Hours
SCIENTIFIC COMPUTING
CRYPTOLOGY
AUTOMATA THEORY AND FORMAL GRAMMARS
THEORY OF COMPUTATION
PARALLEL ALGORITHMS
MONTE CARLO ALGORITHMS
COMBINATORIAL OPTIMIZATION
INTRODUCTION TO BIOINFORMATICS
FORMAL SEMANTICS OF PROGRAMMING LANGUAGES
FOUNDATIONS OF COMPUTER SECURITY
ADVANCED TOPICS IN PROGRAM LANGUAGES
TOPICS IN ALGORITHMS
SOFTWARE VALIDATION AND VERIFICATION

Data Science Area

Course Title Quarter Hours
PROGRAMMING INTERACTIVE DATA VISUALIZATION FOR THE WEB
INTRODUCTION TO IMAGE PROCESSING
APPLIED IMAGE ANALYSIS
MINING BIG DATA
INTELLIGENT INFORMATION RETRIEVAL
NEURAL NETWORKS AND DEEP LEARNING
TOPICS IN ARTIFICIAL INTELLIGENCE
TOPICS IN DATA ANALYSIS
DATA ANALYSIS AND REGRESSION
ADVANCED DATA ANALYSIS
TIME SERIES ANALYSIS AND FORECASTING
SCRIPTING FOR DATA ANALYSIS
FUNDAMENTALS OF DATA SCIENCE
DATA VISUALIZATION
PROGRAMMING MACHINE LEARNING APPLICATIONS
SOCIAL NETWORK ANALYSIS
WEB DATA MINING
ADVANCED MACHINE LEARNING
DATA SCIENCE CAPSTONE

Database Systems Area

Course Title Quarter Hours
DATABASE PROGRAMMING
DATABASE ADMINISTRATION AND MANAGEMENT
SPATIAL DATABASES & GEOGRAPHIC INFORMATION SYSTEMS
DATABASE SYSTEM IMPLEMENTATION
DISTRIBUTED DATABASE SYSTEMS
ADVANCED DATABASE CONCEPTS
ADVANCED DATABASE MANAGEMENT
MINING BIG DATA
INTELLIGENT INFORMATION RETRIEVAL
TOPICS IN DATABASE
SCRIPTING FOR DATA ANALYSIS
PROGRAMMING MACHINE LEARNING APPLICATIONS
ADVANCED MACHINE LEARNING

Artificial Intelligence Area

Course Title Quarter Hours
EXPERT SYSTEMS
SYMBOLIC PROGRAMMING
ARTIFICIAL INTELLIGENCE I
INTRODUCTION TO IMAGE PROCESSING
APPLIED IMAGE ANALYSIS
ETHICS IN ARTIFICIAL INTELLIGENCE
COMPUTER VISION
VISION SYSTEMS
INTELLIGENT INFORMATION RETRIEVAL
COMPUTATIONAL ADVERTISING
RECOMMENDER SYSTEMS
NEURAL NETWORKS AND DEEP LEARNING
ARTIFICIAL INTELLIGENCE II
NATURAL LANGUAGE PROCESSING
COGNITIVE SCIENCE
TOPICS IN COMPUTER VISION AND PATTERN RECOGNITION
TOPICS IN ARTIFICIAL INTELLIGENCE
FUNDAMENTALS OF DATA SCIENCE
WEB DATA MINING
PROGRAMMING MACHINE LEARNING APPLICATIONS
SOCIAL NETWORK ANALYSIS
ADVANCED MACHINE LEARNING
GEOGRAPHIC INFORMATION SYSTEMS (GIS) FOR COMMUNITY DEVELOPMENT
GEOGRAPHICAL INFORMATION SYSTEMS (GIS) FOR SUSTAINABLE URBAN DEVELOPMENT

Software Engineering Area

Course Title Quarter Hours
OBJECT ORIENTED MODELING
SOFTWARE TESTING AND QUALITY ASSURANCE
CONTINUOUS DELIVERY AND DEVOPS
OBJECT-ORIENTED ENTERPRISE COMPUTING
ARCHITECTURE AND FRAMEWORKS FOR DEVELOPING CLIENT APPLICATIONS
ARCHITECTURE OF REAL-TIME SYSTEMS
AGILE SOFTWARE DEVELOPMENT
SERVICE-ORIENTED ARCHITECTURE
MANAGING GLOBALLY DISTRIBUTED SOFTWARE DEVELOPMENT
SOFTWARE AND SYSTEMS PROJECT MANAGEMENT
SOFTWARE ARCHITECTURE I
REQUIREMENTS ENGINEERING
REAL-TIME SOFTWARE DEVELOPMENT I
GPU Architecture
REAL-TIME SOFTWARE DEVELOPMENT II
SOFTWARE ENGINEERING STUDIO
SOFTWARE SECURITY ARCHITECTURE
SOFTWARE SECURITY ASSESSMENT
SOFTWARE VALIDATION AND VERIFICATION
SOFTWARE RISK MANAGEMENT
SOFTWARE ARCHITECTURE AND DESIGN FOR DESKTOP APPLICATIONS
MODEL-DRIVEN SOFTWARE DEVELOPMENT
ENTERPRISE COMPONENT ARCHITECTURE
ADVANCED ARCHITECTURE OF COMPUTER GAMES
STRUCTURED DOCUMENT INTERCHANGE AND PROCESSING
ANALYTICS AND DATA MINING IN SOFTWARE ENGINEERING
SOFTWARE ARCHITECTURE II
SOFTWARE-INTENSIVE SYSTEMS ENGINEERING AND MANAGEMENT

Game and Real-Time Systems Area

Course Title Quarter Hours
OPTIMIZED C++
REAL-TIME NETWORKING (FORMERLY GAM 490)
OPTIMIZED C++ MULTITHREADING
REAL-TIME MULTITHREADED ARCHITECTURE
APPLIED 3D GEOMETRY
PHYSICS FOR GAME DEVELOPERS
TOOL PROGRAMMING FOR GAME DEVELOPMENT
RENDERING AND GRAPHICS PROGRAMMING
REAL - TIME SOFTWARE DEVELOPMENT
ARTIFICIAL INTELLIGENCE FOR COMPUTER GAMES
GAME PROGRAMMING FOR MOBILE DEVICES
REAL-TIME SOFTWARE DEVELOPMENT II
GPU ARCHITECTURE
GAME DEVELOPMENT STUDIO I
GAME DEVELOPMENT STUDIO II
FUNDAMENTALS OF COMPUTER GRAPHICS
COMPUTER GRAPHICS DEVELOPMENT
VISUALIZATION
PRINCIPLES OF COMPUTER ANIMATION
HARDWARE SHADING TECHNIQUES
ARCHITECTURE OF REAL-TIME SYSTEMS

Human-Computer Interaction

Course Title Quarter Hours
WEB APPLICATIONS
FRAMEWORK FOR WEB APPLICATION DEVELOPMENT
MOBILE APPLICATION DEVELOPMENT FOR IOS
MOBILE APPLICATION DEVELOPMENT FOR ANDROID
MOBILE APPLICATION DEVELOPMENT FOR IOS II
MOBILE APPLICATION DEVELOPMENT FOR ANDROID II
DATA VISUALIZATION
INTRODUCTION TO USER-CENTERED DESIGN
PROTOTYPING AND IMPLEMENTATION
INFORMATION ARCHITECTURE AND CONTENT STRATEGY

As part of their electives, students have the option of signing up for the Research Colloquium, or completing a Research Project, or writing a Master's Thesis, or participating in a Graduate Internship.

Research Colloquium

The research colloquium consists of weekly talks by a variety of speakers including faculty, students, and guests from the academic and business communities. The lectures feature new creative and scholarly work that encompasses the disciplines and areas of interest of the School of Computing. Students interested in attending the colloquium and receiving credit should sign up for the CSC 500 course (NOTE: this course carries only 2 credits; it may be taken twice for credit.) Student evaluation is based on attendance as well as an online journal with reflections on each of the presentations. The educational objectives are to expose students to creative and scholarly research at DePaul and elsewhere, and to engage students in the thought process of identifying and solving challenging research problems.

Master's Research

Students interested in a more in-depth study of a particular area can choose to work with a faculty member (not necessarily their academic advisor) on an independent study or research project. The work involved may include system development, empirical studies, or theoretical work. The student will register for up to 4 credit hours of CSC 695. 4 credit hours of CSC 695 replaces one 500 level major elective course in the MS in Computer Science program. CSC 695 can be taken multiple times for up to 8 credit hours. Students must successfully complete the Foundation courses prior to their first enrollment in CSC 695. Students interested in the Master's Thesis option will typically take 8 credits of CSC 695.

Master's Thesis

A student who has made an original contribution to the area (typically, through work done by CSC 695) may choose to complete a Master's Thesis. The student and the student's research advisor should form a Master's Thesis Committee of 3 faculty. The student will need to submit to the committee a thesis detailing the results of the research project. After a public defense, the committee will decide whether to accept the thesis. In that case, the student will be allowed to register for the 0 credit course CSC 698 and the transcript will show the thesis title as the course topic.

Graduate Internship

In cooperation with local employers, the graduate program offers students the opportunity to integrate their academic experience with on-the-job training in computer related work areas. Students may take CSC 697 for up to four credits. Admission to the internship program requires consent of the instructor and a student services advisor. International students may complete curricular practical training (CPT) through this class provided they first obtain CPT authorization from International Student and Scholar Services (ISS) before beginning the internship.

Degree Requirements

Students in this degree program must meet the following requirements:

  • Complete a minimum of 48 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 C- or better in all courses of the designated degree program.
  • Maintain a cumulative GPA of 2.5 or higher.
  • Students pursuing a second (or more) graduate degree may not double count or retake any course that applied toward the completion of a prior graduate degree. If a required course in the second degree was already completed and applied toward a previous degree, the student must meet with a faculty advisor to discuss a new course to be completed and substituted in the new degree. This rule also applies to cross-listed courses, which are considered to be the same course but offered under different subjects.
  • Students pursuing a second master's degree must complete a minimum of 48 graduate credit hours beyond their first designated degree program in addition to any required introductory courses in their second designated degree program. 

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.​