MS in Computer Science

Master of Science 2014-2015

Computer Science

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 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 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 in the Course Catalog.


Course Requirements
Introductory Courses
No Introductory course (a course numbered 400 through 419) may be substituted for any other course at any level.

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.
CSC 400 Discrete Structures for Computer Science
CSC 401 Introduction to Programming
CSC 402 Data Structures I
CSC 403 Data Structures II
CSC 406 Systems I
CSC 407 Systems II
Foundation Courses
CSC 421 Applied Algorithms and Structures
CSC 435 Distributed Systems I
CSC 447 Concepts of Programming Languages
CSC 453 Database Technologies
SE 450 Object-Oriented Software Development
Major Elective Courses
Graduates of the MS in Computer Science program must be proficient in the at least one broad area of Computer Science listed below. For this reason students will take the remaining 8 elective courses as follows:
  • 4 courses from one area
  • 4 additional courses from any area. Including the option to take the 2-course SE Studio sequence, 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 Systems Development
    CSC 438 Framework for Web Application Development
    CSC 439 Computer Security
    CSC 443 Introduction to Operating Systems
    CSC 448 Compiler Design
    CSC 461 Optimized C++ (Formerly GAM 471)
    CSC 462 C++ Multithreading
    CSC 471 Mobile Application Development for iOS
    CSC 472 Mobile Application Development for Android
    CSC 475 Introduction to Robotics
    CSC 548 Advanced Compiler Design
    CSC 549 Database System Implementation
    CSC 551 Distributed Database Systems
    CSC 553 Advanced Database Concepts
    CSC 536 Distributed Systems II
    CSC 540 Mobile Application Development II
    CSC 534 Software Development for Limited and Embedded Devices
    CSC 552 Concurrent Software Development
    SE 560 Structured Document Interchange and Processing
    SE 452 Object-Oriented Enterprise Computing
    SE 459 Agile Software Development
    SE 525 Software Security Architecture
    SE 526 Software Security Assessment
    SE 554 Enterprise Component Architecture
    CNS 450 Computer Forensics
    SE 491 Software Engineering Studio (Capstone)
    SE 591 Software Engineering Studio II (Capstone)
    GAM 690 Game Development Studio I
    GAM 691 Game Development Studio II
    TDC 478 Information Storage and Management
    TDC 484 Scripting for Network Management
    TDC 568 Network Management
  • Theory
    CSC 431 Scientific Computing
    CSC 440 Cryptology
    CSC 444 Automata Theory and Formal Grammars
    CSC 489 Theory of Computation
    CSC 503 Parallel Algorithms
    CSC 521 Monte Carlo Algorithms
    CSC 525 Combinatorial Optimization
    CSC 531 Introduction to Bioinformatics
    CSC 535 Formal Semantics of Programming Languages
    CSC 557 Foundations of Computer Security
    CSC 547 Advanced Topics in Program Languages
    CSC 580 Design of Object-Oriented Languages
    CSC 591 Topics in Algorithms
    SE 533 Software Validation and Verification
  • Data Science
    CSC 423 Data Analysis and Regression
    CSC 424 Advanced Data Analysis
    CSC 425 Time Series Analysis and Forecasting
    CSC 428 Data Analysis for Experimenters
    CSC 433 Scripting for Data Analysis
    CSC 465 Data Visualization
    CSC 478 Programming Data Mining Applications
    CSC 481 Introduction to Image Processing
    CSC 482 Applied Image Analysis
    CSC 495 Social Network Analysis
    CSC 529 Advanced Data Mining
    CSC 555 Mining Big Data
    CSC 575 Intelligent Information Retrieval
    CSC 578 Neural Networks and Machine Learning
    ECT 584 Web Data Mining for Business Intelligence
    IS 567 Knowledge Discovery Technologies
  • Database Systems
    CSC 433 Scripting for Data Analysis
    CSC 452 Database Programming
    CSC 454 Database Administration and Management
    CSC 478 Programming Data Mining Applications
    CSC 529 Advanced Data Mining
    CSC 543 Spatial Databases and Geographic Information Systems
    CSC 549 Database System Implementation
    CSC 551 Distributed Database Systems
    CSC 553 Advanced Database Concepts
    CSC 554 Advanced Database Management
    CSC 555 Mining Big Data
    CSC 575 Intelligent Information Retrieval
    CSC 589 Topics in Database
  • Artificial Intelligence
    CSC 457 Expert Systems
    CSC 458 Symbolic Programming
    CSC 478 Programming Data Mining Applications
    CSC 480 Artificial Intelligence I
    CSC 583 Artificial Intelligence II
    CSC 495 Social Network Analysis
    CSC 575 Intelligent Information Retrieval
    CSC 528 Computer Vision
    CSC 578 Neural Networks and Machine Learning
    CSC 582 Machine Learning
    CSC 587 Cognitive Science
    CSC 594 Topics in Artificial Intelligence
    CSC 481 Introduction to Image Processing
    CSC 538 Vision Systems
    CSC 482 Applied Image Analysis
    CSC 592 Topics in Computer Vision and Pattern Recognition
    CSC 529 Advanced Data Mining
    ECT 584 Web Data Mining for Business Intelligence
    GEO 441 Geographic Information Systems (Gis) for Community Development
    GEO 442 Geographical Information Systems (Gis) for Sustainable Urban Development
    IS 567 Knowledge Discovery Technologies
  • Software Engineering
    SE 430 Object Oriented Modeling
    SE 433 Software Testing and Quality Assurance
    SE 453 Architecture and Frameworks for Developing Client Applications
    SE 459 Agile Software Development
    SE 457 Service-Oriented Architecture
    SE 475 Managing Globally Distributed Software Development
    SE 477 Software and Systems Project Management
    SE 480 Software Architecture I
    SE 482 Requirements Engineering
    SE 525 Software Security Architecture
    SE 526 Software Security Assessment
    SE 533 Software Validation and Verification
    SE 529 Software Risk Management
    SE 546 Software Architecture and Design for Desktop Applications
    SE 549 Model-Driven Software Development
    SE 579 Analytics and Data Mining in Software Engineering
    SE 581 Software Architecture II
    SE 582 Software-Intensive Systems Engineering and Management
  • Multimedia
    GAM 450 Physics for Game Developers
    CSC 461 Optimized C++ (Formerly GAM 471)
    GAM 453 Tool Programming for Game Development
    GAM 474 Fundamentals of Game Programming I
    GAM 475 Game Engine Programming I
    GAM 476 Artificial Intelligence for Computer Games
    GAM 477 Fundamentals of Game Programming II
    GAM 486 Game Programming for Mobile Devices
    GAM 490 Multiplayer Game Development
    GAM 575 Game Engine Programming II
    GAM 690 Game Development Studio I
    GAM 691 Game Development Studio II
    GPH 436 Fundamentals of Computer Graphics
    GPH 469 Computer Graphics Development
    GPH 570 Visualization
    GPH 572 Principles of Computer Animation
    GPH 580 Hardware Shading Techniques
    HCI 440 Introduction to User-Centered Design
    or HCI 441 Introduction to User-Centered Development
    SE 456 Architecture of Computer Games
    SE 556 Advanced Architecture of Computer Games
    SE 558 Architecture and Design for Multiplayer Games
Research and Thesis Options
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 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 Research Colloquium 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 Master's Research . 4 credit hours of CSC 695 replaces one 500 level major elective course in the M.S. 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 Master's Thesis 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 Graduate Internship 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 the Office for International Students and Scholars (OISS) before beginning the internship.