logo MyCDM DePaul University Homepage
blank
 

M.S. in Computer Science 2002

 
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

Download Print Version

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. 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.

For graduate programs in 2002, the main prerequisite programming language is Java. Some programs include other languages as prerequisites. Students who wish to transition to the new curricula should review their status with an advisor.

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 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.

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.50 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.75 and a designation of distinction on the core examinations will graduate with distinction.

Prerequisite Phase

The courses in the Prerequisite Phase for the MS in Computer Science are:

CSC 211

Programming in Java I

CSC 212

Programming in Java II

or CSC 224

Java for Programmers
(CSC 224 is equivalent to both CSC 211 and CSC 212.Only students with experience in programming languages should take CSC 224.)

CSC 309

Object-Oriented Programming in C++

CSC 343

Introduction to Operating Systems

CSC 345

Computer Architecture

CSC 415

Foundations of Computer Science I

CSC 416

Foundations of Computer Science II

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

Fully admitted students in the Core Knowledge phase may register for a maximum of four Advanced phase courses. The Core Knowledge Phase courses for the MS in Computer Science are:

CSC 447

Concepts of Programming Languages

CSC 491

Design and Analysis of Algorithms

SE 450

Object-Oriented Software Development Methods

Core Knowledge Examination

These examinations cover the subject matter of the Core Knowledge Phase courses. Students have the option of taking one, two, or three core exams at one time after completion of the applicable course or courses. Possible grades on the Core Examinations are Pass with Distinction, Pass, and Fail. Students are allowed at most two attempts at each exam. Two failures on one exam results in dismissal from the graduate program.

To be eligible for core exam application, a student must have completed all prerequisite courses or be registered for the final prerequisite course in the quarter before the core exam for which the student is applying. Additionally, a student must successfully complete all prerequisite courses (B- or better required) before being allowed to sit for any core exam. Failure to successfully complete a core class (grade of C- or better required) may result in an administrative cancellation of the student's core exam(s).

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). The Primary Concentration is selected from the following: Artificial Intelligence, Computer Graphics, Computer Vision, Data Analysis, Database Systems, Data Communications, and Systems Foundations.

Three courses from a Secondary Concentration. The Secondary Concentration is selected from the following: Artificial Intelligence, Computer Graphics, Computer Vision, Data Analysis, Database Systems, Data Communications, Distributed Systems, E-Commerce Technology, Human-Computer Interaction, Information Systems, Software Engineering, and Systems Foundations.

Three elective courses. Students must choose three graduate level elective courses from the School of CTI. Elective courses are in the range of 420-699. Credit for courses taken outside of the school will be given only if approved by a faculty advisor. Courses suggested for any prerequisite phase do not count for elective credit. Any course required for the students 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.

Primary Concentration Areas

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 480

Foundations of Artificial Intelligence

Level II

CSC 578

Neural Networks

CSC 580

Artificial Intelligence Programming

CSC 583

Natural Language Processing

CSC 594

Topics in Artificial Intelligence

DS 575

Intelligent Information Retrieval

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

GPH 438

Survey of Computer Animation

GPH 469

Computer Graphics I

GPH 470

Survey of Computer Graphics

Level II

GPH 536

Smooth Surface Modeling for Graphics and Animation

GPH 539

Computer Graphics II

GPH 570

Visualization

GPH 574

Computer Games

GPH 575

Advanced Graphic Development

GPH 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.

(Note: Students who choose this concentration should take CSC 323 Data Analysis and Statistical Software while in the prerequisite phase.)

Level I

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. Students who choose this concentration should complete CSC 323 Data Analysis and Statistical Software in their prerequisite phase.

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

CSC 523

Multivariate Data Analysis

CSC 524

Advanced Data Analysis

CSC 598

Topics in Data Analysis

SE 467

Software Reliability

Database Systems Concentration

Database Systems Concentration studies data modeling, database management systems (DBMS) and database application development. 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

CSC 448

Compiler Design

Level II

CSC 503

Parallel Algorithms

CSC 504

Parallel Processing

CSC 535

Formal Semantics

CSC 544

Advanced Theoretical Computer Science

CSC 545

Advanced Computer Organization

CSC 546

Advanced Operating Systems

CSC 547

Advanced Topics in Programming Languages

CSC 548

Advanced Compiler Design

DS 591

Distributed Algorithms

CSC 599

Topics in Computer Science

Secondary Concentration Areas

Distributed Systems Concentration

Level I

DS 420

Foundations of Distributed Systems

DS 421

Distributed Systems Programming

Level II

ECT 555

Design and Strategies for Internet Commerce

DS 513

Client/Server Technologies

DS 520

Distributed Systems Frameworks

DS 594

Distributed Systems Project

DS 599

Topics in Distributed Systems

SE 550

Distributed Software Development

E Commerce Technology Concentration

Level I

ECT 555

Design and Strategies for Internet Commerce

Level II

ECT 441

Usability Issues for E Commerce

ECT 580

Advanced Web Information Systems

ECT 581

Extranet Systems

ECT 582

Secure Commerce

Human-Computer Interaction Concentration

Level I

HCI 400

Analysis and Design for HCI

HCI 440

Introduction to Human-Computer Interaction

HCI 460

Evaluating HCI

Level II

HCI 422

Multimedia

HCI 430

Prototyping for Human-Computer Interaction I

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

ECT 555

Design and Strategies for Internet Commerce

IS 512

Groupware and Virtual Collaboration

IS 553

Advanced Topics for Systems Development

IS 556

Project Management

IS 560

Enterprise Resource Planning

IS 574

Decision Support Systems and Executive Information Systems

IS 577

Information Technology Policy and Strategies

Software Engineering Concentration

Level I

SE 430

Object-Oriented Programming

SE 431

Formal Software Specifications and Development I

SE 452

Object Oriented Enterprise Application Development

SE 480

Software Architecture

Level II

SE 531

Formal Software Specifications and Development II

SE 533

Software Validation and Verification

SE 540

Software Development for Mobile and Embedded Systems

SE 550

Distributed Software Development

SE 552

Concurrent Software Development

SE 560

Structured Document Interchange and Processing

Electives/Personalized Concentrations

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.

Personalized Concentration
Students with superior results on the Core Knowledge Phase examination may be allowed to personalize their Advanced Phase requirements. After planning their personalized concentration with their advisor, they must submit the plan to the CTI associate dean for approval. Permission for the personalized concentration must be obtained prior to completion of most ot the concentration courses.

Masters Research Option
Students interested in a more in-depth study of a particular area in their concentration, can choose to work with a faculty member (not necessarily their academic advisor) on a research project. The Masters research option will replace one elective and one course in the student’s primary area of concentration. This option can be satisfied by taking the course CSC 696 (Masters Project) at least twice, each time for 4 credits. The research option replaces one elective course and one Level II course in the student's area of concentration. Students who choose this option must successfully complete the core exams prior to their first enrollment in CSC 696. The research project must represent an original contribution to the area, and may include system development, empirical studies, or theoretical work. The scope and the details of the research project will be determined by the research supervisor, and must be approved by the student's academic advisor. At the end of the two quarters, 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 CTI Departmental Technical Report. .