|
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 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 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.
(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
|
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
|
|
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
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
|
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
|
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 |
|
Level I
|
ECT 555 |
Design and Strategies for Internet Commerce |
Level II
|
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. .
|