MS in Computer Science 
The Master of Science degree in Computer Science prepares professionals to apply key concepts, techniques, structures and algorithms of computer science to improve the performance of current computer applications and develop new applications for computer systems.
 

MS in Computer Science 2009


The MS in Computer Science degree is appropriate for students who wish to pursue a technical career in any of a number of areas within Computer Science, or for students who may wish to pursue a Ph.D. degree in the future.  

The Master of Science in Computer Science program at DePaul CDM is structured to provide students an expertise in the following core areas:

  • Algorithm Development and Computer Science Concepts
  • Computer Systems
  • Programming and Software Development.

The program also allows students flexibility to apply the core knowledge to diverse applied areas:

  • Distributed Systems and Web Development
  • Database Systems
  • Data Analysis
  • Data Mining
  • Bioinformatics
  • Artificial Intelligence and Computer Vision
  • Computer Graphics
  • Computer Games and Animation
  • Software Engineering and User Interfaces
  • Networking and Security

What Students Learn From The Computer Science Program


  • Knowledge of key computer science concepts, techniques and algorithms;
  • An understanding of the workings and the API (Application Programming Interface) of modern computer systems;
  • Expertise in programming and software development;
  • Skills in your choice of application areas;
  • Research skills and experiences that can be applied in any endeavor, including pursuing a Ph.D.

Grade and GPA Requirements


Grades: Students must receive a grade of B- or better in each prerequisite course and a C- or better in all other courses.

GPA: Students must maintain a graduate level GPA of 2.5 or higher while pursuing their degree. Students will not be approved for graduation with less than a 2.50 GPA. Students with a GPA of 3.90 or higher will graduate with distinction.


Program Requirements 2009

To view Program Requirements for previous years click here.

The program follows a three-phase sequence, with each phase preparing the student for the subsequent phase:

A.  Prerequisite Phase
B.  Core Foundation Phase
C.  Advanced Phase

The goal of the prerequisite phase is to give students the background in programming, mathematics, data structures and computer systems that is necessary for starting the graduate program. Typically, a student with a Bachelor of Science in Computer Science will be waived from this phase.

The foundations phase consists of three graduate courses that provide the foundation in the three core areas of Algorithm Development, Computer Systems and Software Development.

The goal of the advanced phase is to further the student's expertise in these core areas through additional coursework in Computer Science Concepts and Computer Systems, with an emphasis on Software Development throughout, and to expand the student's expertise to other areas in Computer Science. The second part of the advanced phase gives students a great deal of flexibility. A student may choose to focus in a specific area by taking many courses in one area of Computer Science or to achieve a breadth of knowledge by selecting courses from a variety of areas. 


Masters in Computer Science
Master of Science in Computer Science 2009
A. Prerequisite Phase
The courses in the Prerequisite Phase are:
Offered Fall 
In classOnline 
     CSC 202 Discrete Structures for Computer Science   
     CSC 211 Programming in Java I  Self Placement Test 
     and  CSC 212 Programming in Java II   
     or  CSC 224 Java for Programmers  Self Placement Test 
     or  CSC 396 Programming in Java I and II   
     CSC 373 Computer Systems I   
     CSC 374 Computer Systems II   
     CSC 383 Data Structures and Algorithms in Java   
 
By taking these courses and receiving a grade of a B- or better in each, the student will have completed the requirements of the Prerequisite Phase.

All or part of the Prerequisite Phase may be waived if a student has the equivalent academic background. Alternatively, students with practical experience may complete a Graduate Assessment Examination (GAE) to show competency in a prerequisite. All students are blocked from enrolling in Core Knowledge Phase courses prior to completing their prerequisites. The student must submit an online Change of Status request when the Prerequisite Phase is completed to inform the Student Services offices that the block can be removed. The online request must be submitted two weeks before the student intends to register for graduate level classes. The student will then be considered a fully admitted student, and may pass to the Graduate Phase of the program. Students may submit the Change of Status request by logging in to MyCDM.

B. Core Foundation Phase ( 3 courses)
The Core Foundation Phase consists of 3 required courses:
Offered Fall 
In classOnline 
     CSC 421 Applied Algorithms and Structures   
     SE 435 Distributed Systems I   
     SE 450 Object-Oriented Software Development   
 
Fully admitted students in the foundations phase may register for a maximum of four Advanced phase courses.

C. Advanced Phase (10 courses)

The Advanced Phase consists of 3 parts:

1. Core electives:Two courses from each core group: Computer Science Concepts and Computer Systems (total: 4 courses)

2. CS electives: Four additional courses (two of which must be 500-level) from the below comprehensive list of courses.
The courses are grouped as follows for convenience:
  • Computer Science Concepts
  • Computer Systems
  • Database Systems
  • Artificial Intelligence
  • Bioinformatics
  • Computer Vision
  • Data Analysis
  • Computer Graphics
  • Software Engineering
  • Security
  • Network Technologies
  • Computer Games and Animation
  • User Interfaces
  • and Information Systems.
Two of the courses must be 500-level. The Independent Study course (CSC 695) may be taken for up to 8 credits and each 4 credit-hours of CSC695 will count towards one 500-level CS elective. A student may concentrate in one area by taking all 4 courses from the same group of courses, or may wish to take courses from a variety of areas.

3. CDM electives: Two elective courses. Elective courses are any CDM courses in the range 420-699.

Overall, at least four 500-level courses. A Master's Thesis or a Master's Research option is available to interested students.

Core Electives

Computer Science Concepts:
These courses cover core Computer Science concepts, techniques, algorithms and structures with applications to a broad area of Computer Science
Offered Fall 
In classOnline 
         CSC 431 Scientific Computing   
         CSC 440 Cryptology   
     CSC 444 Automata Theory and Formal Grammars   
     CSC 447 Concepts of Programming Languages   
         CSC 480 Foundations of Artificial Intelligence   
     CSC 481 Introduction to Image Processing   
         CSC 491 Applied Algorithms and Structures   
     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 489 Theory of Computation   
         CSC 547 Advanced Topics in Program Languages   
         CSC 575 Intelligent Information Retrieval   
     CSC 578 Neural Networks and Machine Learning   
       GPH 436 Fundamentals of Computer Graphics   
 
Computer Systems:
These courses cover computer systems, i.e. computer applications that provide an infrastructure used by a variety of other computer applications; most of these courses will require substantial programming.
Offered Fall 
In classOnline 
         CSC 443 Introduction to Operating Systems   
         CSC 448 Compiler Design   
         CSC 545 Advanced Computer Organization   
         CSC 546 Operating Systems Design   
         CSC 548 Advanced Compiler Design   
     CSC 549 Database System Implementation   
         CSC 551 Distributed Database Systems   
         CSC 553 Advanced Database Concepts   
         SE 473 Security Architecture I   
         SE 536 Distributed Systems II   
     SE 540 Software Development for Mobile and Wireless Systems   
         SE 542 Software Development for Limited and Embedded Devices   
     SE 552 Concurrent Software Development   
         SE 573 Security Architecture II   
     TDC 561 Network Programming   
     TDC 577 Network Security II   
         CNS 450 Computer Forensics   
 

CS Electives
CS elective courses include courses in the Computer Science Concepts and the Computer Systems groups, as well as the courses listed below. The courses are grouped for convenience. A student may concentrate in one area by taking all 4 courses from the same group of courses, or may wish to take courses from a variety of areas.

Database Systems courses
Offered Fall 
In classOnline 
         CSC 449 Database Technologies   
     CSC 452 Database Programming   
         CSC 454 Database Administration and Management   
     CSC 549 Database System Implementation   
         CSC 550 Object-Oriented Databases   
         CSC 551 Distributed Database Systems   
         CSC 553 Advanced Database Concepts   
         CSC 589 Topics in Database   
         CSC 575 Intelligent Information Retrieval   
         CSC 543 Spatial Databases and Geographic Information Systems   
 
Artificial Intelligence courses
Offered Fall 
In classOnline 
     CSC 457 Expert Systems   
         CSC 458 Symbolic Programming   
         CSC 480 Foundations of Artificial Intelligence   
     CSC 578 Neural Networks and Machine Learning   
         CSC 587 Cognitive Science   
         CSC 594 Topics in Artificial Intelligence   
         CSC 575 Intelligent Information Retrieval   
 
Bioinformatics courses
Offered Fall 
In classOnline 
         CSC 531 Introduction to Bioinformatics   
         CSC 541 Introduction to Proteomics   
         CSC 542 Research Practicum in Computational Biology   
 
Computer Vision courses
Offered Fall 
In classOnline 
     CSC 481 Introduction to Image Processing   
         CSC 484 Introduction to Computer Vision   
         CSC 498 Digital Signal Processing   
         CSC 538 Vision Systems   
         CSC 482 Applied Image Analysis   
         CSC 584 Computer Vision   
         CSC 592 Topics in Computer Vision and Pattern Recognition   
 
Data Analysis courses
Offered Fall 
In classOnline 
     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 521 Monte Carlo Algorithms   
     CSC 578 Neural Networks and Machine Learning   
         CSC 598 Topics in Data Analysis   
         ECT 584 Web Data Mining for Business Intelligence   
         SE 468 Software Measurement/Project Estimation   
         SE 567 Software Reliability   
         IS 567 Knowledge Discovery Technologies   
 
Computer Graphics courses
Offered Fall 
In classOnline 
       GPH 425 Survey of Computer Graphics   
       GPH 436 Fundamentals of Computer Graphics   
         GPH 438 Computer Animation Survey   
         GPH 448 Computer Graphics Scripting   
         GPH 450 Digital Modeling I   
         GPH 469 Computer Graphics Development   
         GPH 470 Survey of Computer Graphics   
         GPH 536 Smooth Surface Modeling for Graphics and Animation   
         GPH 538 Rigging for Animation   
       GPH 539 Advanced Rendering Techniques   
         GPH 540 Procedural Shading   
         GPH 541 Advanced Lighting Techniques   
         GPH 560 Modeling Spaces   
       GPH 570 Visualization   
         GPH 572 Principles of Computer Animation   
         GPH 575 Advanced Graphics Development   
         GPH 595 Topics in Graphics   
 
Software Engineering courses
Offered Fall 
In classOnline 
     CSC 438 Framework for Web Application Development   
     SE 425 Principles and Practices of Software Engineering   
         SE 427 Software Quality Management   
     SE 430 Object Oriented Modeling   
         SE 431 Model-Driven Software Development   
     SE 433 Software Testing   
     SE 452 Object-Oriented Enterprise Computing   
         SE 468 Software Measurement/Project Estimation   
         SE 469 Software Safety   
     SE 470 Software Development Processes   
         SE 472 Personal Software Process   
         SE 473 Security Architecture I   
     SE 477 Software and Systems Project Management   
         SE 480 Software Architecture   
         SE 482 Requirements Engineering   
         SE 529 Software Risk Management   
         SE 531 Formal Software Specifications and Development II   
     SE 533 Software Validation and Verification   
         SE 536 Distributed Systems II   
         SE 542 Software Development for Limited and Embedded Devices   
         SE 546 Software Architecture and Design for Desktop Applications   
     SE 552 Concurrent Software Development   
     SE 554 Enterprise Component Architecture   
     SE 560 Structured Document Interchange and Processing   
         SE 567 Software Reliability   
         SE 571 Software Maintenance   
         SE 573 Security Architecture II   
 
Security courses
Offered Fall 
In classOnline 
         CNS 450 Computer Forensics   
     CNS 477 Legal Issues in Information Assurance   
     CNS 594 Computer Information and Network Security Capstone   
         CSC 440 Cryptology   
         SE 536 Distributed Systems II   
     ECT 582 Secure Electronic Commerce   
     IS 511 Social Issues of Computing   
     IS 433 Information Security Management   
         SE 473 Security Architecture I   
         SE 482 Requirements Engineering   
         SE 529 Software Risk Management   
         SE 573 Security Architecture II   
     TDC 477 Network Security   
     TDC 511 Telecommunications Practicum   
         TDC 562 Computer-Communication Network Design and Analysis   
     TDC 563 Protocols and Techniques for Data Networks   
     TDC 577 Network Security II   
         TDC 588 Advanced Network Defense Systems   
 
Network Technologies courses
Offered Fall 
In classOnline 
         TDC 432 Computer and Information Systems Modeling   
     TDC 460 Foundations of Communications Systems   
     TDC 463 Computer Networks and Data Systems   
     TDC 464 Voice Communication Networks   
     TDC 477 Network Security   
     TDC 511 Telecommunications Practicum   
       TDC 512 Cellular and Wireless Telecommunications   
         TDC 514 Computer Telephony   
     TDC 561 Network Programming   
         TDC 562 Computer-Communication Network Design and Analysis   
     TDC 563 Protocols and Techniques for Data Networks   
     TDC 564 Local Area Networks   
         TDC 565 Voice and Data Integration   
         TDC 566 Broadband Access Technologies   
         TDC 567 Telecommunication Systems Design and Management   
     TDC 568 Network Management   
         TDC 573 Multimedia Networking   
     TDC 577 Network Security II   
         TDC 588 Advanced Network Defense Systems   
 
Information Systems courses
Offered Fall 
In classOnline 
     CNS 477 Legal Issues in Information Assurance   
     IS 433 Information Security Management   
     IS 511 Social Issues of Computing   
         IS 567 Knowledge Discovery Technologies   
 
Computer Game Development courses
Offered Fall 
In classOnline 
         GAM 476 Artificial Intelligence for Computer Games   
         SE 456 Architecture of Computer Games   
         SE 556 Advanced Architecture of Computer Games   
     SE 558 Architecture and Design for Multiplayer Games   
 
User Interfaces Courses
Offered Fall 
In classOnline 
     HCI 440 Usability Engineering   
         HCI 454 Interaction Design   
     HCI 460 Usability Evaluation Methods   
         SE 456 Architecture of Computer Games   
     ECT 455 E-Commerce Web Site Engineering   
 

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). 4 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 Core Knowledge 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 CSC698 (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.
All courses in degree
 
  • CNS 450 Computer Forensics
  • CNS 477 Legal Issues in Information Assurance
  • CNS 594 Computer Information and Network Security Capstone
  • CSC 202 Discrete Structures for Computer Science
  • CSC 211 Programming in Java I
  • CSC 212 Programming in Java II
  • CSC 224 Java for Programmers
  • CSC 373 Computer Systems I
  • CSC 374 Computer Systems II
  • CSC 383 Data Structures and Algorithms in Java
  • CSC 396 Programming in Java I and II
  • CSC 421 Applied Algorithms and Structures
  • 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 431 Scientific Computing
  • CSC 438 Framework for Web Application Development
  • CSC 440 Cryptology
  • CSC 443 Introduction to Operating Systems
  • CSC 444 Automata Theory and Formal Grammars
  • CSC 447 Concepts of Programming Languages
  • CSC 448 Compiler Design
  • CSC 449 Database Technologies
  • CSC 452 Database Programming
  • CSC 454 Database Administration and Management
  • CSC 457 Expert Systems
  • CSC 458 Symbolic Programming
  • CSC 480 Foundations of Artificial Intelligence
  • CSC 481 Introduction to Image Processing
  • CSC 482 Applied Image Analysis
  • CSC 484 Introduction to Computer Vision
  • CSC 489 Theory of Computation
  • CSC 491 Applied Algorithms and Structures
  • CSC 498 Digital Signal Processing
  • 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 538 Vision Systems
  • CSC 541 Introduction to Proteomics
  • CSC 542 Research Practicum in Computational Biology
  • CSC 543 Spatial Databases and Geographic Information Systems
  • CSC 545 Advanced Computer Organization
  • CSC 546 Operating Systems Design
  • CSC 547 Advanced Topics in Program Languages
  • CSC 548 Advanced Compiler Design
  • CSC 549 Database System Implementation
  • CSC 550 Object-Oriented Databases
  • CSC 551 Distributed Database Systems
  • CSC 553 Advanced Database Concepts
  • CSC 575 Intelligent Information Retrieval
  • CSC 578 Neural Networks and Machine Learning
  • CSC 584 Computer Vision
  • CSC 587 Cognitive Science
  • CSC 589 Topics in Database
  • CSC 592 Topics in Computer Vision and Pattern Recognition
  • CSC 594 Topics in Artificial Intelligence
  • CSC 598 Topics in Data Analysis
  • ECT 455 E-Commerce Web Site Engineering
  • ECT 582 Secure Electronic Commerce
  • ECT 584 Web Data Mining for Business Intelligence
  • GAM 476 Artificial Intelligence for Computer Games
  • GPH 425 Survey of Computer Graphics
  • GPH 436 Fundamentals of Computer Graphics
  • GPH 438 Computer Animation Survey
  • GPH 448 Computer Graphics Scripting
  • GPH 450 Digital Modeling I
  • GPH 469 Computer Graphics Development
  • GPH 470 Survey of Computer Graphics
  • GPH 536 Smooth Surface Modeling for Graphics and Animation
  • GPH 538 Rigging for Animation
  • GPH 539 Advanced Rendering Techniques
  • GPH 540 Procedural Shading
  • GPH 541 Advanced Lighting Techniques
  • GPH 560 Modeling Spaces
  • GPH 570 Visualization
  • GPH 572 Principles of Computer Animation
  • GPH 575 Advanced Graphics Development
  • GPH 595 Topics in Graphics
  • HCI 440 Usability Engineering
  • HCI 454 Interaction Design
  • HCI 460 Usability Evaluation Methods
  • IS 433 Information Security Management
  • IS 511 Social Issues of Computing
  • IS 567 Knowledge Discovery Technologies
  • SE 425 Principles and Practices of Software Engineering
  • SE 427 Software Quality Management
  • SE 430 Object Oriented Modeling
  • SE 431 Model-Driven Software Development
  • SE 433 Software Testing
  • SE 435 Distributed Systems I
  • SE 450 Object-Oriented Software Development
  • SE 452 Object-Oriented Enterprise Computing
  • SE 456 Architecture of Computer Games
  • SE 468 Software Measurement/Project Estimation
  • SE 469 Software Safety
  • SE 470 Software Development Processes
  • SE 472 Personal Software Process
  • SE 473 Security Architecture I
  • SE 477 Software and Systems Project Management
  • SE 480 Software Architecture
  • SE 482 Requirements Engineering
  • SE 529 Software Risk Management
  • SE 531 Formal Software Specifications and Development II
  • SE 533 Software Validation and Verification
  • SE 536 Distributed Systems II
  • SE 540 Software Development for Mobile and Wireless Systems
  • SE 542 Software Development for Limited and Embedded Devices
  • SE 546 Software Architecture and Design for Desktop Applications
  • SE 552 Concurrent Software Development
  • SE 554 Enterprise Component Architecture
  • SE 556 Advanced Architecture of Computer Games
  • SE 558 Architecture and Design for Multiplayer Games
  • SE 560 Structured Document Interchange and Processing
  • SE 567 Software Reliability
  • SE 571 Software Maintenance
  • SE 573 Security Architecture II
  • TDC 432 Computer and Information Systems Modeling
  • TDC 460 Foundations of Communications Systems
  • TDC 463 Computer Networks and Data Systems
  • TDC 464 Voice Communication Networks
  • TDC 477 Network Security
  • TDC 511 Telecommunications Practicum
  • TDC 512 Cellular and Wireless Telecommunications
  • TDC 514 Computer Telephony
  • TDC 561 Network Programming
  • TDC 562 Computer-Communication Network Design and Analysis
  • TDC 563 Protocols and Techniques for Data Networks
  • TDC 564 Local Area Networks
  • TDC 565 Voice and Data Integration