Information and Policies
Introduction
The following concentrations are specializations for the computer engineering student. Students must complete all of the courses listed within their selected concentration. The four concentrations differ by only five specialized courses; the remaining courses are the same.
Systems Programming Concentration
The systems programming concentration focuses on software systems: courses include operating systems, compilers, software engineering, and advanced programming. Students finishing this concentration are very well prepared for building large software systems of all types. This concentration is the closest one to a computer science major-the main differences are that it does not require computer science theory courses, but because of the core computer engineering requirements, includes more hardware and electronics than a computer science bachelor's degree.
Computer Systems Concentration
The computer systems concentration provides a balance between software and hardware design. Students are prepared for a large variety of different design tasks, especially those requiring the integration of hardware and software systems, but may need further training for any particular specialization.
Networks Concentration
The networks concentration focuses on communication between computers, covering both network hardware and protocols. Students finishing this concentration are well prepared for the design of wired and wireless network systems.
Digital Hardware Concentration
The digital hardware concentration focuses on hardware design and includes more electronics than the other concentrations. Students finishing this concentration are well prepared for building hardware systems. This concentration is the closest one to an electronics major; the main differences are that it does not require as much electronics theory or analog electronic design, but because of the core computer engineering requirements, requires more software skills.
Academic Advising for the Program
The Baskin School of Engineering undergraduate advising office offers general advising for prospective and declared undergraduates majoring in School of Engineering programs. The office handles major declarations, transfer credits, course substitutions, articulations, and degree certifications. Undergraduate students obtain and submit all paperwork requiring departmental approval to the undergraduate advising office. Transfer students should also refer to the Transfer Information and Policy section.
Baskin Engineering Building, Room 225
bsoeadvising@ucsc.edu
(831) 459-5840
Program Learning Outcomes
For the Computer Engineering B.S. degree, the program learning outcomes are:
-
an ability to apply knowledge of mathematics, science, and engineering;
-
an ability to design a system, component, or process to meet desired needs within realistic constraints;
-
an ability to function effectively on teams that establish goals, plan tasks, meet deadlines, and analyze risk and uncertainty;
-
an ability to communicate effectively; and
-
an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
Major Qualification Policy and Declaration Process
Major Qualification
In order to declare the computer engineering major students must be listed as a proposed major within the School of Engineering. Please refer to the School of Engineering's "Proposed Major Retention" and its "Declaring a School of Engineering Major" sections in the catalog for more information.
To qualify for the computer engineering major students must have completed at least 36 credits in the CE Major Qualification Courses listed below and satisfy the following:
- their combined GPA is at least 2.8 in all of the CE Major Qualification Courses attempted; and
- they have no more than 7 credits resulting in grades of C-, D+, D, D-, F or NP among all of the CE Major Qualification Courses attempted.
CE Major Qualification Courses
All of the following:
MATH 19A | Calculus for Science, Engineering, and Mathematics | 5 |
MATH 19B | Calculus for Science, Engineering, and Mathematics | 5 |
Plus one of the following
AM 30 | Multivariate Calculus for Engineers | 5 |
MATH 23A | Vector Calculus | 5 |
Whichever is completed first
Plus one of the following
AM 10 | Mathematical Methods for Engineers I | 5 |
MATH 21 | Linear Algebra | 5 |
Whichever is completed first
Plus all of the following
AM 20 | Mathematical Methods for Engineers II | 5 |
CSE 12 | Computer Systems and Assembly Language and Lab | 7 |
Plus one of the following
CSE 13S | Computer Systems and C Programming | 7 |
ECE 13 | Computer Systems and C Programming | 7 |
Plus all of the following
CSE 16 | Applied Discrete Mathematics | 5 |
CSE 30 | Programming Abstractions: Python | 7 |
PHYS 5A | Introduction to Physics I | 5 |
PHYS 5L | Introduction to Physics I Laboratory | 1 |
PHYS 5C | Introduction to Physics III | 5 |
PHYS 5N | Introduction to Physics Laboratory III | 1 |
Appeal Process
Students who are informed that they are not qualified for the major may appeal this decision by submitting a letter to the undergraduate director through the Baskin School of Engineering undergraduate advising office within 15 days from the date the notification was mailed. Within 15 days of receipt of the appeal, the department will notify the student, college, and Office of the Registrar of the decision.
How to Declare a Major
There are four steps to declaring a BSOE major. For a detailed guide to this process, please consult Baskin Engineering's Declare Your Major website.
Students should start the declaration of major process by completing Step One on the BSOE Declare Your Major website as soon as they complete 36 credits in the CE major qualification courses or reach their declaration deadline quarter, whichever comes first.
Students petitioning when the campus declaration deadline is imminent (i.e., in their sixth quarter, for students admitted as frosh), will either be approved, denied, or provided with conditions (e.g., completion of some courses with certain grades) that will be resolved within at most one more enrolled quarter, even if they have not completed enough courses.
Transfer Information and Policy
Transfer Admission Screening Policy
Students should complete at least six of the following
MATH 19A | Calculus for Science, Engineering, and Mathematics | 5 |
MATH 19B | Calculus for Science, Engineering, and Mathematics | 5 |
AM 10 | Mathematical Methods for Engineers I | 5 |
MATH 21 | Linear Algebra | 5 |
AM 20 | Mathematical Methods for Engineers II | 5 |
AM 30 | Multivariate Calculus for Engineers | 5 |
MATH 23A | Vector Calculus | 5 |
CSE 12 | Computer Systems and Assembly Language and Lab | 7 |
CSE 13S | Computer Systems and C Programming | 7 |
CSE 16 | Applied Discrete Mathematics | 5 |
CSE 30 | Programming Abstractions: Python | 7 |
ECE 13 | Computer Systems and C Programming | 7 |
PHYS 5A | Introduction to Physics I | 5 |
PHYS 5L | Introduction to Physics I Laboratory | 1 |
PHYS 5C | Introduction to Physics III | 5 |
PHYS 5N | Introduction to Physics Laboratory III | 1 |
Lecture/lab combinations count as one course.
CSE 13S and ECE 13 are alternatives; only one or the other, whichever is completed first, can count toward the six courses.
AM 30 and MATH 23A are alternatives; only one or the other, whichever is completed first, can count toward the six courses.
AM 10 and MATH 21 are alternatives; only one or the other, whichever is completed first, can count toward the six courses.
Cumulative GPA
Their cumulative GPA should be at least 2.8 in all of the courses attempted.
Transfer students who wish to graduate in two years are strongly recommended to complete all lower division major requirements and most General Education requirements before coming to UC Santa Cruz.
Getting Started at UCSC as a Transfer Student
Transfer students should declare their major in their first quarter at UC Santa Cruz. Instructions for declaring a major in the Baskin School of Engineering are on the department's website.
Letter Grade Policy
All students admitted to a School of Engineering major, or seeking admission to a major, must take all courses required for that major for a letter grade. This policy includes courses required for these degrees that are sponsored by other departments.
Course Substitution Policy
Undergraduate engineering students who wish to substitute a major course with a course from another department at UC Santa Cruz, or from another academic institution, must first seek approval through the School of Engineering Undergraduate Advising Office. The advising office requires a Petition for Course Substitution be approved before credit for an alternate course can be applied to any School of Engineering major requirement.
Petition forms are available at the undergraduate advising office and on the Undergraduate Affairs website.
Petitions and procedures for approval must be obtained from and submitted to the Undergraduate Advising Office.
Double Majors and Major/Minor Combinations Policy
Students completing the computer engineering major cannot also receive the computer engineering minor or the Network and Digital Technology B.A. degree.
Honors
Majors are considered for “Honors in the Major” and “Highest Honors in the Major” based on their GPA and on results of undergraduate research and other significant contributions to the School of Engineering. Students with a GPA of 3.70, in most cases, receive highest honors. Students with a GPA of 3.30, in most cases, receive honors. Students with particularly significant accomplishments in undergraduate research or contributions to the School of Engineering may be considered with a lower GPA. Computer engineering juniors and seniors may also be eligible for election to the UC Santa Cruz chapter of Tau Beta Pi, the national engineering honor society founded in 1885.
Materials Fee and Miscellaneous Fees
Please see the section on fees under the School of Engineering.
Requirements and Planners
Course Requirements (all concentrations)
All students in the computer engineering major take the same core courses, which give the fundamentals of programming and hardware design, supported by the physics and mathematics necessary to understand them. Students must complete all of the courses listed within their selected concentration, and they must complete the capstone sequence. The comprehensive requirement for computer engineering majors is satisfied by completion of the capstone course and the exit requirement.
Lower-Division Courses
All of the following
MATH 19A | Calculus for Science, Engineering, and Mathematics | 5 |
MATH 19B | Calculus for Science, Engineering, and Mathematics | 5 |
Plus one of the following
AM 30 | Multivariate Calculus for Engineers | 5 |
MATH 23A | Vector Calculus | 5 |
Plus one of the following
AM 10 | Mathematical Methods for Engineers I | 5 |
MATH 21 | Linear Algebra | 5 |
Plus all of the following
AM 20 | Mathematical Methods for Engineers II | 5 |
CSE 12 | Computer Systems and Assembly Language and Lab | 7 |
Plus one of the following
CSE 13S | Computer Systems and C Programming | 7 |
ECE 13 | Computer Systems and C Programming | 7 |
Plus all of the following
CSE 16 | Applied Discrete Mathematics | 5 |
CSE 20 | Beginning Programming in Python | 5 |
CSE 30 | Programming Abstractions: Python | 7 |
PHYS 5A | Introduction to Physics I | 5 |
PHYS 5L | Introduction to Physics I Laboratory | 1 |
PHYS 5C | Introduction to Physics III | 5 |
PHYS 5N | Introduction to Physics Laboratory III | 1 |
Students with no prior programming will take CSE 20 before CSE 30 and CSE 12. Students with a prior programming course, AP credit, or clearing the “Test-out” bar will start with CSE 30, and CSE 12.
Plus one of the following options
Upper-Division Courses
Core requirements:
(In addition to the core requirements students must complete the courses for one of the concentrations.)
CSE 100 | Logic Design | 5 |
CSE 100L | Logic Design Laboratory | 2 |
CSE 101 | Introduction to Data Structures and Algorithms | 5 |
CSE 107 | Probability and Statistics for Engineers | 5 |
CSE 120 | Computer Architecture | 5 |
CSE 121 | Embedded System Design | 7 |
CSE 185E
/CSE 185S
| Technical Writing for Computer Science and Engineering | 5 |
ECE 101 | Introduction to Electronic Circuits | 5 |
ECE 101L | Introduction to Electronic Circuits Laboratory | 2 |
ECE 103 | Signals and Systems | 5 |
ECE 103L | Signals and Systems Laboratory | 2 |
Disciplinary Communication (DC) Requirement
Students of every major must satisfy that major's upper-division Disciplinary Communication (DC) requirement. The DC requirement in computer engineering is satisfied by one of the following:
CSE 185E
/CSE 185S
| Technical Writing for Computer Science and Engineering | 5 |
CSE 195 | Senior Thesis Research | 5 |
Comprehensive Requirement
Capstone Requirement
All computer engineering students complete one of the following capstone sequences:
Both of the following courses
Or all of the following courses
Or the following course
CSE 195 also requires the submission of an approved senior thesis.
Or all of the following courses
Or the following course
ECE 118 | Introduction to Mechatronics | 10 |
May not also be used as a concentration elective.
Or both of the following courses
CSE 115A | Introduction to Software Engineering | 5 |
CSE 115D | Software Design Project - Accelerated | 5 |
Or the following course
May not also be used as a concentration elective.
Exit Requirement
Students are required to complete an exit survey and attend an exit interview. Portfolios of the student's work will be collected from our courses for program evaluation. The portfolios will be reviewed by the computer engineering undergraduate committee and will include two project reports: CSE 121 and either the senior capstone report (CSE 115C, or CSE 115D, or CSE 129A and CSE 129B and CSE 129C, or CSE 123A and CSE 123B, or ECE 118, or CSE 157) or the student’s senior thesis.
Concentration Courses
All students in the computer engineering major take the same core courses, which give the fundamentals of programming and hardware design, supported by the physics and mathematics necessary to understand them. Students must complete all of the courses listed within their selected concentration, and they must complete the capstone sequence. The comprehensive requirement for computer engineering majors is satisfied by completion of the capstone course and the exit requirement.
Computer Systems Concentration Requirements
One of the following courses
CSE 125 | Logic Design with Verilog | 7 |
CSE 122 | Introduction to VLSI Digital System Design | 5 |
CSE 222A, Advanced VLSI Digital System Design, may be substituted for CSE 122 with department approval.
Plus the following course
CSE 130 | Principles of Computer Systems Design | 5 |
Plus one of the following courses
Plus one upper-division or graduate elective
From the approved elective list
Digital Hardware Concentration Requirements
The following course
Plus one of the following options
CSE 222A, Advanced VLSI Digital System Design, may be substituted for CSE 122 with department approval.
Plus one of the following courses
CSE 122 | Introduction to VLSI Digital System Design | 5 |
CSE 220 | Computer Architecture | 5 |
ECE 171 | Analog Electronics | 5 |
ECE 171L | Analog Electronics Laboratory | 2 |
ECE 173 | High-Speed Digital Design | 7 |
ECE 173L | High-Speed Digital Design Laboratory | 2 |
Lecture/lab combinations count as one course.
Note that CSE 122 or ECE 171 and ECE 171L cannot be used again here.
Plus one upper-division or graduate elective
From the approved elective list or this approved digital hardware graduate level course list
Networks Concentration Requirements
All of the following courses
CSE 150 | Introduction to Computer Networks | 5 |
CSE 150L | Introduction to Computer Networks Laboratory | 2 |
CSE 156 | Network Programming | 5 |
CSE 156L | Network Programming Laboratory | 2 |
CSE 130 | Principles of Computer Systems Design | 5 |
Plus one of the following options
Either the lecture/lab combination of CSE 151 and CSE 151L, or one upper-division or graduate elective from the approved elective list
System Programming Concentration Requirements
The following course
CSE 130 | Principles of Computer Systems Design | 5 |
Plus one of the following courses
Plus both of the following courses
CSE 150 | Introduction to Computer Networks | 5 |
CSE 150L | Introduction to Computer Networks Laboratory | 2 |
Plus one of the following options
Either the lecture/lab combination of CSE 151 and CSE 151L, or one upper-division or graduate elective from the approved elective list
Plus one of the following courses
CSE 113 | Parallel and Concurrent Programming | 5 |
CSE 156 | Network Programming | 5 |
CSE 156L | Network Programming Laboratory | 2 |
CSE 110A | Fundamentals of Compiler Design I | 5 |
CSE 156 and CSE 156L lecture/lab combination count as one course.
Planners
Below are two sample academic plans for students majoring in computer engineering. Since the plans for the third and fourth years will vary according to the concentration and capstone selected, placeholders for these courses have been indicated with “concentration course” and “capstone course.” As part of the major declaration process students prepare a four-year plan based on a concentration and this may affect the placement of other courses as well. Careful planning at the time of declaration is required to complete the degree within four years. Entering frosh who have little programming experience, are strongly advised to take a programming course in the fall quarter. Students completing the courses in the four-year planners will have satisfied the MF, PR-E, SI, and SR general education requirements.
Plan One for Entering Frosh
This plan is for students with programming experience who are prepared for MATH 19A.
|
Fall |
Winter |
Spring |
1st (frosh) |
MATH 19A |
MATH 19B |
AM 30 |
CSE 12 & CSE 12L |
PHYS 5A & PHYS 5L |
CSE 30 |
|
CSE 13S |
|
2nd (soph) |
AM 10 |
AM 20 |
CSE 120 |
PHYS 5C & PHYS 5N |
CSE 100 & CSE 100L |
CSE 101 |
CSE 16 |
|
PHYS 5B & PHYS 5M |
3rd (junior) |
ECE 101 & ECE 101L |
CSE 107 |
CSE 185E |
Concentration course |
Concentration course |
CSE 121 |
|
|
Concentration course |
4th (senior) |
|
Capstone course |
Capstone course |
ECE 103 & ECE 103L |
Concentration course |
Concentration course |
|
|
|
Plan Two for Entering Frosh
This plan is for students with no programming experience who are placed into MATH 3.
|
Fall |
Winter |
Spring |
1st (frosh) |
MATH 3 |
MATH 19A |
MATH 19B |
CSE 20 |
CSE 12 & CSE 12L |
CSE 30 |
|
|
|
2nd (soph) |
PHYS 5A & PHYS 5L |
PHYS 5C & PHYS 5N |
PHYS 5B & PHYS 5M |
CSE 13S |
CSE 16 |
AM 30 |
AM 10 |
AM 20 |
CSE 101 |
3rd (junior) |
ECE 101 & ECE 101L |
CSE 107 |
CSE 185E |
CSE 120 |
CSE 100 & CSE 100L |
ECE 103 & ECE 103L |
|
Concentration course |
Concentration course |
4th (senior) |
|
|
|
CSE 121 |
Capstone course |
Concentration course |
Concentration course |
Concentration course |
|
Plan for Junior Transfers
Below is a sample academic plan for students transferring to UC Santa Cruz in computer engineering for their junior year. It assumes that all but one lower-division and all general education course requirements have been satisfied. Since the plans for the third and fourth years vary according to the concentration and capstone selected, placeholders for these courses have been indicated with “concentration course” and “capstone course.” As part of the major declaration process students prepare a plan based on a concentration and this may affect the placement of other courses as well. Careful planning at the time of declaration is required to complete the degree within two years.
|
Fall |
Winter |
Spring |
3rd (junior) |
ECE 101 & ECE 101L |
CSE 107 |
CSE 120 |
CSE 185 |
CSE 100 & CSE 100L |
CSE 121 |
CSE 12 & CSE 12L |
CSE 101 |
Concentration course |
4th (senior)
|
|
|
|
ECE 103 & ECE 103L |
Capstone course |
Capstone course |
Concentration course |
Concentration course |
Concentration course |
Curriculum charts for all BSOE majors are available on the department's website.