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. 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.
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
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
Fully admitted students in the Core Knowledge phase may register of 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 455 |
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
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 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 |
| CSC 448 |
Compiler Design |
Level II
|
Secondary Concentration Areas
|
Level I
| DS 420 |
Foundations of Distributed Systems |
| DS 421 |
Programming of Distributed Systems |
Level II
| SE 550 |
Distributed Software Development |
| DS 513 |
Client/Server Technologies |
| ECT 555 |
Design and Strategies for Internet Commerce |
| DS 520 |
Distributed Systems Frameworks |
| 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 |
|
Level I
| ECT
555 |
Design and Strategies for Internet Commerce |
Level II
|
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 553 |
Advanced Topics for Systems Development |
| ECT 555 |
Design and Strategies for Internet Commerce |
| 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 450 |
Object-Oriented Software Development |
| 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. .
|