|
Computer Science
Baskin School of Engineering
335 Baskin Engineering Building
(831) 459-2158
http://www.soe.ucsc.edu
Program Description | Faculty
| Course Descriptions
Program Description
Computer science is the study of the theoretical and
practical aspects of computer technology and computer usage. The Computer
Science Department offers courses on a wide range of topics, many of which
include a mathematical component, and offers undergraduate bachelor of arts and
bachelor of science degrees in computer science, a bachelor of science in
computer science: computer game design, bachelor of science as well as the
master of science and doctor of philosophy degrees. Besides offering instructional
courses, the department engages in a substantial research program in which both
advanced undergraduates and graduate students participate.
The bachelor of arts program at UCSC is designed to
give students a solid grounding in both theoretical and practical topics in
computer science, computer engineering, and mathematics while leaving
flexibility for a broad program of study, including many courses outside of the
sciences, or even for a double major in another discipline. The bachelor of
science program is appropriate for students desiring a somewhat stronger
concentration in the sciences, with more courses in computer science and
computer engineering, as well as courses in physics or chemistry; this program
also allows for electives outside of the sciences.
The bachelor of science in computer game design
builds on a rigorous core program of study in computer science, adding
interdisciplinary study on the artistic, dramatic, and narrative elements of
computer game design; a year-long game design project acts as a capstone
learning experience. Because many courses in all three programs have
prerequisites, students leaning toward any of these programs will enjoy greater
scheduling flexibility if they begin some preparatory courses in their first
year. The specific course requirements for each undergraduate degree are given
below.
Applications of computer science are found in many
other areas of study, from art and music to business and science. Thus,
interdisciplinary activities are encouraged. For those students whose primary
interest is in another area, a minor in computer science is offered.
Courses for Nonmajors
The Computer Science Department offers a wide range of
courses intended for nonmajors as well as majors. These include course 2, Computer Literacy; course 10, Introduction
to Computer Science; course 80B, Systems and
Simulation; course 80C, Computer Arts and Graphics;
and course 80K, Foundations of Interactive Game Design.
Course 10, Introduction to Computer Science, may be
beneficial to students who are considering the major but have a limited
background in computer science. There are also introductory programming classes
intended for nonmajors: courses 60G and 60N, Beginning
Programming.
Computer Science Policies
Admission to the computer science majors is
selective. First-year applicants may receive direct admission at the time they
apply to UCSC based on their high school record and test scores. Admission to
the major after a student has entered UCSC is based on performance in the
foundation courses: courses 12A and 12B (or 13H); Computer Engineering 16; and
Mathematics 19A-B, or Mathematics 20A-B. Please refer to the School of Engineering section of the catalog for the full admissions policy.
Disqualification and Satisfactory Progress in the
Major
Students who do not make adequate progress in the
computer science major may be disqualified from the major. Adequate progress
normally means passing a minimum of three courses required for the major over
every three consecutive quarters. (For part-time students, 15 credits attempted
equals one full term.) Students who do not expect to meet this requirement
should consult their faculty adviser and/or the undergraduate director for
their major beforehand.
Students who receive a total of three grades of D,
F, or No Pass in the key courses, Computer Science 12A, 12B, 13H, 101; and
Computer Engineering 12 and 16, may, at the discretion of the department, be
disqualified from the major.
The department may, at its sole discretion,
disqualify from the major any student making two unsuccessful attempts in any
one of the following principal courses commonly used to satisfy degree
requirements:
- Computer Science 12A, 12B,
13H, 101, 102, 104A, 104B, 105, 111, 112, 115, 116, 130, 132, 140, 160, 161, 180,
181, and 183;
- Computer Engineering 12, 16,
100, 107, and 110;
- Applied Mathematics and
Statistics 27, 131, and 147;
- Physics 5A, 5B, 5C, 6A, 6B,
and 6C;
- Chemistry 1B and 1C;
- Mathematics 19A-B or
Mathematics 20A-B, and 23A.
Each grade of D, F, or No Pass counts as one
unsuccessful attempt; each grade of W counts as one-half of an unsuccessful
attempt. The School of Engineering section contains
additional disqualification policies, such as maintaining a 2.0 GPA in the
major and the ethics requirement, that apply to computer science majors.
Students at risk of disqualification must meet with
an undergraduate adviser to discuss their options for continuing in the major.
The Computer Science Department requires letter
grades for all courses applied toward the B.A., B.S., and minor in computer
science with the exception of two lower-division courses which students may
elect to take Pass/No Pass. This policy includes courses required for the
computer science majors but sponsored by other departments.
Most courses in the computer science program at UCSC
have a strong theoretical component to prepare the student for designing, as
opposed to simply using, computer systems. Often, courses taken at other
institutions which emphasize applications of current languages and computers do
not count toward the computer science major at UCSC.
At UCSC, students are first introduced to
programming using the programming language Java. The core programming sequence,
courses 12A/L and 12B/M (or 13H/L, which covers both 12A/L and 12B/M), exposes
students to both Java and C. Many upper-division courses that involve
programming use the C and C++ programming languages. Transfer students who are
not familiar with both Java and C may need to take a remedial course. Students
familiar with C++ and Unix should find the transition to Java and C relatively
simple.
Please refer to the School of Engineering section of
the catalog for the policy regarding transfer students.
Please refer to the School of Engineering section of
the catalog for additional policies that apply to all School of Engineering programs. These policies include admission to the major, limits on the number of
times courses can be attempted, and the need for computer science students to
obtain preapproval before taking courses elsewhere.
Preparation for the Major
It is recommended that high school students intending to
apply to the computer science major have completed four years of mathematics
(through advanced algebra and trigonometry) and three years of science in high
school. Comparable college mathematics and science courses completed at other
institutions also serve to properly prepare a student for the computer science
major.
B.A. Major Requirements
The aim of this program is to expose students to a
rigorous curriculum in computer science while maintaining sufficient
flexibility so that students can take courses outside computer science, pursue
a minor in another discipline, or complete a double major. Every student must
complete a minimum of 17 courses, eight lower-division and nine upper-division.
Out of these, the eight lower-division courses and the first upper-division
course are required preparatory courses for every student. Once these
preparatory courses are completed, students tailor their own program by
choosing eight additional upper-division elective courses. To provide an
adequate balance in subject matter, these additional courses must be divided
between those that emphasize the theoretical aspects of the field and those
that have a more practical focus. To provide a depth of study in one aspect of
computer science, students must complete one of the approved depth sequences.
Each student must successfully complete the following
nine required preparatory courses:
Computer Science
12A/L, Introduction
to Programming/Computer Programming Laboratory;
12B/M, Introduction
to Data Structures/Laboratory;
13H/L, Introduction
to Programming and Data Structures/Laboratory (Honors)
Computer Engineering
12/L, Computer
Systems and Assembly Language/ Laboratory
16, Applied
Discrete Mathematics
Mathematics
19A-B, Calculus
for Science, Engineering, and Mathematics (credit for one or both may be
granted with adequate performance on the CEEB calculus AB or BC Advanced
Placement exam); or Mathematics 20A-B, Honors Calculus
23A, Multivariable
Calculus
Applied Mathematics and Statistics
27/L, Mathematical
Methods for Engineers/Laboratory (formerly Mathematics 27); or
Mathematics 21, Linear Algebra; and 24, Ordinary Differential Equations
101, Abstract
Data Types
In addition to the above nine required courses,
students must complete eight upper division electives, by completing the
requirements for one depth sequence. At least 50 percent of these
upper-division courses must be completed at UCSC.
For the following depth sequences, students must
take at least seven courses from the theory and practice course lists, as
follows:
- a minimum of three courses from
the theory course list and a minimum of three courses from the practice course
list;
- the seven courses from the theory
and practice course lists must include all of the courses of one of the depth
sequences;
- the eighth upper-division elective
must be selected from any upper-division (5-credit) School of Engineering course.
The depth sequence courses are:
- Compilers and language theory:
Computer Science 104A, 112, and 130 or 104B;
- Operating systems and hardware:
Computer Engineering 100/L, Computer Science 111, and Computer Engineering 110
or 121/L;
- Theory: Computer Science 102, 130,
and 132;
- Software methodology: Computer
Science 115 and two of the following: 104A, 112, and 116;
- Graphics: Computer Science 160,
161, and AMS 147;
- Databases: Computer Science 180,
181, and 183
For the Interactive Game Design depth sequence only,
students must satisfy the following requirements:
- Core courses: students must take
Computer Science 130, 105, 140, 160, and 115.
- Game Design Electives: students
must take two courses from the game design electives list.
- Free elective: any course from the
theory and practice course lists.
Computer Science
102,
Introduction to Analysis of Algorithms
130, Computational
Models
132, Computability
and Computational Complexity
Computer Engineering
107, Mathematical
Methods of Systems Analysis: Stochastic
108, Data
Compression
154, Data
Communications
177, Applied
Graph Theory and Algorithms
Electrical Engineering
103, Signals
and Systems
153, Digital
Signal Processing (formerly Computer Engineering 153)
Applied Mathematics and
Statistics
31,
Introduction to Probability Theory (formerly Mathematics 131A)
146, Discrete
Dynamical Systems
147, Computational
Methods and Applications
162, Design
and Analysis of Computer Simulation Experiments
Mathematics
115,
Graph Theory
117, Advanced
Linear Algebra
126, Mathematical
Control Theory
148, Numerical
Analysis
Computer Science
104A, Fundamentals
of Compiler Design I
104B,
Fundamentals of Compiler Design II
105, Systems
Programming
109, Advanced
Programming
111, Introduction
to Operating Systems
112, Comparative
Programming Languages
115, Software
Methodology
116, Software
Design Projects
122, Computer
Security
128, Distributed
Systems
129, Data
Storage Systems
140, Artificial
Intelligence
160/L, Introduction
to Computer Graphics /Laboratory
161/L, Visualization
and Computer Animation/Laboratory
180, Database
Systems I
181, Database
Systems II
183, Hypermedia
and the Web
190X, Methods
of Cryptography
204, Compiler
Design
Computer Engineering
100/L, Logic
Design/Laboratory
110, Computer
Architecture
113,
Parallel and Concurrent Programming
117/L, Embedded
Software/Laboratory
118/L, Introduction
to Mechatronics/Laboratory
121/L, Microprocessor
System Design/Laboratory
123A, Computer
Engineering Design Project I
123B, Computer
Engineering Design Project II
125/L, Logic
Design with Verilog/Laboratory
126/L, Advanced
Logic Design/Laboratory
150, Introduction
to Computer Networks
152,
Analysis and Design of Communication Protocols
155/L, Computer
Networks Project/Laboratory
163/L, Multimedia
Processing and Applications/ Laboratory
Electrical Engineering
130/L, Introduction
to Optoelectronics and Photonics/Laboratory
Computer Science
102, Introduction
to Analysis of Algorithms
116, Software
Design Project
128, Distributed
Systems: File Sharing, Online Gaming, and More
161/L, Visualization
and Computer Animation
180,
Database Systems
Computer Engineering
150, Introduction
to Computer Networks
167/L, Sensing
and Sensor Technologies
Film and Digital Media
170A, Introduction
to Digital Media Production
171D, Social
Information Spaces
177, Digital
Media Workshop
B.S. Major Requirements
This program is designed for students who wish to
maximize exposure to computer science concepts and methods by taking a larger
selection of upper-division computer science courses, as well as additional
courses in the sciences and mathematics. A minimum of 22 courses must be
completed for the B.S. in computer science degree, whereas a minimum of 17
courses must be completed for the B.A. in computer science degree. Out of the
22 courses, 10 are lower-division courses (including two science courses), and
12 are upper-division courses. The B.S. is more structured than the B.A. in the
sense that 18 specific courses are required, and the remaining four are
elective upper-division computer science or computer engineering courses.
Students are required to take the following 18
courses:
Computer Science
12A/L, Introduction
to Programming/Computer Programming Laboratory
12B/M, Introduction
to Data Structures/Laboratory;
13H/L, Introduction
to Programming and Data Structures/Laboratory (Honors) may be taken in
place of taking both 12A/L and 12B/L
101, Abstract
Data Types
102, Introduction
to Analysis of Algorithms
104A, Fundamentals
of Compiler Design I
111, Introduction
to Operating Systems
112, Comparative
Programming Languages
130, Computational
Models
Computer Engineering
12/L, Computer
Systems and Assembly Language/ Laboratory
16, Applied
Discrete Mathematics
107, Mathematical
Methods of Systems Analysis: Stochastic; or AMS 131, Introduction to Probability Theory (formerly Mathematics
131A)
110, Computer
Architecture
Mathematics
19A-B, Calculus
for Science, Engineering, and Mathematics; or Mathematics
20A-B, Honors Calculus
23A, Multivariable
Calculus
Applied Mathematics and Statistics
27/L, Mathematical
Methods for Engineers/ Laboratory (formerly Mathematics 27); or
Mathematics 21, Linear Algebra; and 24, Ordinary Differential Equations
131, Introduction
to Probability Theory; or Computer Engineering 107, Mathematical Methods of Systems Analysis: Stochastic
Physics or Chemistry
Either two physics or two
chemistry courses, with their associated laboratories, from the following:
Physics 5A/L, Introduction to Physics I/Laboratory (or 6A/L);
and either Physics 5B/M, Introduction to Physics II/Laboratory (or 6B/M);
or Physics 5C/N, Introduction to Physics III/Laboratory (or 6C/N)
Chemistry 1B/M, General Chemistry/Laboratory
Chemistry 1C/N, General Chemistry/Laboratory
The remaining four courses must be
upper-division computer science or computer engineering electives selected from
the theory and practice course lists (see B.A. Major Requirements reference
above). One of these courses may be replaced by an upper-division mathematics
course from the theory course list.
Comprehensive Requirement
In addition to the above B.A. or B.S. requirements,
students in the computer science majors must satisfy one of the following three
exit requirements: pass one of the capstone courses (see Capstone Courses below); obtain a scaled score of 600 or above on the Graduate Record
Examination (GRE) Advanced Computer Science Subject Test; or successfully complete
a senior thesis.
Capstone Courses
Students may choose from one of the following capstone
courses to satisfy their exit requirement:
CMPS 104B, Fundamentals of Compiler Design II
CMPS 104B, Fundamentals of Compiler Design II
CMPS 116, Software Design Project
CMPS 140, Artificial Intelligence
CMPS 161/L, Visualization and Computer Animation/Laboratory
CMPS 181, Database Systems II
CMPS 183, Hypermedia and the Web
Students taking one of the capstone courses will
enroll normally. Students need to pass the capstone course to pass the exit
requirement. No course may be attempted more than twice without prior approval
from the chair of the department offering the course. W's count as an attempted
class for this purpose. If a student fails to receive a passing score during
these two attempts, he or she may still take the GRE Advanced Computer Science
Subject Test and achieve a scaled score of 600 or above to satisfy the exit
requirement.
The senior thesis consists of a self-contained
project within the broad scope of computer science, but one that is not
available in the regular course offerings. A student wishing to complete a
senior thesis must successfully complete a minimum of 5 credits in course 195, Senior Thesis Research; submit a written thesis proposal;
and have it accepted by a faculty supervisor. The supervision of a senior
thesis student is always at the discretion of the faculty member. A written
report and an oral presentation to a faculty examining committee are required.
Students who elect to use the GRE Advanced Computer
Science Subject Test as their senior exit requirement must arrange to take the
GRE test and have scores submitted to the department before graduation
deadlines. Contact the UCSC Career Center for GRE information and application
forms.
Honors in the Major
Students who obtain a GPA of 3.8 or higher in the
courses in the major will receive the distinction of "Highest Honors in the
Major." Students who obtain a GPA of 3.5 or higher in the courses in the major
will receive the distinction of "Honors in the Major."
Computer Science Major Planners
The following are four sample academic plans for
first-year students as preparation for the computer science major. Plans One A
and Two A are suggested guidelines for students who are committed to the major
early in their academic career. Plans One B and Two B are for students who are
considering the major. Students who plan carefully can still have several
openings free to take other breadth courses they find interesting.
| Plan One A, B.A. Degree |
| Year |
Fall |
Winter |
Spring |
1st
(frsh) |
Cmps 10
Math 19A |
Cmps 12A/L
Math 19B |
Cmps 12B/M
Math 23A |
2nd
(soph) |
AMS 27/L |
Cmpe 16 |
Cmps 101
Cmpe 12/L |
| Plan One B, B.A. Degree |
| Year |
Fall |
Winter |
Spring |
1st
(frsh) |
|
Math 19A |
Math 19B |
2nd
(soph) |
Cmps 10
Math 23A |
Cmpe 16 or 16H/L
Cmps 12A/L |
Cmps 12B/M
AMS 27/L |
| Plan Two A, B.S. Degree |
| Year |
Fall |
Winter |
Spring |
1st
(frsh) |
Cmps 12A/L
Math 19A |
Cmps 12B/M
Math 19B |
Cmpe 12/L
Cmpe 16 |
2nd
(soph) |
Math 23A
AMS 27/L
|
Cmps 101
Phys 6A/L
|
Cmpe 100/L
Phys 6C/N |
| Plan Two B, B.S. Degree |
| Year |
Fall |
Winter |
Spring |
1st
(frsh) |
Cmps 10 |
Math 19A |
Cmps 12A/L
Math 19B |
2nd
(soph) |
Cmps 12B/M
|
Math 23A
CMPE 16 |
Cmpe 12/L
or AMS 27/L |
B.S. Computer Science: Computer Game Design Major Requirements
The goal of this degree is to provide students a deep
understanding of the technical aspects of computer game engineering, and a
broad background in the artistic, narrative, and dramatic elements of game
design. The core of the degree program is a strong grounding in computer
science and computer engineering, preceded by a foundation in math and physics.
Classes in ethics, as well as courses in art, film, music, theater arts, and
economics provide breadth in topics of special relevance to computer game design.
In their upper division courses, students gain depth by taking upper division
electives in computer science and computer engineering. Two advanced courses in
digital media give students the ability to view computer software from an
artistic framework. A year-long capstone game design studio class allows
students to develop substantial computer games, and integrate materials from
the rest of the program.
The curriculum has 124-141 credits in 24-25 courses
(depending on whether a student enters as a transfer student). 12 of the
courses are upper division. Students interested in the major should pay special
attention to the overlap between general education requirements and major
requirements, as the major covers up to six general education requirements.
Lower- and Upper-Division Requirements
Course requirements are divided into six conceptual
areas:
Mathematics
and Physics
Complete all of the following courses:
Mathematics 19A-B, Calculus for Science, Engineering, and Mathematics.
(Students can alternately
take Honors Calculus, Mathematics 20A-B. Credit for
one or both Math 19A-B may be granted with adequate performance on the CEEB
calculus AB or BC Advanced Placement exam.)
Mathematics 21, Linear Algebra, or Applied Mathematics and Statistics
27/L, Mathematical Methods for Engineers
Computer Engineering 16 (or
16H), Applied Discrete Mathematics,
Physics 5A/L (or 6A/L), Introduction to Physics I
Computational
Foundations
Complete all of the following courses:
Computer Science 12A/L: Introduction to Programming
Computer Science 12B/M: Introduction to Data Structures
Computer Engineering 12/L: Computer Systems and Assembly Language Laboratory
Computer Science 109: Advanced Programming
Computer Science 101: Algorithms and Abstract Data Types
Game
Design
Complete all of the following courses. The course
Game Design Experience is waived for transfer students.
Computer Science 20: Game Design Experience (pending)
Computer Science 170: Game Design Studio I (pending)
Computer Science 171: Game Design Studio II (pending)
Computer Science 172: Game Design Studio III (pending)
Computer
Game Engineering
Complete six courses from the following list:
Computer Science 160: Introduction to Computer Graphics
Computer Science 161/L: Visualization and Computer Animation
Computer Science 164: Graphic Elements for Computer Games
Computer Engineering 163/L: Multimedia Processing and Applications
Computer Science 140: Artificial Intelligence
Computer Science 146: Game Artificial Intelligence
Computer Engineering 110: Computer Architecture
Computer Science 128: Distributed Systems: File Sharing, Online Gaming, and More
Computer Science 105: Systems Programming
Computer Science 111: Introduction to Operating Systems
Computer Engineering 150: Introduction to Computer Networks
Computer Engineering 152: Analysis and Design of Communication Protocols
Computer Engineering 113: Parallel and Concurrent Programming
Computer Science 180: Database Systems I
Computer Science 181: Database Systems II
Computer Science 183: Hypermedia and the Web
Computer Science 102: Introduction to Analysis of Algorithms
Computer Science 130: Computational Models
Computer Engineering 117/L: Embedded Software
Applied Mathematics and
Statistics 131: Introduction to Probability Theory
Applied Mathematics and Statistics
147: Computational Methods and Applications
Applied Mathematics and
Statistics 162: Design and Analysis of Computer Simulation
Experiments
Digital
Media
Complete two courses from the following list:
Film and Digital Media 170A: Introduction to Digital Media Production
Film and Digital Media 177: Digital Media Workshop: Computer as a Medium
Film and Digital Media 171D: Social Information Spaces
Any course offered in the
Digital Arts New Media (DANM) curriculum (requires approval of professor)
Art 118: Computer Art: Theories, Methods, and Practices (may require approval of
instructor)
Theater Arts 157: Playwriting Workshop
Art
and Social Foundations
Complete the ethics requirement and three of the
following electives.
Ethics Requirement
One of:
Computer Engineering 80E: Engineering Ethics
Philosophy 22: Introduction to Ethical Theory
Philosophy 24: Introduction to Ethics: Contemporary Moral Issues
Philosophy 28: Environmental Ethics
Biomolecular Engineering 80G:
Bioethics in the Twenty-First Century:
Science,
Business, and Society (cross listed as PHIL 80G)
Art Elective
One of:
Art 10G: 2D Foundation
Art 10H: 3D Foundation
Art 80A: Introduction to Drawing
Art 80F: Introduction to Issues in Digital Media
Film Elective
One of:
Film and Digital Media 20A: The Film Experience
Film and Digital Media 20C: Introduction to Digital Media
Film and Digital Media 20P: Introduction to Production Technique
Theater Elective
One of:
Theater Arts 10: Introduction to Theater Design and Technology
Theater Arts 18: Drafting for Theatrical Production
Theater Arts 19: Design Studio: Lighting Studio
Theater Arts 20: Introductory Studies in Acting
Theater Arts 30: Introduction to Modern Dance Theory and Technique
Theater Arts 40: Introduction to Directing
Theater Arts 80E: Stand-Up Comedy
Theater Arts 80L: Muppet Magic: Jim Henson's Art
Music Elective
One of:
Music 11A: Introduction to Western Art Music
Music 11B: Introduction to Jazz
Music 11C: Introduction to American Popular Music
Music 11D: Introduction to World Music
Music 80C: History, Literature, and Technology of Electronic Music
Music 80L: Artificial Intelligence and Music
Music 80M: Film Music
Music 80R: Music and the World Wide Web
Economics Elective
One of:
Economics 1: Introductory Microeconomics: Resource Allocatio and Market
Structure
Economics 2: Introductory Macroeconomics: Aggregate Economic Activity
Economics 80H: Wall Street and the Money Game
Comprehensive Requirement
Students satisfy the senior comprehensive requirement by
either receiving a passing grade in all three courses of the Game Design Studio
sequence or performing a senior thesis.
Computer Science: Computer Game Design Major Planners
The following are three sample academic plans that
students can to plan their sequence of courses in the major. Plans One and Two
are suggested guidelines for students who begin their studies in their freshman
year. Such students, if they plan carefully will have several openings free to
take other breadth courses they find interesting. Plan One is for a student
entering UCSC in their freshman year who is prepared to go directly into
Mathematics 19A/20A and Computer Science 12A. Plan Two is for a student
entering UCSC their freshman year who needs to take preparatory courses prior
to Mathematics 19A or Computer Science 12A to ensure a successful outcome in
those courses. Plan Three is for students that transfer to campus at the
beginning of their junior year.
| Plan One–Enter UCSC Freshman Year |
| Year |
Fall |
Winter |
Spring |
1st
(frsh) |
Core
Math 19A or 20A
CMPS 12A
CMPS 12L or
Honors Project
Lab I |
Composition (C,
or gen ed)
Math 19B or 20B
CMPS 12B
CMPS 12M or
Honors Project
Lab II |
Art/Social Elective I
CMPE 12/L
CMPS 20 (Game
Design Experience) |
2nd
(soph) |
PHYS 5A/L
or 6A/L
gen ed
Math 21 or AMS 27/L |
Art/Social
Elective II
CMPS 109
CMPE 16 |
Art/Social Elective II
Ethics Requirement
CMPS 101 |
| 3rd |
gen ed
Game Engineering
Elective I
Digital Media
Elective I |
gen ed
Game Engineering
Elective II
Game Engineering
Elective III |
gen ed
Game Engineering
Elective IV
Digital Media
Elective IV |
| 4th |
gen ed
CMPS 170
(Game Design
Studio I)
Game Engineering
Elective V |
gen ed
gen ed
CMPS 171 (Game Design Studio III) |
gen ed
CMPS 172 (Game
Design Studio III) |
| Plan Two –Enter UCSC Freshman Year, Need Math and Computer Science Preparation Classes (Mathematics 3, Computer Science 10) |
| Year |
Fall |
Winter |
Spring |
1st
(frsh) |
Core
MATH 3
CMPS 10 |
Writing (C, or gen ed)
MATH 19A
CMPS 12A/L |
MATH 19B
CMPS 12B/M
Art/Social Elective I |
2nd
(soph) |
Art/Social
Elective II
CMPE 12/L
PHYS 6A/L |
Art/Social
Elective III
CMPE 16
CMPS 109 |
MATH 21 or AMS 27/L
Ethics Requirement
CMPS 20 (Game
Design Experience) |
| 3rd |
CMPS 101
Digital Media
Elective I
gen ed |
Game Engineering
Elective I
gen ed
gen ed |
gen ed
Game Engineering
Elective II
Digital Media
Elective II |
| 4th |
gen ed
CMPS 170
(Game Design
Studio I)
Game Engineering
Elective III |
gen ed
CMPS 171 (Game
Design
Studio II)
Game Engineering
Elective IV |
gen ed
CMPS 172 (Game
Design Studio III)
Game Engineering
Elective V |
| Plan Three – Transfer Student |
| Year |
Fall |
Winter |
Spring |
1st
(frsh) |
CMPS 101
Art/Social
Elective I |
CMPS 109
Game Engineer-
ing Elective I
Digital Media
Elective I |
Ethics Requirement
Game Engineer-
ing Elective II
Digital Media
Elective II |
2nd
(soph) |
Art/Social
Elective II
CMPS 170 (Game
Design Studio I)
Game Engineer-
ing Elective III |
Art/Social
Elective III
CMPS 171 (Game
Design Studio II)
Game Engineer-
ing Elective IV |
gen ed
CMPS 172 (Game
Design Studio III)
Game Engineer-
ing Elective V |
Minor Requirements
Courses required for the computer science minor are
Mathematics 19A-B or 20A-B, and 23A; Applied Mathematics and Statistics 27/L
(formerly Mathematics 27); Computer Science courses 12A/L and 12B/M (or 13H/L
can be taken to cover both 12A/L and 12M/L) and course 101; Computer
Engineering 12/L and 16; and four additional upper-division computer science
courses from a list of approved electives (see the department's checklist for
the computer science minor at www.soe.ucsc.edu/programs/cs/undergraduate/).
In selecting the four upper-division courses, students may elect to focus on
one subdiscipline of computer science by completing the courses in a BA depth
sequence. Upper-division computer engineering and mathematics courses that
generally apply toward the computer science major may not be applied toward the
computer science minor. In addition, some upper-division computer science
courses may not be applied toward the computer science minor. There is no
comprehensive examination or senior thesis requirement for the minor.
Graduate Programs
Program Description
The Computer Science Department at UCSC offers both a
master's program and a doctoral program. The goal of these programs is to help
students develop into independent scholars who are prepared for productive
careers in research, teaching, and industry. The master's degree may be used as
a terminal degree or as the first step toward the Ph.D. degree. The
student-faculty ratio is five to one, making it possible for students to
receive individual attention and to pursue programs that fit their individual
needs. The intellectual atmosphere is enriched by regular colloquia and
seminars presented by eminent contributors to the field, many of whom are
associated with other major universities and industrial research centers in the
San Francisco Bay Area.
The Computer Science Department enjoys a close
relationship with the Computer Engineering and Electrical Engineering
Departments, the Bioinformatics Department, and the new applied mathematics and
statistics graduate program currently in development.
Most computer science graduate students are hired as
teaching assistants helping with undergraduate courses, hired as research
assistants working for computer science and other School of Engineering
faculty, or awarded fellowships to pursue their research.
Additional information on the computer science
graduate programs can be found on the department's web pages at www.soe.ucsc.edu.
Requirements for the Master's Degree: Project Track
Course
Requirements
Each student is required to take 50 credits as
follows:
Computer Science
- 200, Research
and Teaching in Computer Science and Engineering, 3 credits;
- 201, Analysis
of Algorithms, 5 credits;
- 203,
Programming Languages, 5 credits;
- 296, Master's
Project, 2 credits;
- A base requirement in computer
architecture must be met by taking CMPE 110 or CMPE 202 or equivalent elsewhere
(approval required);
- one course each from three
different breadth categories for a total of three courses (15 credits). See www.soe.ucsc.edu/programs/cs/graduate/;
- all remaining credits must be
graduate elective courses from the list of approved graduate courses. See www.soe.ucsc.edu/programs/cs/graduate/;
- two upper-division undergraduate
computer science courses (other than course 101) or a graduate course (not
seminar) in related disciplines outside the list of approved graduate courses
may be substituted for one graduate course, when necessary to strengthen a
student's preparation for graduate studies, with prior approval from the
adviser and the graduate director.
Completion of a master's project is required for the
master's degree. In consultation with the adviser, the student forms a master's
project reading committee of at least two faculty members, each of whom is
provided a copy of the project report. The final project must be accepted by
the review committee before the award of the master of science degree.
Requirements for the Master's Degree: Thesis Track
Course
Requirements
Each student is required to take 48 credits as
follows:
Computer Science
- 200, Research
and Teaching in Computer Science and Engineering, 3 credits;
- 201, Analysis
of Algorithms, 5 credits;
- 203, Programming
Languages, 5 credits;
- A base
requirement in computer architecture must be met by taking CMPE 110 or CMPE 202
or equivalent elsewhere (approval required);
- one course each
from three different breadth categories for a total of 3 courses (15 credits).
See www.soe.ucsc.edu/programs/cs/graduate/;
- up to 10
credits of course 297, Independent Study or Research;
or course 299, Thesis Research;
- all remaining
credits must be graduate elective courses from the list of approved graduate
courses. See www.soe.ucsc.edu/programs/cs/graduate/;
- two
upper-division undergraduate computer science courses (other than course 101)
or a graduate course (not seminar) in related disciplines outside the list of
approved graduate courses may be substituted for one graduate course, when
necessary to strengthen a student's preparation for graduate studies, with
prior approval from the adviser and the graduate director.
Completion of a master's thesis is required for the
master's degree. To fulfill this requirement, the student submits a written
proposal to a faculty member, usually by the third academic quarter. By
accepting the proposal, the faculty member becomes the thesis adviser. In
consultation with the adviser, the student forms a master's thesis reading committee
with at least two additional faculty members, each of whom is provided a copy
of the proposal. The student presents an expository talk on the thesis
research, and the final thesis must be accepted by the review committee before
the award of the master of science degree.
Requirements for the Ph.D. Degree
Course
Requirements
Each student is required to take 58 credits as follows:
Computer Science
- 200, Research
and Teaching in Computer Science and Engineering, 3 credits;
- 201, Analysis
of Algorithms, 5 credits;
- 203, Programming
Languages, 5 credits;
- A base requirement in computer
architecture must be met by taking CMPE 110 or CMPE 202 or equivalent elsewhere
(approval required);
- one course each from three
different breadth categories for a total of 3 courses (15 credits). See www.soe.ucsc.edu/programs/cs/graduate/;
- up to 10 credits of course 297, Independent Study or Research; or course 299, Thesis Research;
- At least 33 units must be in
computer science;
- all remaining credits must be graduate
elective courses from the list of approved graduate courses. See www.soe.ucsc.edu/programs/cs/graduate/;
- graduate courses (not seminars) in
related disciplines outside the list of approved graduate courses may be
substituted, when necessary to strengthen a student's preparation for graduate
studies, with prior approval from the adviser and the graduate director. Course
selection should form a coherent plan of study and requires adviser approval.
Undergraduate courses may not be used to satisfy Ph.D. course requirements;
- each student is required to
complete at least one quarter of teaching assistantship. This requirement can
be met after advancement to candidacy. Certain exceptions may be permitted for
those with extensive prior teaching experience or those who are not allowed to
be employed due to visa regulations.
Ph.D. students who have satisfied the
requirements for the master's degree are eligible to receive a master's degree.
Dissertation
Each student writes a Ph.D. dissertation. The
dissertation must show the results of in-depth research, be an original
contribution of significant knowledge, and include material worthy of
publication. Where appropriate, research internships with companies, government
labs, or elsewhere are recognized (and may be required) as an integral part of
the research leading to the dissertation. As the first step, a student submits
a written dissertation proposal to a School of Engineering faculty member. By
accepting the proposal, the faculty member becomes the dissertation supervisor.
The dissertation proposal is publicly and formally presented in an oral
qualifying examination given by a qualifying exam committee, approved by the
graduate committee and the Graduate Council. The student must submit his or her
written dissertation proposal to all members of the committee and the graduate
assistant one month in advance of the examination.
Students are advanced to candidacy after they have
completed the course requirements, passed the qualifying examination, cleared
all Incompletes from their records, have an appointed dissertation reading
committee, and paid the filing fee. Students who have not advanced to candidacy
by the end of their fourth year will be placed on academic probation.
Each Ph.D. candidate submits the completed
dissertation to a reading committee at least one month prior to the
dissertation defense. The appointment of the dissertation reading committee is
made immediately after the qualifying exam and is necessary for advancing to
candidacy. The candidate presents his or her research results in a public
seminar sponsored by the dissertation supervisor. The seminar is followed by a
defense of the dissertation to the reading committee and attending faculty, who
will then decide whether the dissertation is acceptable or requires revision.
Successful completion of the dissertation fulfills the final academic
requirement for the Ph.D. degree.
Transfer
Credit
Up to three School of Engineering courses fulfilling
the degree requirements of either the M.S. or Ph.D. degrees may be taken before
beginning the graduate program through the concurrent enrollment program.
Ph.D. students who have previously earned a master's
degree in a related field at another institution may substitute courses from
their previous university with approval of the adviser and the graduate
committee.
Courses from other institutions may not be applied
to the M.S. degree course requirements.
Petitions should be submitted along with the
transcript from the other institution or UCSC extension. For courses taken at
other institutions, copies of the syllabi, exams, and other course work should
accompany the petition. Such petitions are not considered until the completion
of at least one quarter at UCSC.
At most, a total of three courses may be transferred
from concurrent enrollment and other institutions.
Review
of Progress
Each year, the faculty reviews the progress of every
student. Students not making adequate progress towards completion of degree
requirements are subject to dismissal from the program. See www.soe.ucsc.edu/programs/cs/graduate/CSCurrentReq.html#progressfor more information on this policy.
|