University of California, Riverside

Computer Engineering


This program is accredited by the Engineering Accreditation Commission of ABET,


The Computer Engineering curriculum is designed to provide the student with knowledge and skills in six major areas: Humanities and Social Sciences, Basic Sciences and Mathematics, Engineering Science, Engineering Design, Laboratory experience, and Computer skills. The logic that underlies the sequence of courses in each of these areas is described here.

  • Humanities and Social Sciences

    The program recognizes the fact that a major goal of engineering is to contribute to the welfare of society. This contribution is best made when students have an understanding of the Humanities and the Social Sciences. This understanding is derived from the study of world history; political and economic systems; the ethnic, cultural, and religious diversity of the peoples of the earth; the arts and letters of all cultures; the social and natural sciences; and technology. It is strengthened by a stringent requirement in written communication. The requirements in the Humanities consist of a minimum of three courses: one course in World History, one from Fine Arts, Literature, Philosophy, or Religious Studies, and one additional Humanities course. Breadth requirements in the Social Sciences are similarly structured: one course from either Economics or Political Science, one course from Anthropology, Psychology, or Sociology, and one additional Social Science course. In addition, the campus breadth requirement in Ethnic Studies has the option of being incorporated into the above, or standing alone as an additional course.

  • Basic Sciences, Mathematics, and Statistics

    The engineering curriculum is built on a foundation of courses in mathematics and the basic sciences, which are taken in the first two years at the University. Students acquire a strong grounding in Physics through PHYS 40A, 40B, and 40C. Each of these courses includes an extensive laboratory component. In addition, students are required to take one quarter of chemistry. An additional course in Biology, chosen from an approved list, completes the spectrum of education in the basic sciences.

    During the first two years, students take 5 courses in mathematics that cover multivariable differential and integral calculus. These courses, MATH 9A, 9B, 9C, and 10A and 10B, are followed by a course in ordinary differential equations, MATH 46. To establish a background in statistics, finite mathematics, and linear algebra Computer Engineering majors are required to take Stat 155, Math 112, and Math 113.

  • Engineering Science

    Computer Engineering is a rapidly evolving field. A successful lifelong computer engineering career requires a solid foundation in both electrical engineering and computer science. The Computer Engineering program at UCR establishes this foundation throught he following required courses: EE001A, EE001B, CS010, CS012, CS014, EE100A, EE100B, EE110A, EE110B, CS/EE120A, CS/EE120B, one of CS122A or EE128, CS141, EE141, CS161, CS181, and one of CS160 or CS153.

    Computer Engineering students focus their studies through the selection of twenty credits from the list of approved technical electives. The selection of technical electives must be planned, in consultation with a faculty advisor, to include at least one coherent sequence of two classes from either CS or EE. The technical electives must also include either EE175 A/B or CS179. The following table organizes the technical electives (other than EE175 A/B or CS179) by areas of student interest.

    Catalog descriptions of CSE and EE courses can be found in the Course Catalog.

  • Engineering Design

    Design experience is developed starting from the sophomore year and given gradually increasing emphasis in the junior and senior courses. Our rationale is to provide Computer Engineering students with both a solid engineering science background so that they will be able to adapt to future technology development, and a sufficient amount of practical design experience to develop the necessary engineering intuition and skills required of a computer engineer.

    The culmination of the Computer Engineering student's design experience is a capstone design course. Computer Engineering students have two options: CS179 or EE175A/B. CS179 is a one quarter course. EE175A/B is a two quarter sequence of courses. In either case, the studentdraws upon various aspects of their previous engineering science and design knowledge to address a meaningful design problem. The problem must include project (concept) analysis, preliminary evaluation (economic and technical), data and literature collection, preliminary process design and evaluation, a final detailed technical design, fabrication of a prototype, and prototype testing relative to the project specification. The course concludes with a formal oral presentation and written technical report.

    At any time during a students career, they are invited to participate in a circuit prototyping class. This is a non-credit course that teaches soldering, wire wrapping, SMT methods, and printed circuit board (PCB) design and fabrication.

  • Laboratory Experience

    The Computer Engineering program at UCR was designed to be lab-intensive, since the faculty strongly support the idea that student best retain the lecture information when they also practice the concepts in the laboratory. Currently 28 of the 29 CSE courses and 23 of the 27 EE courses have an associated lab component. The labs include a mixture of computer and hardware exercises.

  • Computer Skills

    Effective use of computers - in the design and analysis of engineering systems - is one of the most important skills required of today's computer engineers. Efforts are made to utilize computers in all of the engineering courses and laboratories in the Computer Engineering program. Students gain three aspects of computer experience:

    1. Computer programming: An introduction to computer programming is given in CS 10 and CS 12 (Introduction to Computer Science I and II). These courses provide a working knowledge of structured programming in C++. Additional CS courses teach techniques for advanced program development, testing and validation in a variety of areas.
    2. Computer hardware and interface: Computer architecture, processor design, hardware/software co-design, and hardware interfacing are covered in CS 61, CS 161, EE/CS120A, EE/CS120B, CS 122A and EE128.
    3. Use of software packages: The industrial standard MATLAB is used throughout all EE courses. By graduation, students are proficient in the use of MATLAB as an engineering design and analysis tool. The industrial standard PSPICE package is used in all electronic and circuit design classes. The industrial standard XILINX Foundation Tools are use in the 120A/B sequence of logic and digital design classes

Here are some typical course plans for a CE Major at UCR.

More Information 

General Campus Information

University of California, Riverside
900 University Ave.
Riverside, CA 92521
Tel: (951) 827-1012

Program Information

Computer Engineering Program
351 Winston Chung Hall
Tel: (951) 827-5639
Fax: (951) 827-4643