;

Computer Engineering B.S.

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 five concentration differ by only 5 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.

Robotics and Control Concentration

This concentration covers the hardware, software, sensing, and control aspects of autonomous and embedded systems. Students receive training in the theory, design, and realization of complex systems such as mobile robots. The concentration emphasizes integration of embedded software with hardware systems that interact with the environment.

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
advising@soe.ucsc.edu
(831) 459-5840

Every major and minor must have a computer engineering faculty adviser, assigned by the Baskin School of Engineering undergraduate advising office, and with that adviser must formulate a program of proposed coursework that meets the major or minor requirements. Additional information can be found on the SOE webpages.

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 be admitted into the computer engineering major students must be listed as a proposed major within the School of Engineering. Students in the engineering and computing cluster must propose a School of Engineering major before they can declare. Please refer to the School of Engineering's "Proposed Engineering Major Status" and its "Declaring a School of Engineering Major" sections in the catalog for more information.

In addition to being listed as a proposed School of Engineering major, declaration of the computer engineering major in the first six quarters of enrollment at UC Santa Cruz is based on performance in the CE Major Qualification Courses:

Students in their first six quarters who have completed at least 36 credits in the CE Major Qualification Courses listed below will be admitted to the computer engineering major if:

  1. their cumulative GPA is at least 2.8 in all of the CE Major Qualification Courses attempted; and

  2. 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:

MATH19ACalculus for Science, Engineering, and Mathematics

5

MATH19BCalculus for Science, Engineering, and Mathematics

5

Plus one of the following
AM30Multivariate Calculus for Engineers

5

MATH23AVector Calculus

5

Whichever is completed first

Plus one of the following
AM10Mathematical Methods for Engineers I

5

MATH21Linear Algebra

5

Whichever is completed first

Plus all of the following
AM20Mathematical Methods for Engineers II

5

CSE12Computer Systems and Assembly Language

5

CSE12LComputer Systems and Assembly Language Laboratory

2

Plus one of the following
CSE13EEmbedded Systems and C Programming

7

CSE13SComputer Systems and C Programming

7

Plus all of the following
CSE16Applied Discrete Mathematics

5

CSE30Programming Abstractions: Python

7

PHYS5AIntroduction to Physics I

5

PHYS5LIntroduction to Physics Laboratory

1

PHYS5CIntroduction to Physics III

5

PHYS5NIntroduction to Physics Laboratory

1

Appeal Process

Students who are informed that they are not eligible to declare 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

For instructions about how to declare a major in the Baskin School of Engineering, please refer to the department's website.

Transfer Information and Policy

Transfer Admission Screening Policy

Students should complete at least six of the following
MATH19ACalculus for Science, Engineering, and Mathematics

5

MATH19BCalculus for Science, Engineering, and Mathematics

5

AM10Mathematical Methods for Engineers I

5

MATH21Linear Algebra

5

AM20Mathematical Methods for Engineers II

5

AM30Multivariate Calculus for Engineers

5

MATH23AVector Calculus

5

CSE12Computer Systems and Assembly Language

5

CSE12LComputer Systems and Assembly Language Laboratory

2

CSE13EEmbedded Systems and C Programming

7

CSE13SComputer Systems and C Programming

7

CSE16Applied Discrete Mathematics

5

CSE30Programming Abstractions: Python

7

PHYS5AIntroduction to Physics I

5

PHYS5LIntroduction to Physics Laboratory

1

PHYS5CIntroduction to Physics III

5

PHYS5NIntroduction to Physics Laboratory

1

Lecture/lab combinations count as one course.

CSE 13E and CSE 13S 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.

Prospective transfer students entering UC Santa Cruz by Fall 2020 and students who have catalog rights to follow the 2018-19 General Catalog may follow the screening requirements published in that catalog.

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 UC Santa Cruz must first consult 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 online.

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. 

Students completing the Robotics Engineering B.S. can receive the Computer Engineering B.S. as well only by completing a concentration other than robotics and control.

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 senior 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
MATH19ACalculus for Science, Engineering, and Mathematics

5

MATH19BCalculus for Science, Engineering, and Mathematics

5

Plus one of the following
AM30Multivariate Calculus for Engineers

5

MATH23AVector Calculus

5

Plus one of the following
AM10Mathematical Methods for Engineers I

5

MATH21Linear Algebra

5

Plus all of the following
AM20Mathematical Methods for Engineers II

5

CSE12Computer Systems and Assembly Language

5

CSE12LComputer Systems and Assembly Language Laboratory

2

Plus one of the following
CSE13EEmbedded Systems and C Programming

7

CSE13SComputer Systems and C Programming

7

Plus all of the following
CSE16Applied Discrete Mathematics

5

CSE20Beginning Programming in Python

5

CSE30Programming Abstractions: Python

7

PHYS5AIntroduction to Physics I

5

PHYS5LIntroduction to Physics Laboratory

1

PHYS5CIntroduction to Physics III

5

PHYS5NIntroduction to Physics Laboratory

1

Students with no prior programming will take CSE 20 before CSE 30 and the lecture-lab combination of CSE 12 and CSE 12L. Students with a prior programming course, AP credit, or clearing the “Test-out” bar will start with CSE 30, and the lecture-lab combination of CSE 12 and CSE 12L.

Plus one of the following options
Either these courses

PHYS5BIntroduction to Physics II

5

PHYS5MIntroduction to Physics Laboratory

1

or this course

ECE9Introduction to Statics, Dynamics, and Biomechanics

5

Upper-Division Courses

Core requirements:

CSE100Logic Design

5

CSE100LLogic Design Laboratory

2

CSE101Introduction to Data Structures and Algorithms

5

CSE107Probability and Statistics for Engineers

5

CSE120Computer Architecture

5

CSE121Microprocessor System Design

5

CSE121LMicroprocessor System Design Laboratory

2

CSE185ETechnical Writing for Computer Engineers

5

ECE101Introduction to Electronic Circuits

5

ECE101LIntroduction to Electronic Circuits Laboratory

2

ECE103Signals and Systems

5

ECE103LSignals 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:

CSE185ETechnical Writing for Computer Engineers

5

CSE195Senior Thesis Research

5

Comprehensive Requirement

Capstone Requirement

All computer engineering students complete one of the following capstone sequences:

One of the following courses
CSE123AEngineering Design Project I

5

CSE123BEngineering Design Project II

7

Or all of the following courses
CSE129ACapstone Project I

2

CSE129BCapstone Project II

5

CSE129CCapstone Project III

5

Or the following course
CSE195Senior Thesis Research

5

CSE 195 also requires the submission of an approved senior thesis.

Or all of the following courses
CSE115AIntroduction to Software Engineering

5

CSE115BSoftware Design Project

5

CSE115CSoftware Design Project II

5

Or the following courses
ECE118Introduction to Mechatronics

5

ECE118LIntroduction to Mechatronics Laboratory

2

ECE 118 and ECE 118L are allowed only if they are not taken as concentration courses.

Exit Requirement

Students are required to complete an exit survey and attend an exit interview. Portfolios of the students 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 CSE 121L and either the senior capstone report (CSE 115C, or CSE 129A and CSE 129B and CSE 129C, or CSE 123A and CSE 123B, or ECE 118) or the student’s senior thesis.

Concentration Courses

Computer Systems Concentration Requirements

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 senior comprehensive requirement for computer engineering majors is satisfied by completion of the capstone course and the exit requirement.

One of the following
CSE125Logic Design with Verilog

5

CSE125LLogic Design with Verilog Laboratory

2

CSE122Introduction to VLSI Digital System Design

5

CSE 125/CSE 125L lecture/lab combination counts as a single course.

CSE 222A, Advanced VLSI Digital System Design, may be substituted for CSE 122 with department approval.
 

Plus one of the following
CSE111Advanced Programming

5

CSE115AIntroduction to Software Engineering

5

CSE134Embedded Operating Systems

5

Plus one of the following
CSE130Principles of Computer Systems Design

5

CSE131Introduction to Operating Systems

5

Plus one upper-division or graduate elective

From the approved elective list or the department’s approved list of electives for the computer engineering major

Digital Hardware Concentration Requirements

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 senior comprehensive requirement for computer engineering majors is satisfied by completion of the capstone course and the exit requirement.

All of the following
CSE125Logic Design with Verilog

5

CSE125LLogic Design with Verilog Laboratory

2

Plus one of the following options
Either these courses

ECE171Analog Electronics

5

ECE171LAnalog Electronics Laboratory

2

or this course

CSE122Introduction to VLSI Digital System Design

5

CSE 222A, Advanced VLSI Digital System Design, may be substituted for CSE 122 with department approval.

Plus one of the following
CSE122Introduction to VLSI Digital System Design

5

CSE220Computer Architecture

5

ECE171Analog Electronics

5

ECE171LAnalog Electronics Laboratory

2

ECE173High-Speed Digital Design

5

ECE173LHigh-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 the department’s approved list of electives for the computer engineering major

Networks Concentration Requirements

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 senior comprehensive requirement for computer engineering majors is satisfied by completion of the capstone course and the exit requirement.

All of the following
CSE150Introduction to Computer Networks

5

CSE150LIntroduction to Computer Networks Laboratory

2

CSE156Network Programming

5

CSE156LNetwork Programming Laboratory

2

Plus one of the following
CSE130Principles of Computer Systems Design

5

CSE131Introduction to Operating Systems

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 or the department’s approved list of electives for the computer engineering major

 

Robotics and Control Concentration Requirements

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 senior comprehensive requirement for computer engineering majors is satisfied by completion of the capstone course and the exit requirement.

Any two of the following
ECE118Introduction to Mechatronics

5

ECE118LIntroduction to Mechatronics Laboratory

2

ECE167Sensing and Sensor Technologies

5

ECE167LSensing and Sensor Technologies Lab

2

ECE141Feedback Control Systems

5

Lecture/lab combinations count as one course.

Plus one course from the following options

Students may fulfill this requirement by taking the third course from above that was not taken (ECE 118 and ECE 118L, or ECE 167 and ECE 167L, or ECE 141) or by taking any course from the approved elective list or the department's approved list of electives for the robotics and control concentration.

Plus one upper-division or graduate elective

From the approved elective list or the department’s approved list of electives for the computer engineering major

System Programming Concentration Requirements

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 senior comprehensive requirement for computer engineering majors is satisfied by completion of the capstone course and the exit requirement.

One of the following
CSE130Principles of Computer Systems Design

5

CSE131Introduction to Operating Systems

5

Plus one of the following
CSE111Advanced Programming

5

CSE115AIntroduction to Software Engineering

5

CSE134Embedded Operating Systems

5

Plus all of the following
CSE150Introduction to Computer Networks

5

CSE150LIntroduction 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 or the department’s approved list of electives for the computer engineering major

Plus one of the following
CSE113Parallel and Concurrent Programming

5

CSE156Network Programming

5

CSE156LNetwork Programming Laboratory

2

CSE110AFundamentals 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

  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 & CSE 121L 
    Concentration course 
4th (senior) Capstone course Capstone course Capstone course
ECE 103 & ECE 103L Concentration course  Concentration course 
     

 

Plan Two for Entering Frosh

  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) Capstone course Capstone course Capstone course
CSE 121 & CSE 121L Concentration course  Concentration course 
Concentration course    

Below is a sample academic plan for students transferring to UC Santa Cruz in computer engineering for their junior year. It assumes that all lower-division and 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.

 

Plan for Junior Transfers

  Fall Winter Spring
3rd (junior) ECE 101 & ECE 101L CSE 107 CSE 120
CSE 101 CSE 100 & CSE 100L CSE 121 & CSE 121L 
CSE 185E Concentration course  Concentration course
4th (senior)
 
Capstone course Capstone course Capstone course  
ECE 103 & ECE 103L  Concentration course Concentration course
Concentration course     

Curriculum charts for all BSOE majors are available on the department's website.