| The Distributed Systems degree is a
synthesis of the traditional disciplines of Computer Science, Software
Engineering, and Telecommunication with modern technologies that
incorporate the use of distributed platforms in their application. The
core phase includes software development in languages such as Java, the
study of study of architectures such as CORBA and client/server, and the
study of traditional network routing and protocols. In the Advanced Phase,
students study network and concurrent programming, databases, and
distributed software, using these to develop sophisticated applications.
Graduates of this program will be prepared to lead innovation in the new
wave of Intranet and Web applications.
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 Distributed Systems
are:
| CSC
215 |
Introduction to Programming using C++ |
| and CSC
310 |
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 |
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:
| DS
420 |
Foundations of Distributed Systems |
| SE
450 |
Object-Oriented Software Development |
| TDC
463 |
Computer Networks |
Core Knowledge ExaminationThis 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.
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).
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
A student must complete 40 credits (10 courses) in the Advanced Phase
to earn the MS in Distributed Systems. Students in the Core Knowledge
Phase may register for a maximum of four Advanced Phase courses prior to
passing the Core Knowledge Examination. Students must complete the
following four courses:
| CSC
449 |
Database Technologies |
| DS
520 |
Distributed Systems Practicum |
| SE
550 |
Distributed Software Development |
| TDC
561 |
Network Programming |
Students must also complete three classes chosen from the following
list:
| CSC 447 |
Concepts of Programming Languages |
| CSC
491 |
Design and Analysis of Algorithms |
| CSC
545 |
Advanced Computer Organization |
| CSC
546 |
Operating System Design |
| CSC
551 |
Distributed Database Systems |
| CSC 583 |
Natural
Language Processing |
| DS
513 |
Client/Server Technologies |
| DS
594 |
Distributed Systems Project |
| DS
599 |
Topics in Distributed Systems |
| HCI
440 |
User Interface Design |
| IS
512 |
Groupware and Virtual Collaboration |
| ECT
555 |
Design and Strategies for Internet Commerce |
| TDC
462 |
Data Communications |
|
Elective Courses
Three elective courses must also be completed. See
elective course restrictions below.
Elective Courses
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.
|