The MS in Computer Science exposes students to the complete life-cycle of computer application development including abstraction, modeling and algorithm development, leveraging computer systems, programming languages and development frameworks, and software development techniques and processes. It prepares students for a professional career in Software Development or Computer Science Research.
Program Requirements | Quarter Hours |
---|---|
Introductory Courses | 0-24 |
Degree Requirements | 48 |
Total hours required | 48-72 |
Learning Outcomes
Students will be able to:
- 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 400 | DISCRETE STRUCTURES FOR COMPUTER SCIENCE | 4 |
CSC 401 | INTRODUCTION TO PROGRAMMING | 4 |
CSC 402 | DATA STRUCTURES I | 4 |
CSC 403 | DATA STRUCTURES II | 4 |
CSC 406 | SYSTEMS I | 4 |
CSC 407 | SYSTEMS II | 4 |
Foundation Courses
Course | Title | Quarter Hours |
---|---|---|
CSC 421 | APPLIED ALGORITHMS AND STRUCTURES | 4 |
CSC 435 | DISTRIBUTED SYSTEMS I | 4 |
CSC 447 | CONCEPTS OF PROGRAMMING LANGUAGES | 4 |
CSC 453 | PRINCIPLES OF DATABASE MANAGEMENT SYSTEMS | 4 |
SE 450 | OBJECT-ORIENTED SOFTWARE DEVELOPMENT | 4 |
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.