Skip To Navigation Skip To Content Basic Menus
UC Santa Cruz
Jack Baskin School of Engineering

Computer Engineering


  • Home
    • Chair's Welcome
  • Academics
    • Graduate
      • Introduction
      • Curriculum
      • Requirements
      • Approved Courses
      • Exam Committees and Proposals
      • Dissertation Guidelines
      • Base Requirements
    • Undergraduate
      • Introduction
      • Curriculum
      • B.S. / M.S.
    • MS / Silicon Valley
      • Overview
      • Requirements
      • Application
    • Courses
    • Undergraduate Portfolio
    • Internal
  • Research
    • Research Areas
    • Undergraduate Research
  • People
    • Faculty
    • Staff
    • Graduate Students
  • Contact Us

Undergraduate Curriculum

Home » Academics » Undergraduate
Table of Contents
    1. Program Description
    2. Undergraduate Program Description
    3. Courses for Nonmajors
    4. Computer Engineering Policies
      1. Admissions Policy
      2. Transfer Students
      3. Advising
      4. Honors in the Major
      5. Progress in the Major
      6. Disqualification Policy
      7. Letter Grade Policy
      8. School of Engineering Policies
      9. Materials Fee and Miscellaneous Fees
    5. Computer Engineering Major Requirements
      1. Lower-Division Core Requirements
      2. Upper-Division Core Requirements
    6. Concentrations
      1. Systems Programming Concentration
      2. Computer Systems Concentration
      3. Robotics and Control Concentration
      4. Networks Concentration
      5. Digital Hardware Concentration
    7. Capstone Requirement
    8. Portfolio Exit Requirement
    9. Computer Engineering Major Planners
    10. Computer Engineering Minor
      1. Computer Engineering Minor Requirements
    11. Computer Technology Minor
      1. Computer Technology Minor Requirements
      2. Elective Requirement
      3. Capstone Requirement
    12. B.S./M.S. Undergraduate Program
      1. Admission to the B.S./M.S. Program

The following information is from the UCSC General Catalog.

Program Description

Computer engineering focuses on the design, analysis, and application of computers and on their applications as components of systems. The UCSC Department of Computer Engineering sustains and strengthens its teaching and research program to provide students with inspiration and quality education in the theory and practice of computer engineering. The department offers B.S., M.S. and Ph.D degrees as well as two undergraduate minors. A combined B.S./M.S. program allows students to complete both degrees in five years.

Undergraduate Program Description

The UCSC B.S. in computer engineering prepares graduates for a rewarding career in engineering. UCSC computer engineering graduates will have a thorough grounding in the principles and practices of computer engineering and the scientific and mathematical principles upon which they are built; they will be prepared for further education (both formal and informal) and for productive employment in industry.

Because computer engineering is so broad, we offer five specialized concentrations for completing the program: systems programming, computer systems, robotics and control, networks, and digital hardware. Descriptions of these concentrations follow in the section on major requirements.

The Department of Computer Engineering offers two undergraduate minors, described after the B.S. program below. The minor in computer technology provides a broad look at computer hardware, computer software, engineering design, and the interface between computer technology and society. This minor is particularly recommended for students interested in the use of computer technology in another discipline or in K-12 teaching. The minor in computer engineering focuses on the technical aspects of computer hardware,
embedded system, and software design. This minor is particularly recommended for students interested in the design of computer technology for use in another discipline.

The Department co-sponsors the B.S. in bioengineering with the Departments of Biomolecular Engineering, Electrical Engineering, and Molecular, Cell and Developmental Biology.

Beyond the extensive research, design, and development projects taking place within courses required for the major, many computer engineering students join faculty labs to take part in cutting-edge research. The department sponsors the summer undergraduate research fellowship in information technology (SURF-IT, http://surf-it.soe.ucsc.edu), as well as many other research opportunities. The department holds regular faculty-undergraduate lunches to discuss research and other issues of interest.

Many computer engineering students continue their education through the M.S. degree. The Department of Computer Engineering offers an accelerated combined B.S./M.S. degree in computer engineering that enables eligible undergraduates to move without interruption to the graduate program. Interested computer engineering majors should contact their adviser for more details. The graduate program of the Department of Computer Engineering also offers both the standard M.S. and the Ph.D. degrees.

The computer engineering B.S. program is accredited by the Engineering Accreditation Commission of ABET.

Courses for Nonmajors

The Department of Computer Engineering offers course 1, Hands-on Computer Engineering: a two-credit laboratory course designed to introduce students to computer engineering via many short fun projects; course 3, Personal Computer Concepts: Software and Hardware, providing students an introductory course on the design and use of computers from an engineering viewpoint; and course 8, Robot Automation: Intelligence through Feedback Control. Other computer engineering courses of interest to nonmajors include course 12, Computing Systems and Assembly Language, an introductory course on computer systems, system software, and machine-level programming; course 80N, Introduction to Networking and the Internet, an introduction to technological services of the Internet; course 80U, Ubiquitous and Mobile Computing; course 80E, Engineering Ethics; and course 80A, Universal Access: Disability, Technology, and Society.

Computer Engineering Policies

Admissions Policy

Lower-division students will be accepted into the computer engineering major on completion of the SOE major declaration process during any of their first three quarters at UCSC. See http://www.soe.ucsc.edu/advising/undergraduate/ for quarterly deadlines and mandatory major declaration workshops. Students considering the computer engineering major among other possibilities are strongly encouraged to take course 1 (2 credits) or course 8 within the first two quarters, and course 12 within the first three quarters.

After the first three quarters, petitions to declare the major are reviewed individually. Students must have completed at least five courses required for the major, and are expected to have a GPA among School of Engineering and Division of Physical and Biological Sciences courses (the SOE GPA) of 2.5. Progress in the major and ability to complete the major within campus limits will also be considered.

Transfer Students

Admission to the computer engineering major for transfer students is based on performance in all transferable science, math, and engineering courses. To be admitted, at least four courses required for the major must transfer for a student to be eligible for admission. Requirements are listed below. We recommend, in particular, substantial completion of the mathematics series, as well as programming or physics.

Advising

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 course work that meets the major or minor requirements (see http://www.soe.ucsc.edu/advising/undergraduate/).

Honors in the Major

Computer engineering majors are considered for “Honors in the Major” and “Highest Honors in the Major” based on the School of Engineering GPA and on results of undergraduate research and other significant contributions to the School of Engineering. Students with an SOE GPA of 3.7, in most cases, receive Highest Honors. Students with an SOE GPA of 3.3, 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 SOE GPA. Computer engineering juniors and seniors may also be eligible for election to the UCSC chapter of Tau Beta Pi, the national engineering honor society founded in 1885.

Progress in the Major

Declared majors must complete courses required for the major in a manner that will enable graduation within campus limits. Students not making sufficient progress may be required to take a higher course load, complete courses during summer, or otherwise adjust their study plan, at the discretion of the faculty. Students who do not complete required changes to the study plan may be disqualified from the major.

Disqualification Policy

Please refer to the Engineering section of this catalog for the School of Engineering's Major Disqualification Policy.

Letter Grade Policy

The Computer Engineering Department requires letter grading for all courses applied to the degree 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 engineering major but sponsored by other departments.

School of Engineering Policies

Please refer to the School of Engineering section of the catalog for additional policies that apply to all School of Engineering programs.

Materials Fee and Miscellaneous Fees

Please see the section on fees under the School of Engineering.

Computer Engineering Major 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 portfolio exit requirement.

Lower-Division Core Requirements

Applied Mathematics and Statistics 10 Mathematical Methods for Engineers I; or Mathematics 21 Linear Algebra

Applied Mathematics and Statistics 20, Mathematical Methods for Engineers II; or Mathematics 24 Ordinary Differential Equations

Computer Engineering 12/L, Computer Systems and Assembly Language/Laboratory

Computer Engineering 13/L Computer Systems and C Programming/Laboratory (recommended); or Computer Science 12A/L Introduction to Programming/Laboratory; and Computer Science 12B/M Introduction to Data Structures/Laboratory; or Computer Engineering 13H Introduction to Programming and Data Structures (Honors)

Computer Engineering 16 Applied Discrete Mathematics

Electrical Engineering 70/L Introduction to Electronics/Laboratory

Computer Engineering 103 Signals and Systems

Mathematics 19A-B Calculus for Science, Engineering, and Mathematics

Mathematics 23A Multivariable Calculus

Physics 5A/L Introduction Physics /Laboratory I; or Physics 6A/L, Introductory Physics I/Laboratory;

Physics 5C/N Introduction Physics III/Laboratory; or Physics 6C/N, Introductory Physics III/Laboratory;

Physics 5B/M Introduction to Physics II/Laboratory; or 6B/M, Introductory Physics II/Laboratory; or an upper-division elective from the approved list.

Computer Engineering 80E Engineering Ethics; or another approved ethics course. This course is required even for transfer students who have had their general education requirements waived.

Upper-Division Core Requirements

Computer Engineering 100/L Logic Design/Laboratory

Computer Engineering 121/L Microprocessor System Design/Laboratory

Computer Engineering 110 Computer Architecture

Computer Engineering 107 Mathematical Methods of Systems Analysis: Stochastic

Computer Engineering 185 Technical Writing for Computer Engineers

Computer Science 101 Abstract Data Types

Concentrations

The following concentrations are specializations for the computer engineering student. Students must complete all of the courses listed within their selected concentration.

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 Science 111, Introduction to Operating Systems
  • Computer Science 115, Software Methodology
  • Elective: Upper-division elective from the approved list
  • Any two of the following courses:

    Computer Engineering 113, Parallel and Concurrent Programming
    Computer Engineering 117/L, Embedded Software/ Laboratory
    Computer Engineering 118/L Introduction to Mechatronics/Laboratory
    Computer Engineering 156/L Network Programming/Laboratory (requires Computer Engineering 150)
    Computer Science 104A Fundamentals of Compiler Design I
    Computer Science 104B Fundamentals of Compiler Design II
    Computer Science 116 Software Design Project

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.

  • Computer Engineering 125/L, Logic Design with Verilog/Laboratory; or 126/L, Advanced Logic Design/Laboratory
  • Computer Science 111, Introduction to Operating Systems
  • Elective: Two upper-division or graduate electives from approved list

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.

Three out of the following four courses:

  • Computer Engineering 117/L, Embedded Software/Laboratory
  • Computer Engineering 118/L, Mechatronics/Laboratory
  • Computer Engineering 167/L, Sensing and Sensor Technologies/Laboratory
  • Electrical Engineering 154, Feedback Control Systems

Elective (three possibilities):

  • Completion of all four courses listed above,
  • Computer Engineering 174, Tools for Digital Systems Design Lab and any approved School of Engineering upper-division elective; or
  • Completion of one of the following courses

    Computer Engineering 153, Digital Signal Processing


    Applied Mathematics and Statistics 146, Chaotic Dynamical Systems


    Applied Mathematics and Statistics 162, Design and Analysis of Computer Simulation Experiments


    Computer Engineering 242, Applied Feedback Control


    Computer Engineering 240, Introduction to Linear Dynamical Systems


    Information Systems Management 206, Optimization Theory and Applications

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.

  • Computer Engineering 150/L, Introduction to Computer Networks/Laboratory
  • Computer Engineering 151, Network Administration; or 156/L, Network Programming/Laboratory
  • Computer Science 111, Introduction to Operating Systems
  • Electives: Upper-division or graduate elective from approved list.

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.

  • Computer Engineering 125/L, Logic Design with Verilog/Laboratory; or 126/L, Advanced Logic Design/Laboratory
  • Computer Engineering 173/L, High-Speed Digital Design/Laboratory
  • Computer Engineering 174, Introduction to the EDA Tools for PCB Design (three credits)
  • Electrical Engineering 171/L, Analog Electronics/Laboratory
  • Elective: Upper-division or graduate elective from approved list

Capstone Requirement

All computer engineering students complete a two-quarter capstone project sequence. Working with students from different concentrations and majors, students apply the skills and techniques from their own chosen concentration to a major design problem.

  • Computer Engineering 123A, Computer Engineering Design Project I
  • Computer Engineering 123B, Computer Engineering Design Project II; or 195, Senior Thesis Research

Portfolio Exit Requirement

Students are required to submit a portfolio and exit survey. Students whose submissions are deemed inadequate, either in presentation or in content, may be required to revise and rewrite the portfolio or to complete an additional project course. The portfolios must be turned in electronically via http://www.soe.ucsc.edu/programs/ce/undergraduate/portfolio.php at least seven days before the end of instruction in the quarter of graduation.

The portfolios will be reviewed quarterly by the computer engineering undergraduate committee and must include the following:

  • a hardware-oriented project report
  • a software-oriented project report
  • a third project report of the student's selection
  • a one- to two-page overview of the three projects, the student's contribution to them, and a narrative as specified at http://www.soe.ucsc.edu/programs/ce/undergraduate/portfolio.php.
  • an exit survey

If a project report is associated with a course, it must be an upper-division or graduate course. One of the reports must be the result of a multi-person project. One of the reports must be the result of an individual project. One of the reports must be the result of the student's capstone design project.

Computer Engineering Major Planners

The following are two sample academic plans for students to complete during their first two years as preparation for the computer engineering major. Plan One is suggested guidelines for students who are committed to the major early in their academic career. Plan Two is for students who are considering the major. Students who take precalculus at UCSC, or who have little programming experience, are strongly advised to take course 8, Robot Automation in the fall quarter.

Plan One
Year Fall Winter Spring

1st (frsh)

Math 19A

Cmps 12A/L

core course

Math 19B

Cmpe 12/L

Cmpe 1 (2 credit)

gen ed

Cmpe 80E

Cmps 12B/M

gen ed

2nd
(soph)

Phys 5A/L

AMS 10

gen ed

AMS 20

Cmpe 16

gen ed

Phys 5C/N

Cmpe 100/L

Cmpe 80E

Plan Two
Year Fall Winter Spring

1st (frsh)

Math 3 (pre-calc)

Cmpe 8

Cmpe 1 (2 credit)

core course

Math 19A

Cmpe 12/L

gen ed

Math 19B

Cmps 13/L

gen ed

2nd
(soph)

Phys 5A/L

Cmps 12B/M

gen ed

Cmpe 100/L

Cmpe 16

gen ed

Phys 5C/N

AMS 10

Cmpe 80E

Computer Engineering Minor

The computer engineering minor provides a solid foundation in digital hardware, electronics, and computer software, as well as the prerequisite material in mathematics and physics. The minor is well-suited to students who wish to take part in the design of computer and embedded systems in any discipline. Computer Engineering 121/L, Microprocessor System Design and Laboratory, provides a capstone engineering design experience for students pursuing the computer engineering minor.

Computer Engineering Minor Requirements

Requirements for the minor in computer engineering are the following:

Applied Mathematics and Statistics 20A or 20, (Basic) Mathematical Methods for Engineers II (requires prerequisite); or Mathematics 24, Ordinary Differential Equations

Computer Engineering 12/L, Computer Systems and Assembly Language/Laboratory

Computer Engineering 16, Applied Discrete Mathematics

Computer Engineering 100/L, Logic Design/Laboratory

Computer Engineering 110, Computer Architecture

Computer Engineering 121/L, Microprocessor System Design/Laboratory

Computer Engineering 13/L, Computer Systems and C. Programming (recommended); or

Computer Science 12A/L, Introduction to Programming/Laboratory

Computer Science 12B/M, Introduction to Data Structures/Laboratory; or 13H/L, Introduction to Programming and Data Structures (Honors)/ Laboratory

Computer Science 101, Abstract Data Types

Electrical Engineering 70/L, Introduction to Electronics/Laboratory

Mathematics 19A-B, Calculus for Science, Engineering, and Mathematics

Physics 5A/L, Introduction Physics I/Laboratory; or Physics 6A/L, Introductory Physics I/Laboratory

Physics 5C/N, Introduction Physics III/Laboratory; or Physics 6C/N, Introductory Physics III/Laboratory

At most, two of the upper-division core courses and the lower-division electrical engineering course may be used to satisfy the requirements of another major or minor degree.

Computer Technology Minor

The computer technology minor provides a broad exposure to computer hardware and software technology. The minor is intended for non-engineering majors who would like to develop an understanding of the design and use of computer technology. The minor may be particularly valuable for students who expect to use computer technology in another discipline, who are interested in K-12 teaching, or who have a general interest in computer technology and how it works. The minor includes a required capstone essay.

The computer technology minor is not available to computer engineering, computer science, electrical engineering, or information systems management majors, or to computer engineering minors.

Computer Technology Minor Requirements

Computer Engineering 1, Hands-On Computer Engineering

Computer Engineering 8, Robot Automation: Intelligence through Feedback Control

Computer Engineering 12/L, Computer Systems and Assembly Language/Laboratory

Computer Engineering 100/L, Logic Design/Laboratory

Computer Engineering 80N, Networking and the Internet; or 80U, Ubiquitous and Mobile Computing; or 150/L, Introduction to Computer Networks/Laboratory (requires pre-requisites)

Computer Engineering 80E, Engineering Ethics; or 80A, Universal Access: Disability, Technology, and Society

Information Systems Management 101, Management of Technology Seminar (1 credit)

Two of the following courses:

  • Biomolecular Engineering 60/L, Programming for Biologists and Biochemists/Laboratory
  • Computer Engineering 13/L, Computer Systems and C Programming/Laboratory
  • Computer Science 5C, Introduction to Programming in C/C++
  • Computer Science 5J, Introduction to Programming in Java
  • Computer Science 5P, Introduction to Programming Python
  • Computer Science 11, Intermediate Programming
  • Computer Science 12A/L, Introduction to Programming/Laboratory
  • Computer Science 12B/M, Introduction to Data Structures/Laboratory

Elective Requirement

Two five-credit upper-division School of Engineering electives and any associated laboratories Only one is required if Computer Engineering 150/L is used in satisfying the requirements above.

Capstone Requirement

194F, Group Tutorial (2 credits). A group tutorial completed during the winter quarter prior to graduation considering the impact of computer technology. Students will complete papers considering aspects of the impact of computer technology on the students' discipline. Contact the School of Engineering Undergraduate Advising office during fall quarter to join this course.

B.S./M.S. Undergraduate Program

The Department of Computer Engineering offers a combined bachelor and master of science degree program in computer engineering, providing the opportunity to earn both degrees in five years. The B.S./M.S. program offers a competitive edge to students who are completing their undergraduate degree at UCSC, by enabling those with advanced preparation to move directly from the undergraduate to the graduate program. The program assists qualified enrolled students with a simplified graduate application process and makes it possible to complete an M.S. degree with just seven courses beyond the B.S. program.

The program prepares students for engineering positions in industry, and it is particularly attractive for undergraduate students planning to engage in engineering research in industry or academia. The School of Engineering has many opportunities for undergraduate research, especially for honors-level students. B.S./M.S. students can continue their undergraduate research projects with the same research group. Upon advancement to graduate standing, B.S./M.S. students are eligible for support as graduate research assistants. The B.S./M.S. program provides knowledge and training in important and contemporary areas of computer engineering.

Particularly motivated B.S./M.S. students can complete the entire program in 14 quarters (or fewer with Advanced Placement credit); however, advance planning is essential. Interested students should contact the department and their faculty adviser early in their college career-no later than the start of their junior year. B.S./M.S. students retain undergraduate status until the completion of all undergraduate requirements, but may begin graduate course work in advance of graduate standing.

Admission to the B.S./M.S. Program

The undergraduate degree requirements are the same as those for other computer engineering majors; however, the B.S./M.S. program capitalizes on graduate-level courses that may apply toward both degree requirements. B.S./M.S. candidates may apply (at most) two graduate courses taken as undergraduates toward both the M.S. degree and B.S. degree electives. At the time graduate status is achieved, no more than three graduate courses taken as an undergraduate may count toward the nine courses required for the M.S. degree. B.S./M.S. students may not apply undergraduate courses toward the M.S. degree.

Admission to the B.S./M.S. program is by formal application. Undergraduate applicants seeking admission as graduate students generally apply in their last quarter of junior standing. To qualify, applicants must have completed the following:

  • Computer Engineering 100/L, Logic Design/Laboratory
  • Computer Engineering 110, Computer Architecture; or 121/L, Microprocessor System Design/Laboratory
  • Computer Science 101, Abstract Data Types
  • Electrical Engineering 70/L, Introduction to Electronics/Laboratory
  • at least one additional upper-division School of Engineering course

Applications will be considered until the student's first quarter of senior standing. This extension of the application period into the first quarter of the senior year is specifically geared to enable eligible transfer students to complete the courses required for admission.

Students who cannot meet the B.S./M.S. application requirements or who are not admitted into the program are encouraged to apply for admission to the standard M.S. or Ph.D. program during their senior year.

Additional information about this program can be found on the department's web pages at http://www.soe.ucsc.edu/programs/undergraduate/.

Source: http://reg.ucsc.edu/catalog/html/programs_courses/cmpePS.html

© 2008 UC Santa Cruz • All Rights Reserved • Last Modified On September 23, 2008 At 9:19 AM
1156 High St, Santa Cruz, CA 95064 • 831-459-2158 •
UCSC Home • BSOE Home • Web Mail • My Account • Wiki • Forums • SSH • Basic Menus • Log In