Computer Engineering BS
The Computer Engineering major is a designated capstone major that is jointly administered by the Computer Science and Electrical and Computer Engineering departments. Undergraduate students complete a design course in which they integrate their knowledge of the discipline and engage in creative design within realistic and professional constraints. Students apply their knowledge and expertise gained in previous mathematics, science, and engineering coursework. Students identify, formulate, and solve engineering problems and present their projects to the class.
The undergraduate curriculum provides all Computer Engineering majors with preparation in the mathematical and scientific disciplines that lead to a set of courses that span the fundamentals of the discipline in the major areas of data science and embedded networked systems. These collectively provide an understanding of many inventions of importance to our society, such as the Internet of Things, human-cyber-physical systems, mobile/wearable/implantable systems, robotic systems, and more generally smart systems at all scales in diverse spheres. The design of hardware, software, and algorithmic elements of such systems represents an already dominant and rapidly growing part of the computer engineering profession. Students are encouraged to make use of their computer science and electrical and computer engineering electives and a two-quarter capstone design course to pursue deeper knowledge within one of these areas according to their interests, whether for graduate study or preparation for employment.
The Computer Engineering major has the following learning outcomes:
- Application of mathematical, scientific, and engineering knowledge
- Design of a software or hardware system, component, or process to meet desired needs within realistic economic, environmental, social, ethical, health, safety, security, reliability, manufacturability, and sustainability constraints
- Function productively on a team with others
- Identification, formulation, and solution of computer engineering problems
- Effective communication
Preparation for the Major
Required: Computer Science 1 (or Electrical and Computer Engineering 1), 31, 32, 33, 35L, M51A (or Electrical and Computer Engineering M16); Electrical and Computer Engineering 3; Engineering 96C; Mathematics 31A, 31B, 32A, 32B, 33A, 33B, 61; Physics 1A, 1B, 1C, and 4AL or 4BL.
Required: Computer Science 111, 118 (or Electrical and Computer Engineering 132B), M151B (or Electrical and Computer Engineering M116C), M152A (or Electrical and Computer Engineering M116L), 180; Electrical and Computer Engineering 100, 102, 113, 115C; one course from Civil and Environmental Engineering 110, Electrical and Computer Engineering 131A, Mathematics 170A, Statistics 100A; 8 units of computer science and 8 units of electrical and computer engineering upper-division electives; three technical breadth courses (12 units) selected from an approved list available in the Office of Academic and Student Affairs; 8 units capstone design from either Electrical and Computer Engineering 180DA/180DB or 183DA/183DB.
For information on UC, school, and general education requirements, see the College and Schools chapter.