| The Master of Science in Computer Science is the most technical of CTI's
masters 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 masters degree program
consists of:
Upon acceptance into the masters 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
masters 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 students 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
Level II
|
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
Level II
|
|
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
|
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
|
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
Level II
|
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
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 |
|
|
The following Concentrations from other divisions of CTI may be
selected for a secondary concentration only: |
|
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 |
|
|
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 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.
|