MS in Computer Science

Master of Science 2010-2011

Computer Science

The Master of Science degree in Computer Science prepares students for a professional career in Software Development or Computer Science Research. The program 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. Students also have the opportunity to study and develop applications in diverse applied areas such as:
  • Computer Security
  • Robotics and Computer Vision
  • Data Mining and Knowledge Discovery
  • Databases
  • Mobile and Embedded Systems
  • Intelligent Systems
  • Computer Games
  • Distributed Systems and Web Development
  • Computer Graphics
  • Computer Games
Graduates of the Computer Science Master's program are typically employed as developers and software engineers, and many also pursue a Ph.D. degree. The program is structured to provide students an expertise in the following core areas:
  • Programming and Software Development
  • Algorithm Design and Computer Science Concepts
  • Computer and Database Systems
Students will acquire a broad range of skills including:
  • Knowledge of key computer science concepts, techniques and algorithms
  • An understanding of the workings and the API (Application Programming Interface) of modern computer systems including database systems
  • Skills in programming and software development
  • Expertise in your chosen area of Computer Science
  • Research skills and experiences that can be applied in any endeavor

Learn more about admission to this program.

Online Learning Options
This degree can be completed entirely online. CDM online degrees are delivered mostly through COL-enabled courses, although other delivery technologies are also used. If a course is COL-enabled, any student registered in the course has access to the course playback. Students are strongly encouraged to utilize the COL resource wherever available. To complete this degree a student may take any combination of online and on campus courses. For more information on online learning at CDM visit the Online Learning page.
    Degree Requirements
    Students in this degree program must meet the following requirements:
    • complete a minimum of 52 graduate credit hours (generally 13 courses) beyond the Prerequisite Phase
    • earn a grade of B- or better in each Prerequisite Phase course
    • earn a grade of C- or better in all graduate courses beyond the Prerequisite Phase
    • maintain a graduate level GPA of 2.50 or higher while pursuing their degree
    • achieve a graduate GPA of 2.50 or higher at the completion of all other requirements

    Students with a GPA of 3.9 or higher will graduate with distinction.


    Course Requirements
    Prerequisite Phase
    The goal of the prerequisite phase is to give students the background necessary for starting the graduate program. These prerequisite phase requirements can be fulfilled in one of three ways:
    • The student takes the course and earns a grade of B- or higher
    • The student takes a Graduate Assessment Exam (GAE) to test out of the course
    • The faculty advisor waives the course because of equivalent academic background or work experience.

    All students are blocked from enrolling in Graduate Phase courses prior to completing their prerequisites. Students must submit an online Change of Status request (through myCDM) when the Prerequisite Phase is completed to inform the Student Services offices that the block can be removed.

    CSC 202 Discrete Structures for Computer Science
    CSC 211 Programming in Java I AND CSC 212 Programming in Java II CSC 211 Self-Test
    OR CSC 224 Java for Programmers CSC 224 Self-Test
    OR CSC 396 Programming in Java I and II (available to Graduate Students Only)
    CSC 383 Data Structures and Algorithms in Java
    CSC 373 Computer Systems I
    CSC 374 Computer Games
    Foundation Phase
    CSC 421 Applied Algorithms and Structures
    CSC 435 Distributed Systems I (formerly SE 435)
    CSC 447 Concepts of Programming Languages
    CSC 453 Database Technologies
    SE 450 Object-Oriented Software Development
    Major electives
    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.

    Special requirements for the Software and System Development area
    Many graduates of the Computer Science program work as software developers. Students choosing to specifically prepare for this career path should choose the Software and System Development area.The  requirements for students choosing this area are:

    • 4 courses from the Software and System Development area
    • (1 course from Software Engineering and CSC 597 Computer Science Capstone )
      or (SE 491 Software Engineering Studio and SE 591 Software Engineering Studio II )
      or (GAM 690 Game Development Studio I and GAM 691 Game Development Studio II )
    • 2 courses from any 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 475 Introduction to Robotics
      CSC 548 Advanced Compiler Design
      CSC 549 Database System Implementation
      CSC 551 Distributed Database Systems
      CSC 553 Advanced Topics for Systems Development (see Is 553, Effective Sept. 1995)
      CSC 536 Distributed Systems II (formerly SE 536)
      CSC 540 Mobile Application Development II
      CSC 534 Software Development for Limited and Embedded Devices (formerly 542)
      CSC 552 Concurrent Software Development (formerly SE 552)
      GAM 491 Game Performance Optimization
      SE 560 Structured Document Interchange and Processing
      SE 452 Object-Oriented Enterprise Computing
      SE 459 Agile Software Development
      SE 554 Enterprise Component Architecture
      CNS 450 Computer Forensics
      SE 491 Software Engineering Studio (Capstone)
      SE 591 Software Engineering Studio II (Capstone)
      CSC 597 Computer Science Capstone (Capstone)
      GAM 690 Game Development Studio I
      GAM 691 Game Development Studio II
    • Theory
      CSC 431 Scientific Computing
      CSC 440 Cryptology
      CSC 444 Automata Theory and Formal Grammars
      CSC 489 Queuing Theory with Computer Application (crs # Inactive 9/1/1995-See Tdc 489)
      CSC 491 Advanced Algorithms
      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 (formerly SE 547)
      CSC 547 Advanced Topics in Program Languages
      CSC 580 Design of Object-Oriented Languages (formerly SE 580)
      CSC 591 Topics in Algorithms
      SE 533 Software Validation and Verification
    • Database Systems
      CSC 452 Database Programming
      CSC 454 Database Administration and Management
      CSC 543 Spatial Databases and Geographic Information Systems
      CSC 549 Database System Implementation
      CSC 551 Distributed Database Systems
      CSC 553 Advanced Topics for Systems Development (see Is 553, Effective Sept. 1995)
      CSC 554 Advanced Database Management
      CSC 575 Intelligent Information Retrieval
      CSC 589 Topics in Database
    • Artificial Intelligence
      CSC 457 Expert Systems
      CSC 458 Symbolic Programming
      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 423 Data Analysis and Regression
      CSC 424 Advanced Data Analysis
      CSC 425 Time Series Analysis and Forecasting
      CSC 428 Data Analysis for Experimenters
      ECT 584 Web Data Mining for Business Intelligence
    • 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 468 Software Measurement/Project Estimation
      SE 470 Software Development Processes
      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
    • Security
      CNS 450 Computer Forensics
      CSC 439 Computer Security
      CSC 440 Cryptology
      CSC 557 Foundations of Computer Security (formerly SE 547)
      SE 525 Software Security Architecture
      SE 526 Software Security Assessment
      TDC 588 Advanced Network Defense Systems
    • Multimedia
      GAM 450 Physics for Game Developers
      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 486 Game Development 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
      SE 456 Architecture of Computer Games
      SE 556 Advanced Architecture of Computer Games
      SE 558 Architecture and Design for Multiplayer Games
      TDC 573 Multimedia Networking
    Research and Thesis Options
    As part of their electives, students have the option of signing up for the Research Colloquium or an Independent Study, or completing a Research Project, or writing a Master Thesis.
    • 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 Independent Study
      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 Independent Study (1 - 4 Credits) . Four credit hours of CSC695 replace one 500 level CS elective course in the MS in CS program. CSC695 can be taken multiple times for up to 8 credit hours. Students must successfully complete the Foundation Phase courses prior to their first enrollment in CSC 695. Students interested in the Master's Research option must take CSC 695 for 8 credits. Students interested in the Master' Thesis option will typically take 8 credits of CSC695.
    • Master's Research
      A student who has made a significant contribution to a research project, through work done in 2 quarters of CSC 695 (8 credit-hours), may choose to complete the Master's Research option. The student must submit a technical report detailing the results of the research project. This report must be approved by the student's research supervisor and the faculty advisor, at which point it will be made available to the public as a CDM Departmental Master's Research Technical Report. In that case, the student will be allowed to register for the 0 credit course CSC 696 Master's Research and the transcript will show the research project title as the course topic.
    • Master's Thesis
      A student who has made an original contribution to the area (through work done by CSC 695, typically) 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 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. The thesis will be made available to the public as a CDM Departmental Master's Thesis Technical Report.