Computer Engineering

2012-13 General Catalog

Baskin School of Engineering
(831) 459-2158
http://www.soe.ucsc.edu

Faculty | Course Descriptions


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 the bachelor of science (B.S.) in computer engineering, the bachelor of science in robotics engineering, the bachelor of arts (B.A.) in digital and network technology, the master of science (M.S.) and the doctor of philosophy (Ph.D.) in computer engineering degrees as well as an undergraduate minor. A combined B.S./M.S. program allows students to complete both the B.S. and M.S. in computer engineering degrees in five years. The department administers the interdisciplinary graduate designated emphasis in robotics and control that may be pursued along with a graduate degree in computer engineering or another field such as applied mathematics and statistics or electrical engineering.

Undergraduate Program Description

The department offers two bachelor of science majors, one in computer engineering and the other in robotics engineering. The department also offers a bachelor of arts in network and digital technology. The programs are closely related with many common requirements, so that students do not need to immediately decide among the three.

The two undergraduate engineering degrees have the same program objectives for their graduates. The program objectives of the UCSC B.S. in computer engineering and B.S. in robotics engineering are:

  1. Graduates who choose to pursue a career in industry, government, or academia will become successful engineers, scientists, or educators who demonstrate strong leadership, technical, and team skills; and a commitment to continuing professional development.

  2. Graduates who choose to pursue advanced degrees will gain admission to graduate programs and will be successful graduate students.

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, the B.S. in computer engineering offers 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 UCSC B.S. in robotics engineering prepares graduates for a rewarding career at the interfaces between electrical, computer, and mechanical engineering. UCSC robotics engineering graduates will have a thorough grounding in the principles and practices of robotics and control, and the scientific and mathematical principles upon which they are built; graduates will be prepared for further education (both formal and informal) and for productive employment in industry. 

The UCSC B.A. in network and digital technology provides students with in-depth knowledge of the underlying structure and function of network and computer technology and the design processes that make those technologies function.  The program is tailored to students who wish to combine technology with other fields or have a general focus on digital design or computer networks.  The B.A. in network and digital technology is not an engineering degree, but B.A. graduates will be prepared to work with technology development in other capacities, or join the computer network workforce.  Students interested in graduate study should pursue either B.S. program.

The Department of Computer Engineering offers an undergraduate minor, described after the B.A. program below. The minor in computer engineering focuses on the technical aspects of computer hardware, embedded systems, 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-led research projects  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 ABET Engineering Accreditation Commission.

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 80E, Engineering Ethics; and course 80A, Universal Access: Disability, Technology, and Society.

Computer Engineering Policies

Declaration of the Computer Engineering Majors

Declaration of the computer engineering major in the first six quarters of enrollment at UCSC is based on performance in the following lower division courses and associated labs required for the major: Mathematics 19A, Mathematics 19B, Mathematics 23A, Applied Mathematics and Statistics 10 or Mathematics 21, Applied Mathematics and Statistics 20, Computer Engineering 12/L, Computer Engineering 13/L or Computer Science 12A/L, Computer Engineering 16, Computer Science 12B/M, Physics 5A/L and Physics 5C/N. Students in their first six quarters who have completed at least 37 credits in these courses with a cumulative grade point average of at least 2.80 will be admitted to the computer engineering major. All attempts at these courses (including NPs and Ws as Fs) are included in this grade point average and P grades are counted as Cs. After the first six quarters petitions to declare the major are reviewed individually to ensure the major can be completed within the campus limits. Students seeking to declare in their seventh through ninth quarters who have completed the four upper division classes and associated labs, Computer Engineering 100/L, Computer Engineering 107, Computer Science 101 and Electrical Engineering 101/L with a cumulative grade point average of at least 2.50 or greater (calculated using the campus method) and have completed all of the lower division courses listed above by their ninth quarter will also be admitted.

Declaration of the robotics engineering major in the first six quarters of enrollment at UCSC is based on performance in the following lower division courses and associated labs required for the major: Mathematics 19A, Mathematics 19B, Mathematics 23A, Applied Mathematics and Statistics 10 or Mathematics 21, Applied Mathematics and Statistics 20, Computer Engineering 9, Computer Engineering 12/L, Computer Engineering 13/L or Computer Science 12A/L, Computer Engineering 16, Computer Science 12B/M, Physics 5A/L and Physics 5C/N. Students in their first six quarters who have completed at least 42 credits in these courses with a cumulative grade point average of at least 2.80 will be admitted to the robotics engineering major. All attempts at these courses (including NPs and W’s as F’s) are included in this grade point average and P grades are counted as Cs. After the first six quarters petitions to declare the major are reviewed individually to ensure the major can be completed within the campus limits. Students seeking to declare in their seventh through ninth quarters who have completed the five upper division classes and associated labs, Computer Engineering  100/L, Computer Engineering 107, Computer Science 101, Electrical Engineering 101/L and Electrical Engineering 103 with a cumulative grade point average of at least 2.50 or greater (calculated using the campus method) and have completed all of the lower division courses listed above will also be admitted.

Declaration of the network and digital technology major is based on performance in the following lower division courses and associated labs required for the major: Math 19A, Math 19B, Math 23A, Applied Mathematics and Statistics 10 or Mathematics 21, Applied Mathematics and Statistics 20 or Mathematics 24, Computer Engineering 12/L, Computer Engineering 13/L or Computer Science 12A/L, Computer Engineering 16, Computer Science 12B/M, Physics 5A/L or Physics 6A/L and Physics 5C/N or Physics 6C/N. Students in their first six quarters who have completed at least 37 credits in these courses with a cumulative grade point average of at least 2.50 or greater will be admitted to the network and digital technology major. All attempts at these classes (including NPs and Ws as Fs) are included in this grade point average and P grades are counted as Cs, however up to three attempts at these five-unit classes and up to three attempts at these associated labs may be excluded provided the remaining completed classes comprise at least 37 credits.   After the first six quarters petitions to declare the major are reviewed individually to ensure the major can be completed within the campus limits. Students seeking to declare the network and digital technology major after their sixth quarter must have completed the courses listed above with a cumulative grade point average of at least 2.50 or greater (calculated using the campus method).

Denials of admission to the major may be appealed by submitting a letter to the School of Engineering Undergraduate Office, addressed to the Computer Engineering Undergraduate Director, describing why the grade point average obtained is not an accurate reflection of the student's potential.

Transfer Students

Admission to any of the three computer engineering majors for transfer students is based on performance in all transferable science, mathematics, 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 and 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

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

Letter Grade Policy

The Computer Engineering Department requires letter grading for all courses applied to its degrees with the exception of two lower-division courses. Students may elect to take Pass/No Pass on those two lower-division courses. This policy includes courses required for the majors but sponsored by other departments. However, a P grade will be interpreted as a C for the purpose of calculating the grade point average for admission to any of the majors.

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. 

Requirements of the Computer Engineering Major

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

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; or Computer Science 5J, Introduction to Programming in Java, and Computer Science 11, Intermediate Programming

Computer Science 12B/M, Introduction to Data Structures/Laboratory

Computer Engineering 16, Applied Discrete Mathematics

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

Mathematics 23A, Multivariable Calculus

Physics 5A/L, Introduction to Physics I /Laboratory;

Physics 5B/M, Introduction to Physics II/Laboratory; or Computer Engineering 9, Statics, Dynamics, and Biomechanics (recommended for robotics concentration).

Physics 5C/N, Introduction to Physics III/Laboratory;

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 107, Mathematical Methods of Systems Analysis: Stochastic

Computer Engineering 110, Computer Architecture

Computer Engineering 121/L, Microprocessor System Design/Laboratory

Computer Engineering 185, Technical Writing for Computer Engineers

Computer Science 101, Abstract Data Types

Electrical Engineering 101/L, Introduction to Electronics/Laboratory

Electrical Engineering 103, Signals and Systems

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

Computer Engineering 150/L, Introduction to Computer Networks/Laboratory

Elective: Upper-division or graduate elective from the approved list

Any one of the following courses:

Computer Engineering 113, Parallel and Concurrent Programming

Computer Engineering 156/L, Network Programming/Laboratory

Computer Science 104A, Fundamentals of Compiler Design I

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

Computer Science 109, Advanced Programming; or Computer Science 115, Software Methodology

Computer Science 111, Introduction to Operating Systems

Elective: Upper-division or graduate elective from the 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.

Any two of the following:

Computer Engineering 118/L, Introduction to Mechatronics/Laboratory

Computer Engineering 167/L, Sensing and Sensor Technologies/Laboratory

Electrical Engineering 154, Feedback Control Systems

Elective: Upper-division or graduate elective from the approved list

Third course from above (Computer Engineering 118/L, Computer Engineering 167/L, Electrical Engineering 154); or any one of the following courses:

Computer Engineering 153, Digital Signal Processing

Applied Mathematics and Statistics 114, Introduction to Dynamical Systems

Computer Engineering 215, Models of Robotic Manipulation

Computer Engineering 240, Introduction to Linear Dynamical Systems

Computer Engineering 242, Applied Feedback Control

Computer Engineering 264, Image Analysis and Computer Vision

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 156/L, Network Programming/Laboratory

Computer Science 111, Introduction to Operating Systems

Elective: Computer Engineering 151/L, Network Administration/Laboratory; or an 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

Computer Engineering 122, Introduction to VLSI Digital System Design; or Computer Engineering 173/L, High-Speed Digital Design/Laboratory; or Computer Engineering 222, Advanced VLSI Digital System Design

Electrical Engineering 171/L, Analog Electronics/Laboratory

Elective: Upper-division or graduate elective from approved list

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 completing Computer Engineering 185, Technical Writing for Computer Engineers.

Capstone Requirement

All computer engineering students complete either the two-quarter capstone project sequence Computer Engineering 123A/B, or the three-quarter capstone project sequence Computer Engineering 129A/B/C or a senior thesis along with the first capstone course.

One of the following sequences:

Computer Engineering 123A, Computer Engineering Design Project I  and Computer Engineering 123B, Computer Engineering Design Project II;

Computer Engineering 123A, Computer Engineering Design Project I and Computer Engineering 195, Senior Thesis Research

Computer Engineering 129A, Capstone Project I; and Computer Engineering 129B, Capstone Project II; and Computer Engineering 129C, Capstone Project III

Computer Engineering 129A, Capstone Project I and Computer Engineering 195, Senior Thesis Research

Exit Requirement

Students are required to submit a portfolio, complete the exit survey, and attend an exit interview. 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.ce.ucsc.edu/node/20 by the last day of 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;

and any additional information related to these projects requested in http://www.ce.ucsc.edu/node/20.

If a project report is associated with a course, it must be an upper-division (other than CMPE100/L) 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.

Exit interviews are scheduled during the last week of the quarter.

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

MATH 19B

CMPE 80E

CMPS 12A/L

CMPE 12/L

CMPS 12B/M

core course

gen ed

MATH 23A

2nd
(soph)

PHYS 5A/L

AMS 20

PHYS 5C/N

AMS 10

CMPE 107

CMPE 100/L

CMPE 16

PHYS 5B/M

CMPS 101

Plan Two

Year

Fall

Winter

Spring

1st
(frsh)

MATH 3
(pre-calc)

MATH 19A

MATH 19B

CMPE 8

CMPE 12/L

CMPE 13/L

core course

gen ed

CMPE 80E

2nd
(soph)

PHYS 5A/L

CMPE 100/L

PHYS 5C/N

CMPS 12B/M

CMPE 9

MATH 23A

AMS 10

AMS 20

CMPE 16

Requirements of the Robotics Engineering Major

All students in the robotics engineering major must take the courses listed below. The senior comprehensive requirement for robotics engineering majors is satisfied by completion of the capstone course and the portfolio exit requirement. The robotics engineering major requires two more courses than the computer engineering major, including one graduate course.  Students not making sufficient progress in the major may be required to change to another major.

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

Computer Engineering 8/L, Introduction to Robot Automation

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 (Accelerated)/Laboratory (recommended); or Computer Science 5J, Introduction to Programming in Java, and Computer Science 11, Intermediate Programming

Computer Science 12B/M,Introduction to Data Structures/Laboratory

Computer Engineering 16, Applied Discrete Mathematics

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

Mathematics 23A, Multivariable Calculus

Physics 5A/L, Introduction Physics /Laboratory I

Physics 5C/N,Introduction Physics III/Laboratory

Computer Engineering 9, Statics, Dynamics, and Biomechanics

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 107, Mathematical Methods of Systems Analysis: Stochastic

Computer Engineering 115/L, Solid Mechanics

Computer Engineering 118/L, Introduction to Mechatronics/Laboratory

Computer Engineering 121/L, Microprocessor System Design/Laboratory

Computer Engineering 167/L, Sensing and Sensor Technologies/Laboratory

Computer Engineering 185, Technical Writing for Computer Engineers

Computer Science 101, Abstract Data Types

Electrical Engineering 101/L, Introduction to Electronics/Laboratory

Electrical Engineering 103,Signals and Systems

Electrical Engineering 154, Feedback Control Systems

Advanced Robotics Engineering: One of Computer Engineering 215, Models of Robotic Manipulation; 240, Introduction to Linear Dynamical Systems; 242, Applied Feedback Control; or 264, Image Analysis and Computer Vision.

Elective: Upper-division or graduate elective from approved list.

Disciplinary Communication (DC) Requirement

Students of every major must satisfy that major's upper-division Disciplinary Communication (DC) requirement. The DC requirement in robotics engineering is satisfied by completing Computer Engineering 185, Technical Writing for Computer Engineers.

Capstone Requirement

All robotics engineering students complete either the two-quarter capstone project sequence Computer Engineering 123A/B, or the three-quarter capstone project sequence Computer Engineering 129A/B/C or a senior thesis along with the first capstone course:

One of the following sequences:

Computer Engineering 123A, Computer Engineering Design Project I and Computer Engineering 123B, Computer Engineering Design Project II;

Computer Engineering 123A, Computer Engineering Design Project I and Computer Engineering 195, Senior Thesis Research

Computer Engineering 129A, Capstone Project I; and Computer Engineering 129B, Capstone Project II; and Computer Engineering 129C, Capstone Project III

Computer Engineering 129A, Capstone Project I and Computer Engineering 195, Senior Thesis Research

Exit Requirement

Students are required to submit a portfolio, complete the exit survey and attend an exit interview. 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.ce.ucsc.edu/node/20 by the last day of the quarter of graduation.

The portfolios will be reviewed quarterly by the computer engineering undergraduate committee and must include three project reports of the student's selection and any additional information related to these projects requested in http://www.ce.ucsc.edu/node/20.  If a project report is associated with a course, it must be an upper-division (other than Computer Engineering 100/L) 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.

Robotics Engineering Major Planner

Year

Fall

Winter

Spring

1st
(frsh)

MATH 19A

MATH 19B

MATH 23A

CMPE 8

CMPE 12/L

CMPE 13/L

core course (C1)

gen ed (C2)

CMPE 80E

2nd
(soph)

PHYS 5A/L

CMPE 9

PHYS 5C/N

AMS 10

CMPE 185

CMPE 100/L

CMPS 12B/L

AMS 20

CMPE 16

3rd
(jr)

EE 101/L

CMPE 118/L

CMPE 115

CMPS 101/L

CMPE 107

CMPE 121/L

gen ed

gen ed

EE 103

4th
(sr)

EE 154

CMPE 129B

CMPE 129C

CMPE 129A

CMPE 167/L

CMPE 215

SOE elective

gen ed

gen ed

Network and Digital Technology Major Requirements

All students in the network and digital technology major must take the following courses. The senior comprehensive requirement is satisfied by completion of the capstone course and the portfolio exit requirement.

Lower-Division 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 (Accelerated)/Laboratory; or Computer Science  5J, Introduction to Programming in Java, and 11, Intermediate Programming.

Computer Science 12B/M,Introduction to Data Structures/Laboratory

Computer Engineering 16, Applied Discrete Mathematics

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;

Upper-Division Requirements

Computer Engineering 100/L, Logic Design/Laboratory

Computer Engineering 150/L,Computer Networks/Laboratory

Computer Engineering 185, Technical Writing for Computer Engineers

Computer Science 101, Abstract Data Types; or Electrical Engineering 101/L, Introduction to Electronics/Laboratory

Three additional 5-unit upper-division electives, and associated laboratories, from the approved list of electives, and one capstone requirement course.

Capstone Requirement

Each capstone course features a 3-month supervised design experience in digital or network technology culminating in a substantial written report.  Computer Engineering 185, Technical Writing for Computer Engineers, must be completed prior to or concurrently with the capstone project course.  Students must notify the instructor at the start of the quarter that they are working to complete their B.A. in Digital Technology Capstone Requirement.  Students select one of the following:

Computer Engineering 118/L, Introduction to Mechatronics/Laboratory

Computer Engineering 121/L, Microprocessor System Design/Laboratory

Computer Engineering 125/L,Logic Design with Verilog/Laboratory

Computer Engineering 158,Network Management and Operations

Computer Science 115, Software Methodology

Elective Choice

Students wishing to focus on digital technology should consider including among their courses: Electrical Engineering 101/L, Computer Engineering 110, Computer Engineering 118/L, Computer Engineering 121/L, and Computer Engineering 125/L.

Students wishing to focus on network technology should consider including among their courses: Computer Science101, Computer Engineering 151/L, Computer Engineering 156/L, Computer Engineering 158/L, and Computer Science 111.

In all cases, students should discuss their interests and elective choices with their faculty adviser.

Disciplinary Communication (DC) Requirement

Students of every major must satisfy that major's upper-division Disciplinary Communication (DC) requirement. The DC requirement in network and digital technology is satisfied by completing Computer Engineering 185, Technical Writing for Computer Engineers.

Network and Digital Technology Major Planner

The first year is similar to option 2 for the computer engineering major.  Students choosing between the B.S. and the B.A. program should follow the B.S. curriculum until major declaration.  General education courses needed outside major requirements are not shown.

Year

Fall

Winter

Spring

1st
(frsh)

MATH 3 (pre-calc)

MATH 19A

MATH 19B

CMPE 8 (opt)

CMPE 12/L

CMPE 13/L

2nd
(soph)

CMPE 16

CMPE 100/L

CMPS 12B/M

PHYS 5A/L

MATH 23A

PHYS 5C/N

3rd
(jr)

CMPE 150/L

Elective

Elective

AMS 10

AMS 20

 

4th
(sr)

EE 101/L

Elective

Capstone

CMPE 185

 

 

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 118/L, Introduction to Mechatronics/Introduction to Mechatronics Laboratory or course 121/L, Microprocessor System Design/Microprocessor System Design 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 118/L Introduction to Mechatronics/Laboratory or 121/L, Microprocessor System Design/Laboratory

Computer Engineering 13/L, Computer Systems and C Programming (recommended); or  Computer Science 12A/L, Introduction to Programming (Accelerated)/Laboratory (recommended); or Computer Science 5J, Introduction to Programming in Java, and Computer Science 11, Intermediate Programming

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 101/L, Introduction to Electronics/Laboratory

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

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

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

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

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, and it is very simple. Undergraduate applicants seeking admission to the program can apply at any time starting in the first quarter of junior standing, and no graduate record examination (GRE) is required to apply. To qualify, applicants must have a 3.0 SoE GPA when they apply to the B.S./M.S. program, and must maintain a 3.0 SoE GPA or higher until the completion of their undergraduate requirements.
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.ce.ucsc.edu/academics/undergraduate/bs-ms.

Graduate Programs

M.S. and Ph.D. Degree Programs

The graduate program in computer engineering accepts students for both the M.S. and the Ph.D. degrees. Graduate students in this program establish a solid foundation in computer algorithms and architectures and then proceed to a thorough study of recent developments in their selected area of specialization. This provides the basis for the M.S. degree and Ph.D. thesis work. The major areas of research concentration in computer engineering at UCSC are networks; embedded and autonomous systems; computer systems design and computer-aided design; and sensing and interaction.

The computer engineering program benefits from a close relationship with other graduate programs in the School of Engineering and UCSC as a whole. It maintains strong ties to local industry in the Silicon Valley and Monterey Bay areas. Graduates of the program are prepared for careers in academia and research as well as for positions in industrial research and development.

While in the program, most graduate students are supported as research assistants on faculty-sponsored projects or as teaching assistants for undergraduate courses.

Additional information on the computer engineering M.S. and Ph.D. degrees, including degree requirements and applications for admission, can be found on the department's web pages at http://www.ce.ucsc.edu/academics/graduate/requirements.

Requirements for the Master's Degree

Base Requirement

In their first year, graduate students must show proficiency in three fundamental subjects: 1) data structures; 2) computer architecture; and 3) one of the following three subjects-logic design, circuits, or software systems. Proficiency can be demonstrated by either completing one of the associated undergraduate courses, by establishing that an equivalent undergraduate course has been completed elsewhere, or by passing the final examination (or project when deemed appropriate by the faculty responsible) of an associated course. Students should obtain a computer engineering base worksheet for the list of associated courses and instructions on fulfilling this requirement.

All graduate students (both M.S. and Ph.D.) must meet the base requirement by the end of the spring quarter of their first year in the program.

Course Requirements

Each student is required to complete a total of 48 credits. The course work must include:

Computer Engineering 200, Research and Teaching in Computer Science and Engineering

Computer Science 201, Analysis of Algorithms

Computer Engineering 202, Computer Architecture

Up to 10 credits of Computer Engineering 297, Independent Study or Research; or Computer Engineering 299, Thesis Research

Up to 10 credits of either graduate courses (not seminars) in related disciplines outside the School of Engineering (requires adviser and computer engineering graduate committee approval) or upper-division undergraduate courses when necessary to strengthen the student's preparation for graduate studies (requires adviser approval).

All remaining credits must be graduate elective courses from computer engineering's list of approved graduate courses (available online or from the department)

In addition, the selection of graduate elective courses must show breadth by including a minimum of five credits in each of two categories from computer engineering's list of approved graduate electives. Computer Science 201 and Computer Engineering 202 cannot be used to satisfy the breadth requirement.

At least half of the credits from the graduate-level courses must be computer engineering graduate courses.

Thesis

Completion of a master's thesis is required for award of the master's degree. To fulfill this requirement, the student must submit a written proposal to a faculty member, usually by the third academic quarter. By accepting the proposal, the faculty member becomes the thesis adviser for the proposed thesis. In consultation with the adviser, the student must form a master's thesis reading committee with at least two additional faculty members, each of whom is provided a copy of the proposal. The student is required to present an expository talk on the thesis research, and the review committee must accept the final thesis before the master of science degree can be awarded.

Requirements for the Ph.D. Degree

Base Requirement

In their first year, graduate students must show proficiency in three of five fundamental subjects: 1) data structures; 2) computer architecture; and 3) one of the following three subjects—logic design, circuits, and software systems. Proficiency can be demonstrated by either completing one of the associated undergraduate courses, by establishing that an equivalent undergraduate course has been completed elsewhere, or by passing the final examination (or project when deemed appropriate by the faculty responsible) of an associated course. Students should obtain a computer engineering base work sheet for the list of associated courses and instructions on fulfilling this requirement.

All graduate students (both M.S. and Ph.D.) must meet the base requirement by the end of the spring quarter of the first year in the program.

Course Requirements

A Ph.D. student is required to take a total of 58 credits of graduate courses, which must consist of:

Computer Engineering 200, Research and Teaching in Computer Science and Engineering

Computer Science 201, Analysis of Algorithms

Computer Engineering 202, Computer Architecture

A minimum of 20 credits of graduate computer engineering courses from computer engineering's list of approved graduate courses (available online or from the department)

Up to 10 credits of Computer Engineering 297, Independent Study or Research; or Computer Engineering 299, Thesis Research

Up to 10 credits of graduate courses (not seminars) in related disciplines outside the School of Engineering (requires adviser and computer engineering graduate committee approval).

All remaining credits must be graduate elective courses from computer engineering's list of approved graduate courses.

The selection of elective courses must show breadth by including either 10 credits in each of two categories or five credits in each of three separate categories from computer engineering's list of approved graduate courses. Computer Science 201 and Computer Engineering 202 cannot be used to satisfy the breadth requirement.

Course selection should form a coherent plan of study and requires adviser approval. Undergraduate courses may not be used to satisfy Ph.D. course requirements.

Ph.D. students who have satisfied the requirements for the master's degree are eligible to receive a master's degree.

Examinations and Dissertation

To continue in the Ph.D. program, students must pass a preliminary examination in their chosen research area by the end of their third year. Preliminary examinations are held during the first three weeks of each spring quarter; students must petition the computer engineering graduate committee for an examination in their chosen area two weeks before the end of winter quarter.

Examination committees consist of four faculty members, two chosen by the student and two by the computer engineering graduate committee. The format of this oral examination is up to the examination committee; the examination will typically evaluate both general knowledge of the chosen area and specific understanding of selected technical papers. The preliminary examination requirement is waived for students who advance to candidacy by the end of their third year.

Each student must write a Ph.D. dissertation. The dissertation must show the results of in-depth research, by an original contribution of significant knowledge, and include material worthy of publication. As the first step, a student must submit a written dissertation proposal to a School of Engineering faculty member. By accepting the proposal, the faculty member becomes the student's dissertation supervisor. The student may choose a faculty member outside the Computer Engineering Department within the School of Engineering as adviser only with approval from the computer engineering graduate committee. The dissertation proposal is publicly and formally presented in an oral qualifying examination given by a qualifying examination committee, approved by the computer engineering graduate committee and the graduate council. The student must submit his or her written dissertation proposal to all members of the qualifying examination committee and the graduate assistant at least one month in advance of the examination.

Students are advanced to candidacy after they have completed the course requirements, passed both the preliminary and qualifying examinations (or just the qualifying examination if passed prior to the end of the student's third year in the program), cleared all Incomplete grades from their records, have an appointed dissertation reading committee, and paid the filing fee. Students who have not advanced to candidacy by the end of their fourth year will be placed on academic probation.

Each Ph.D. candidate must submit the completed dissertation to a reading committee at least one month prior to the dissertation defense. The appointment of the dissertation reading committee is made immediately after the qualifying examination and is necessary for advancing to candidacy. The candidate must present his or her research results in a public seminar sponsored by the dissertation supervisor. The seminar is followed by a defense of the dissertation to the reading committee and attending faculty who will then decide whether the dissertation is acceptable or requires revision. Successful completion of the dissertation fulfills the final academic requirement for the Ph.D. degree.

Transfer Credit

Up to three School of Engineering courses fulfilling the degree requirements of either the M.S. or Ph.D. degrees may be taken before beginning the graduate program through the concurrent enrollment program.

M.S. students who have previously successfully completed graduate-level classes in a related field at another institution may substitute courses from their previous institution with the approval of the graduate committee. The number of courses that can be substituted is limited so that, in all cases, the students must complete a minimum of 4 graduate-level classes during their matriculation at UCSC. These classes must be graduate-level classes from the list of approved graduate courses (http://www.ce.ucsc.edu/academics/graduate/approved-courses).

Petitions for course substitutions should be submitted along with the transcript from the other institution or UCSC extension. For courses taken at other institutions copies of the syllabi, exams, and other course work should accompany the petition. Such petitions are not considered until the completion of at least one quarter at UCSC.

Ph.D. students who have previously earned a master's degree or have successfully completed graduate-level classes as regular students in a graduate program in a related field at another institution may apply for a modified program of course requirements taking into account their previous coursework. Such a modified program should specify the coursework that will be completed at UCSC, which must include no fewer than four courses from the list of approved graduate courses (http://www.ce.ucsc.edu/academics/graduate/approved-courses). These four courses must be taken while in the graduate program at UCSC.

Application for a modified program of course requirements must be made within the first year of graduate study at UCSC, and will be reviewed by the graduate director and a committee of three faculty members approved by the graduate director. Copies of the syllabi, exams, other relevant course work, and the relevant transcript from the other institution, must accompany the application. Interviews with the committee members may be required to properly assess the coursework.

Acceptance of prior work for course transfer and modified programs of study is at the discretion of the department.

Robotics and Control Designated Emphasis

The graduate designated emphasis (DE) leading to the degree notation “with an emphasis in Robotics and Control” is a collaboration of faculty from several Baskin School of Engineering programs and is administered by the Department of Computer Engineering. Students wishing to complete a master’s thesis or doctoral dissertation in this area satisfy the degree requirements of a primary program as well as of the DE. The DE is most suitable for students pursuing degrees in Applied Mathematics and Statistics, Computer Engineering and Electrical Engineering, but students from any area may work in this interdisciplinary field so long as they meet all requirements, including progress, within the primary degree program. A current list of the robotics and control faculty and electives is available at the Computer Engineering web site, ce.ucsc.edu.

Requirements for the Designated Emphasis Notation

Committee composition. The student’s Ph.D. or M.S. committee must include one member of the robotics and control faculty.

Writing. The student’s dissertation or thesis must include a significant section (chapter) related to robotics and control, with content suitable for a conference or journal article.

Course requirements. The student must complete four five-credit graduate courses and several two-credit seminar courses. All students must complete CMPE 241/EE 241, Introduction to Feedback Control Systems, and three 5-credit robotics and control graduate electives.

Master’s students must complete two offerings of CMPE 280C, Seminar in Control (2 credits).

Doctoral students must complete four offerings of CMPE 280C.

Review of Progress

Each year, computer engineering faculty reviews the progress of every student in the graduate program. Students not making adequate progress towards completion of degree requirements (see the UCSC Graduate Handbook for policy on satisfactory academic progress) are subject to dismissal from the program. Students with academic deficiencies may be required to take additional courses. Full-time students with no academic deficiencies are normally expected to complete the degree requirements at the rate of at least two courses per quarter. Full-time students must complete Computer Science 201 and Computer Engineering 202 within two years and normally must complete all course requirements within two years for the M.S. and three years for the Ph.D. program.

Students receiving two or more grades of U (Unsatisfactory) or below B in School of Engineering courses are not making adequate progress and will be placed on academic probation for the following three quarters of registered enrollment. Withdrawing or taking a leave of absence does not count as enrollment. Part-time enrollment is counted as a half of a quarter of enrollment.

Should any computer engineering graduate student fail a School of Engineering course while on probation, the Computer Engineering Department may request the graduate dean to dismiss that student from the graduate program. If, after being removed from probation, the student again fails a School of Engineering course, he or she will return immediately to academic probation.

Graduate students experiencing circumstances or difficulties that impact their academic performance should contact their adviser and the graduate director immediately. Students may appeal their dismissal.

Revised: 8/31/12