Computer Engineering (CE) Major
Bachelor's Degree in Computer Engineering (CE)
Curriculum
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 CS163.
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 EE courses can be found at EE Course Descriptions
Catalog descriptions of CSE courses can be found at CS Course Descriptions -
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:
- 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.
- 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.
- 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 is a typical course plan for a CE Major at UCR.
Program objectives
Modern industry requires engineers who can design products integrating hardware and software, circuits and algorithms, and who can apply this expertise to application areas such as: Computer Architectures, Computer Communications, Computer Systems, Digital Design and Interface, Information and Signal Processing, and Control and Automation. This is the role of the Computer Engineer. To function effectively, computer engineers must be able to work in multidisciplinary teams and communicate effectively.
The vision of the Computer Engineering (CE) program at UC Riverside (UCR) is to provide students with the knowledge and skills needed to:
- Pursue the two primary alternatives after graduation, which are to obtain employment in industry or pursue graduate studies.
- Succeed in a career involving a lifelong learning process.
The curriculum is also designed to provide the breadth and the intellectual discipline required to enter professional careers in fields outside engineering such as business and law.
Objectives of the UCR CE program
The objective of the Computer Engineering program is to produce graduates who:
- have a mastery of the fundamental areas required for designing and using computers and engineered systems that contain computers
- have an ability to apply principles of engineering, mathematics, science, and statistics to the use, design, and interfacing of computers
- are able to apply modern design methodologies and state-of-the-art tools to design problems common to modern computer engineering practice
- have had extensive, relevant laboratory and hands-on experience to strengthen their understanding of scientific, logical, statistical, and engineering principles
- have a well-rounded and balanced education through required studies in elected areas of the humanities and social sciences
- are adept at both oral and written communication
- possess the high-quality undergraduate education necessary to progress to the M.S. and Ph.D. level or succeed in a career in industry
- understand the social, cultural, ethical, and environmental context of their work
Assessment of program objectives
The CE Program has established the following methods to evaluate its success in achieving its educational objectives:
- Industrial Advisory Board. This group has recently been created by inviting engineers working in industry who have either hired our students or stated an interest in hiring our students. The objective is to obtain feedback concerning our program from one of our key customers.
- Survey of Graduating Seniors. The objective of this survey is to obtain feedback from one of our key customers while the program is still fresh in their minds.
- Alumni Survey. The objective of this survey is to obtain feedback from one of our key customers after they have begun to implement the fruits of our program in their lives and careers.
Major requirements
Based on the 2007-2008 catalog year, the major requirements for the BS in Information Systems are as follows:
-
College requirements
- MATH 008B or MATH 009A
- PHYS 040A, PHYS 040B, PHYS 040C
-
Lower-division requirements (68 units)
- ENGR 001G
- CS 010, CS 012, CS 014, CS 061
- CS 011/MATH 011
- EE 001A, EE 01LA, EE 001B
- MATH 008B or MATH 009A, MATH 009B, MATH 009C, MATH 010A, MATH 046
- PHYS 040A, PHYS 040B, PHYS 040C
- One course of 4 or more units in Chemistry to be selected in consultation with a faculty advisor.
-
Upper-division requirements (80 units minimum)
- CS 141, CS 161, CS 161L; one course from CS 153 or CS 160
- CS 120A/EE 120A, CS 120B/EE 120B; one course from CS 122A or EE 128
- CS 111/MATH 111
- EE 100A, EE 100B, EE 110A, EE 110B
- ENGR 180
- MATH 113
- STAT 155
- Five
courses (at least 20 units) as technical electives from the following
set of Computer Science and Engineering, and Electrical
Engineering upper-division courses
CS 100, CS 122A, CS 122B, CS 130,
CS 133, CS 150, CS 152, CS 153,
CS 160, CS 162, CS 164, CS 165,
CS 166, CS 168, CS 170, CS 177,
CS 179 (E-Z), CS 180, CS 181, CS 183,
CS 193
EE 105, EE 115, EE 128, EE 132, EE 140, EE 141, EE 144, EE 146, EE 150, EE 151, EE 152, EE 175A, EE 175B
The technical electives selected from 8) must include either CS 179 (E-Z) or both EE 175A and EE 175B. The selection of the remaining technical electives must be planned, in consultation with a faculty advisor, to include at least one coherent sequence of two classes from either Computer Science and Engineering or Electrical Engineering. The technical electives must be distinct from those used to satisfy the upper-division requirements specified in items 1) and 2) above.
Students may petition for exceptions to the above degree requirements. Exceptions to Computer Science course requirements must be approved by the Computer Science and Engineering undergraduate advisor or chair, and exceptions to Electrical Engineering course requirements must be approved by the Electrical Engineering undergraduate advisor or chair. This petition may be submitted on-line. Exceptions to other requirements require the approval of the undergraduate advisors or chairs of both departments.
