;

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

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.

Academic Advising for the Program

The Baskin Engineering undergraduate advising office offers general advising for prospective and declared undergraduates majoring in Baskin 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

Getting Started in the Major: Frosh

This major is highly course intensive and sequential; students who intend to pursue this major must begin taking classes for the major in their first quarter at the University of California, Santa Cruz. 

Math placement is required for one or more of the foundational courses for this major. For more information, please review the Math Placement website.

Transfer Information and Policy

Transfer students who want to pursue the computer engineering major, must have applied and been admitted to UC Santa Cruz as a proposed computer engineering major. 

Transfer Admission Screening Policy

Students should complete at least six of the following
MATH 19ACalculus for Science, Engineering, and Mathematics

5

MATH 19BCalculus for Science, Engineering, and Mathematics

5

AM 10Mathematical Methods for Engineers I

5

MATH 21Linear Algebra

5

AM 20Mathematical Methods for Engineers II

5

AM 30Multivariate Calculus for Engineers

5

MATH 23AVector Calculus

5

CSE 12Computer Systems and Assembly Language and Lab

7

CSE 13SComputer Systems and C Programming

7

CSE 16Applied Discrete Mathematics

5

CSE 30Programming Abstractions: Python

7

ECE 13Computer Systems and C Programming

7

PHYS 5AIntroduction to Physics I

5

PHYS 5LIntroduction to Physics I Laboratory

1

PHYS 5CIntroduction to Physics III

5

PHYS 5NIntroduction 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.

To earn their degree within two years after transferring, it is recommended that transfer students have completed courses transferable as PHYS 5A/PHYS 5L, PHYS 5C/PHYS 5N, MATH 19A, MATH 19B, and one of the following: MATH 23A, AM 10, MATH 21, or AM 20. In addition, completion of at least one programming course is recommended.

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 in the Major: Transfer Students

Transfer students should declare their major in their first quarter at UC Santa Cruz. Instructions for declaring a major in Baskin Engineering are on the Baskin Engineering undergraduate advising website.

Major Qualification Policy and Declaration Process

Major Qualification

Transfer students should refer to the Transfer Admission Screening requirements. 

In order to declare the computer engineering major students must be listed as a proposed major within Baskin Engineering.  Please refer to the Baskin Engineering  "Proposed Major Retention" and its "Declaring a Baskin Engineering Major" sections in the catalog for more information. 

In addition to being listed as a proposed Baskin 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 following lower-division courses required for the major:

CE Major Qualification Courses

Both of these:

MATH 19ACalculus for Science, Engineering, and Mathematics

5

MATH 19BCalculus for Science, Engineering, and Mathematics

5

And one of these (whichever is completed first):
AM 30Multivariate Calculus for Engineers

5

MATH 23AVector Calculus

5

And one of these (whichever is completed first):
AM 10Mathematical Methods for Engineers I

5

MATH 21Linear Algebra

5

And one of these:
CSE 13SComputer Systems and C Programming

7

ECE 13Computer Systems and C Programming

7

And all of these:
AM 20Mathematical Methods for Engineers II

5

CSE 12Computer Systems and Assembly Language and Lab

7

CSE 16Applied Discrete Mathematics

5

CSE 30Programming Abstractions: Python

7

PHYS 5AIntroduction to Physics I

5

PHYS 5LIntroduction to Physics I Laboratory

1

PHYS 5CIntroduction to Physics III

5

PHYS 5NIntroduction to Physics Laboratory III

1

Students in their first six quarters who have completed at least 36 credits in these courses (of the 63 total credits), will be admitted to the computer engineering major if their cumulative GPA is at least 2.8 in all of the courses listed above; and if they have attempted no more than seven credits resulting in grades of C-, D+, D, D-, F or NP in all of the courses listed above. Although all 63 credits listed above as CE Major Qualification Courses must be completed to earn the degree,  only 36 of the 63 credits must be completed before declaring the major.

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 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 Baskin Engineering  major. For a detailed guide to this process, please consult the Baskin Engineering Declare Your Major website. 

Students should start the declaration of major process by completing Step One on the Baskin Engineering Declare Your Major website as soon as they complete 36 credits in the computer engineering 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.

Letter Grade Policy

All students admitted to a Baskin 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 Baskin 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 Baskin 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.

Community Colleges courses once enrolled at UCSC

Once enrolled in Baskin Engineering students who wish to take a course at a California community college must first check Assist.org to see if the course is equivalent at UC Santa Cruz. If the course is not listed on Assist.org, students must submit a course substitution petition to the BE Undergraduate Advising Office to have it reviewed for equivalency. Courses that need to be reviewed must be accompanied by a course description and syllabus. It is very helpful if students can provide further evidence of course content, such as examples of programming assignments, homework, or examinations. To guarantee equivalency, departments may sometimes require a grade of B or better.

If the course is approved for equivalency or was on Assist.org, then the student must also receive approval by their major department to take the class at the community college PRIOR to taking it. Forms and procedures for approval can be obtained from and submitted to the BE Undergraduate Advising Office.

Four-Year Institutions and the UC Education Abroad Program (UCEAP)

Students who intend to take a course at a four-year institution or UC Education Abroad, must submit a Course Substitution Petition to the BE Undergraduate Advising Office to have the course reviewed for equivalency. Courses that need to be reviewed must be accompanied by a course description and syllabus. It is very helpful if students can provide further evidence of course content, such as examples of programming assignments, homework, or examinations. To guarantee equivalency, departments may sometimes require a grade of B or better.

If the course is approved for equivalency, then the student must also receive approval by their major department PRIOR to taking the class. Forms and procedures for approval can be obtained from and submitted to the BE 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 Baskin 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 Baskin  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 Baskin 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.

Lower-Division Courses

All of the following
MATH 19ACalculus for Science, Engineering, and Mathematics

5

MATH 19BCalculus for Science, Engineering, and Mathematics

5

Plus one of the following
AM 30Multivariate Calculus for Engineers

5

MATH 23AVector Calculus

5

Plus one of the following
AM 10Mathematical Methods for Engineers I

5

MATH 21Linear Algebra

5

Plus all of the following
AM 20Mathematical Methods for Engineers II

5

CSE 12Computer Systems and Assembly Language and Lab

7

Plus one of the following
CSE 13SComputer Systems and C Programming

7

ECE 13Computer Systems and C Programming

7

Plus all of the following
CSE 16Applied Discrete Mathematics

5

CSE 20Beginning Programming in Python

5

CSE 30Programming Abstractions: Python

7

PHYS 5AIntroduction to Physics I

5

PHYS 5LIntroduction to Physics I Laboratory

1

PHYS 5CIntroduction to Physics III

5

PHYS 5NIntroduction 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
Either these courses

PHYS 5BIntroduction to Physics II

5

PHYS 5MIntroduction to Physics II Laboratory

1

or this course

ECE 9Statics and Mechanics of Materials

5

Upper-Division Courses

Core requirements:

(In addition to the core requirements students must complete the courses for one of the concentrations.)

CSE 100Logic Design

5

CSE 100LLogic Design Laboratory

2

CSE 101Introduction to Data Structures and Algorithms

5

CSE 107Probability and Statistics for Engineers

5

CSE 120Computer Architecture

5

CSE 121Embedded System Design

7

CSE 185E
/CSE 185S
Technical Writing for Computer Science and Engineering

5

ECE 101Introduction to Electronic Circuits

5

ECE 101LIntroduction to Electronic Circuits Laboratory

2

ECE 103Signals and Systems

5

ECE 103LSignals 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 195Senior Thesis Research

5

Comprehensive Requirement

Capstone Requirement

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

Both of the following courses
CSE 123AEngineering Design Project I

5

CSE 123BEngineering Design Project II

7

Or all of the following courses
CSE 129ACapstone Project I

2

CSE 129BCapstone Project II

5

CSE 129CCapstone Project III

5

Or the following course
CSE 195Senior Thesis Research

5

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

Or all of the following courses
CSE 115AIntroduction to Software Engineering

5

CSE 115BSoftware Design Project

5

CSE 115CSoftware Design Project II

5

Or the following course
ECE 118Introduction to Mechatronics

10

May not also be used as a concentration elective.

Or both of the following courses
CSE 115AIntroduction to Software Engineering

5

CSE 115DSoftware Design Project - Accelerated

5

Or the following course
CSE 157Internet of Things

7

May not also be used as a concentration elective.

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.

Computer Systems Concentration Requirements

One of the following courses
CSE 125Logic Design with Verilog

7

CSE 122Introduction to VLSI Digital System Design

5

CSE 222A, Advanced VLSI Digital System Design, may be substituted for CSE 122 with department approval.
CSE 225, Introduction to ASIC Systems Design, may be substituted for CSE 125 with department approval. Petition forms for course substitution are available at the undergraduate advising office and on the Undergraduate Advising website.

Plus the following course
CSE 130Principles of Computer Systems Design

5

Plus one of the following courses
CSE 111Advanced Programming

5

CSE 115AIntroduction to Software Engineering

5

CSE 134Embedded Operating Systems

5

Plus one upper-division or graduate elective

From the approved elective list for the computer engineering major.

Digital Hardware Concentration Requirements

The following course
CSE 125Logic Design with Verilog

7

CSE 225, Introduction to ASIC Systems Design, may be substituted for CSE 125 with department approval. Petition forms for course substitution are available at the undergraduate advising office and on the Undergraduate Advising website.

Plus one of the following options
Either these courses

ECE 171Analog Electronics

5

ECE 171LAnalog Electronics Laboratory

2

or this course

CSE 122Introduction to VLSI Digital System Design

5

CSE 222A, Advanced VLSI Digital System Design, may be substituted for CSE 122 with department approval. Petition forms for course substitution are available at the undergraduate advising office and on the Undergraduate Advising website.

Plus one of the following courses
CSE 122Introduction to VLSI Digital System Design

5

CSE 220Computer Architecture

5

CSE 228AAgile Hardware Design

5

ECE 171Analog Electronics

5

ECE 171LAnalog Electronics Laboratory

2

ECE 173High-Speed Digital Design

7

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 for the computer engineering major or the Computer Engineering B.S. Digital Hardware Concentration Grad-Level Course List.

Networks Concentration Requirements

All of the following courses
CSE 150Introduction to Computer Networks

7

CSE 156Network Programming

5

CSE 156LNetwork Programming Laboratory

2

CSE 130Principles 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 for the computer engineering major.

System Programming Concentration Requirements

The following course
CSE 130Principles of Computer Systems Design

5

Plus one of the following courses
CSE 111Advanced Programming

5

CSE 115AIntroduction to Software Engineering

5

CSE 134Embedded Operating Systems

5

Plus the following course
CSE 150Introduction to Computer Networks

7

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 for the computer engineering major.

Plus one of the following courses
CSE 113Parallel and Concurrent Programming

5

CSE 156Network Programming

5

CSE 156LNetwork Programming Laboratory

2

CSE 110AFundamentals of Compiler Design I

5

CSE 156 and CSE 156L lecture-lab combination count as one course.

Planners

The tables below are for informational purposes and do not reflect all university, general education, and credit requirements. See Undergraduate Graduation Requirements for more information.

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 Summer 
Entering       College 1A
      Summer Edge (optional)
       
1st (frosh) MATH 19A MATH 19B AM 30  
CSE 30 PHYS 5A & PHYS 5L  CSE 12  
COLL 1 WRIT 1/WRIT 1E (if needed)     
2nd (soph) AM 10 AM 20 CSE 120  
PHYS 5C & PHYS 5N CSE 13S  CSE 101   
CSE 16   PHYS 5B & PHYS 5M  
WRIT 2      
3rd (junior) ECE 101 & ECE 101L CSE 107 CSE 185E  
Concentration course CSE 100 &. 100L CSE 121  
    Concentration course   
4th (senior) Concentration course Capstone course Capstone course  
ECE 103 & ECE 103L Concentration course  Concentration course   
       

* WRIT 2 should be taken in or before spring quarter of the second year.

Plan Two for Entering Frosh

This plan is for students with no programming experience who are placed into MATH 3.

  Fall Winter Spring Summer 
Entering       College 1A
      Summer Edge (optional)
       
1st (frosh) MATH 3 MATH 19A MATH 19B  
CSE 20 CSE 12 CSE 30  
  WRIT 1/WRIT 1E (if needed)     
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  
WRIT 2*      
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    

* WRIT 2 should be taken in or before spring quarter of the second year.

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 Summer 
Entering       KRSG 1T
      Summer Edge (optional)
       
3rd (junior) ECE 101 & ECE 101L CSE 107 CSE 120  
CSE 185E CSE 100 & CSE 100L CSE 121  
CSE 12 CSE 101 Concentration course  
4th (senior)
 
       
ECE 103 & ECE 103L  Capstone course Capstone course  
Concentration course  Concentration course Concentration course  

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