logo MyCDM DePaul University Homepage
blank
 

MS in Computer Science 1999

 
Home
Course Information
Course Syllabi
Schedule
Faculty
Undergraduate Degrees
Graduate Degrees
 
News and Events
Calendar
 
MSDNAA
TechSupport Guide
 
MyCDM
Prerequisite Knowledge Videos

2003 2002

For transition plans and course equivalency tables, please click here

The Master of Science in Computer Science is the most technical of CTI's master’s programs. The courses in the Prerequisite Phase and Core Knowledge Phase focus on the foundations and fundamentals of programming languages, and the theoretical underpinnings of computer science. Advanced Phase courses give students a great deal of flexibility, allowing them to concentrate in a wide range of sub areas of computer science or other areas of CTI. This degree is appropriate for students who wish to pursue a technical career in any of a number of areas of computer science, or for students who may wish to pursue a Ph.D. degree in the future.

The program follows a three-phase sequence, with each phase preparing the student for the subsequent phase. The master’s degree program consists of:

Upon acceptance into the master’s degree program, the student will meet with their faculty advisor to discuss required courses for the Prerequisite Phase. The Prerequisite Phase is intended to ensure that all students enter graduate courses with an equivalent background. While completing this phase, a student is considered a conditionally admitted master’s student. In the Core Knowledge phase, a student will follow a sequence of courses to acquire an understanding of the technological and theoretical foundations for the particular degree. In the Advanced Phase of the program, the fundamental information learned previously allows a student to study advanced topics within their chosen degree. This phase adds depth to the work completed in the Core Knowledge Phase. Individual interests and needs are also addressed through a series of elective courses chosen in consultation with the student’s faculty advisor.

Prerequisite Phase

The courses in the Prerequisite Phase for the MS in Computer Science are:
CSC 215 Introduction to Structured Programming using C++
and CSC310 Principles of Computer Science I
or CSC 225

 

C++ for Programmers
(CSC 225 is equivalent to both CSC 215 and CSC 310.Only students with experience in programming languages should take this course.)
CSC 323 Data Analysis and Statistical Software I
CSC 343 Introduction to Operating Systems
CSC 345 Computer Architecture
CSC 415 Foundations of Computer Science I
CSC 416 Foundations of Computer Science II
CSC 417 Foundations of Computer Science III

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 a Change of Status request when the Prerequisite Phase is completed to inform the Student Services offices that the block can be removed. The form 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 Core Knowledge Phase of the program.

Core Knowledge Phase

Core Knowledge Courses

Students must complete the Prerequisite Phase before beginning the Core Knowledge Phase. However, while completing the Prerequisite Phase courses, students may take Core Knowledge Phase courses with consent of their faculty advisor. Fully admitted students in the Core Knowledge Phase may register for a maximum of four Advanced Phase courses prior to passing the Core Knowledge Examination. A student must receive a grade of C- or better in each of the Core Knowledge Phase courses, and also in subsequent courses in the degree program. The Core Knowledge Phase courses for the MS in Distributed Systems are:

CSC 447 Concepts of Programming Languages
CSC 491 Design and Analysis of Algorithms
SE 455 Software Development Methods

Core Knowledge Examination

This examination covers the subject matter of the Core Knowledge Phase courses. Students take this examination following successful completion of the Core Knowledge Phase course requirements. The Core Knowledge Examination is offered three times during the academic year. Students are allowed at most two attempts at this examination. Two failures result in dismissal from the graduate program. Possible grades on the Core Knowledge Examination are Pass, Fail and Pass with Distinction. Students who pass the Core Knowledge Examination with distinction and maintain a 3.75 grade point average graduate with distinction.

The student must submit a written application three months before taking the Core Knowledge Examination. A student must finish the Prerequisite Phase in order to be eligible for the Core Exam. There is no charge for the Core Exam.

Advanced Phase

The Advanced Phase consists of ten courses. At least four of these courses must be designated as Level II courses. The ten courses are as follows:

Four courses from a Primary Concentration.

(at least two of which are designated as Level II courses).

Three courses from a Secondary Concentration.

The Primary and Secondary Concentrations are chosen form the list below. If the same course is listed in two concentrations, it may only count toward fulfilling the course requirements of one concentration.

Three elective courses.

Primary Concentrations

Artificial Intelligence Concentration

Artificial Intelligence Concentration is the study of computational models of intelligence. AI researchers split roughly into two camps: those concerned with forming models of human cognitive behavior that are computational; and those who wish to make computers perform tasks requiring intelligence for humans to perform, without necessarily simulating human mechanisms. The techniques

used in both camps may be either symbolic in nature or more directly modeled on neural computation. No matter the approach, researchers also develop languages and tools to support the development of the complex software systems realizing these models. The AI concentration covers all these approaches, with a particular emphasis on applying the languages, tools and techniques of AI to such areas as planning, natural language processing, vision, knowledge representation, learning, neural nets, cognitive modeling, and expert systems.

Level I

CSC 456 Foundations of Intelligent Databases
CSC 457 Expert Systems
CSC 458 Symbolic Programming
CSC 578 Neural Networks I

Level II

CSC 556 Foundations of Artificial Intelligence
CSC 579 Neural Networks II
CSC 582 Machine Learning
CSC 583 Natural Language Processing
CSC 585 Knowledge Representation
CSC 587 Cognitive Science
CSC 594 Topics in Artificial Intelligence

Computer Graphics Concentration

Computer Graphics Concentration encompasses synthetic imaging, animation, computer-aided design, visualization and the technology of interactive techniques. Synthetic imaging includes such techniques as raytracing, while animation covers both physically-based and character-based motion. Computer-aided design helps industry to visualize entities (buildings, airplanes) that do not yet exist while visualization helps people to comprehend large datasets. A concentration in Computer Graphics prepares students for work in the dynamic and rapidly changing areas of industry involving computer graphics, such as animation, CAD/CAM, graphical user interface development and gaming. Computer Graphics has close ties with computer vision, human-computer interaction, and distributed computing.

Level I

CSC 436 Foundations of Visual Computing
CSC 469 Computer Graphics I
CSC 470 Survey of Computer Graphics

Level II

CSC 536 Modeling for Computer Aided Design
CSC 539 Computer Graphics II
CSC 570 Visualization
CSC 595 Topics in Graphics

Computer Vision Concentration

Computer Vision Concentration deals with the study of data structures, algorithms and hardware for processing visual information. It include traditional areas such as robot vision, signal and image processing, and pattern recognition, and newer areas such as graphical user interfaces and scientific visualization. Completion of the Computer Vision concentration can led to career in the development of vision systems for robotic devices, working with the bar code or document scanners, or analyzing X-rays and other medical images. Students interested in the computer vision concentration should also consider taking courses in related areas such as computer graphics, graphical user interfaces, and distributed computing.

Level I

CSC 436 Foundations of Visual Computing
CSC 481 Pattern Recognition and Image Processing
CSC 498 Digital Signal Processing

Level II

CSC 538 Vision Systems
CSC 584 Computer Vision
CSC 592 Topics in Computer Vision and Pattern Recognition

Data Analysis Concentration

Data Analysis Concentration is the study of how to describe and model numerical data, how to encode these models using software tools, and how to interpret and report the results. The core courses provide students with the fundamentals of both computer science and data analysis. Students complete their program by choosing from a wide variety of related topics including artificial intelligence, database, data communications, formal methods, genetic algorithms, graphics, machine learning, multimedia, neural networks, numerical analysis, operation research, pattern recognition, queuing theory, simulation, software measurement, software reliability, and visual computing. The program is especially suited to students with an interest in quantitative topics with an applied rather than theoretical emphasis complemented with a firm grounding in computing.

Level I

CSC 423 Data Analysis and Regression
CSC 425 Categorical Data Analysis
CSC 428 Data Analysis for Experimenters
SE 468 Software Measurement

Level II

SE 467 Software Reliability
CSC 523 Multivariate Data Analysis
CSC 524 Advanced Data Analysis
CSC 598 Topics in Data Analysis

Database Systems Concentration

Database Systems Concentration studies data modeling, database management systems (DBMS) and database application development. The curriculum includes three required database courses focusing on the relational database technology, database design and database programming. Students may choose from advanced database courses covering distributed and client/server databases, object-oriented databases, and many other advanced database technologies and applications. This concentration would be appropriate for anyone seeking a career in database administration, database design, database application development, and DBMS development. The concentration also provides an excellent foundation for advanced graduate study.

Level I

CSC 449 Database Systems
CSC 451 Database Design
CSC 452 Database Programming
CSC 453 Client/Server Database Development

Level II

CSC 549 Advanced Database Systems
CSC 550 Object-Oriented Databases
CSC 551 Distributed Database Systems
CSC 589 Topics in Databases

Data Communications Concentration

Data Communications Concentration is the study of traditional computer systems and software development. Students choose from a variety of courses in data communications protocols and networking. This concentration would be appropriate for anyone seeking a career in network software development, integration of network projects into existing system applications, or other work in a traditional computer center that uses networks.

Level I

TDC 462 Data Communications
TDC 463 Computer Networks and Data Systems
TDC 561 Network Programming

Level II

TDC 432 Computer and Information Systems Modeling
TDC 489 Queuing Theory with Computer Applications
TDC 513 Client/Server Technologies
TDC 562 Computer Communications Network Design and Analysis
TDC 563 Protocols and Techniques for Data Networks
TDC 564 Local Area Networks
TDC 566 Voice and Data Integration
TDC 568 Network Management

Systems Foundations Concentration

Systems Foundations Concentration is a concentration for students who desire current, advanced broad base technical work in computing technology. This is a flexible program that may be customized to the students’ particular needs and interests. This concentration also provides the foundation necessary to pursue a Ph.D.

Level I

CSC 426 Values and Computer Technology
CSC 434 Object-Oriented Programming
CSC 444 Automata Theory and Formal Grammars
formerly CSC 493
CSC 448 Compiler Design

Level II

CSC 503 Parallel Algorithms
CSC 504 Parallel Processing
CSC 535 Formal Semantics
CSC 544 Advanced Theoretical Computer Science
formerly CSC 490
CSC 545 Advanced Computer Organization
CSC 546 Advanced Operating Systems
CSC 548 Advanced Compiler Design
CSC 599 Topics in Computer Science

Secondary Concentrations:

The following Concentrations from other divisions of CTI may be selected for a secondary concentration only:

Distributed Systems Concentration

Level I

DS 420 Foundations of Distributed Systems

Level II

SE 550 Distributed Software Development
DS 513 Client/Server Technologies
IS 555 Design and Strategies for Internet Commerce
DS 520 Distributed Systems Practicum
DS 594 Distributed Systems Project
DS 599 Topics in Distributed Systems

Human-Computer Interaction Concentration

Level I

HCI 400 Analysis and Design for HCI
HCI 410 Introduction to Human-Computer Interaction
HCI 430 Prototyping for Human-Computer Interaction I

Level II

HCI 422 Multimedia
Any 500-level HCI course

Information Systems Concentration

Level I

IS 421 Information Systems Analysis and Design
IS 422 Information Systems Design
IS 483 Information Systems Management

Level II

IS 512 Groupware and Virtual Collaboration
IS 552 Enterprise Resource Planning
IS 555 Design and Strategies for Internet Commerce
IS 556 Project Management
IS 574 Decision Support Systems and Executive Information Systems
IS 577 Information Technology Policy and Strategies

Software Engineering Concentration

Level I

SE 420 Software Design
SE 430 Object-Oriented Programming
SE 431 Formal Software Specifications and Development I
SE 450 Object-Oriented Software Development
SE 465 Software Engineering Principles

Level II

SE 451 Distributed Software Development
SE 466 Software Engineering Projects
SE 480 Software Architecture
SE 531 Formal Software Specifications and Development II
SE 533 Software Validation and Verification

Elective Courses

Three elective courses must be completed. When choosing electives, keep in mind that four Level II courses (at least two of which will have been completed in the primary concentration) must be completed in order to graduate.

Elective Course Restrictions
Elective courses are in the range of 420-699 and must be from the school of CTI. Credit for courses taken outside of the school will only be given if approved by a faculty advisor. Courses suggested for any Prerequisite Phase in any concentration do not count for elective credit. Any course required for the student’s concentration but taken as part of the requirements of another degree earned by the student may be waived, but cannot be used for elective credit.