View of the campus in fall.

The Undergraduate Computer Engineering Program


Requirements for a Bachelor of Science Degree

To declare a CE Major, you need to the CE Major Application (pdf).

The Computer Engineering degree can be completed in four full-time years of study if the student is capable of completing the two-course calculus, computer science, and electrical engineering sequences, along with physics and English writing, during the freshman year. Only strong training in high school will allow a student to begin at this level. If a student must instead take preparatory classes as a freshman, more than four years may be required for earning a degree. In any event, it is important to take the required pre-major classes early to allow advancement to full major status as soon as possible.

  1. General Education: The General Education requirements are described in the University of Utah General Catalog. The requirements for Computer Engineering majors are more specific.

    1. The University writing requirement is satisfied by either Writing 2010 or ESL 1060 (for students who speak English as a second language).
    2. The quantitative reasoning requirement is satisfied by Math 1210 and either 1220 or1250, which are required for computer engineering pre-majors.
    3. Students must take two intellectual explorations courses in each of fine arts, humanities, and social/behavioral sciences. (The two-course requirement in physical and life sciences is automatically satisfied by classes that are required for the major.) These six courses must include an ethics course and two upper division courses. Courses satisfying the ethics requirement are Phil 2500, 3500, 3510, 3520, 3530, and 3540.

      Students must pick up a copy of the General Education Program Approval Form from the Computer Engineering Academic Counselor. This must be completed in order to receive approval for your Gen Ed program.

    4. The American Institutions requirement can be satisfied by taking one of Economics 1740, History 1700, Honors 2212, or Political Science 1100.

    Incoming engineering students should consider the Engineering LEAP (E-LEAP) program organized by the Office of Undergraduate Studies. It is a year-long cohort program set up to allow students to take several classes together during their first year on campus. Two of these classes are seminar courses that satisfy University General Education and Diversity requirements; the second of these classes also satisfies the Computer Engineering ethics requirement.. The program also includes sections of Writing, Calculus, and Physics. For more information on E-LEAP, contact the College of Engineering Advisor at 585-7769.

    Computer Engineering students should also consider CPSC 1050, Computers in Society, as one of their Social/Behavioral Science General Education classes. The course focuses on the social issues that surround the increasingly pervasive roles that computers play in society.


  2. University Graduation Requirements: The University graduation requirements for the Bachelor of Science degree are described in the University of Utah General Catalog.

    1. To satisfy the communication/writing requirement, Computer Engineering majors must take either WRTG 3015 (Professional/Technical Writing), WRTG 3014 (Writing in the Sciences), or WRTG 3012 (Writing in the Social Sciences). Honors 3200 (Writing at a Research University) may be taken by students participating in the University Honors Program. This course must be taken prior to taking the Computer Engineering Senior Project course.
    2. The quantitatively intensive course requirement is satisfied by CS/EE 3700 and 3810, which are required for computer engineering majors.
    3. The diversity requirement can be satisfied by taking a course from the approved list as part of the intellectual explorations requirement.
    4. Students must complete a minimum of 122 semester hours of course work. At least 40 of the 122 hours must be upper division classes. (Upper division classes are numbered 3000 or above. Credits from two-year colleges will not count toward University upper division hours.) At least 30 of the total credit hours and 20 of the last 30 hours must be taken at the University.

  3. Mathematics and Science: A minimum of nine math and science courses must be taken.

    1. One year of calculus (Mathematics 1210 and either 1220 or 1250)
    2. One year of physics for scientists and engineers (Physics 2210/2220)
    3. A course in discrete mathematics (CPSC 2100)
    4. A course in linear algebra and ordinary differential equations (Mathematics 2250)
    5. A course in advanced calculus (Mathematics 1260 or 2210)
    6. A course in probability and statistics (ECE 3530)
    7. One additional class, chosen from among Biology 1210, Chemistry 1210, Math 3150 (Partial Differential Equations), Math 5600 or Computer Science 3200 (Numerical Analysis), and Physics 3740 (Modern Physics)

  4. Computer Engineering: A minimum of 22 computer engineering classes must be taken. The chart below gives an example four-year degree program leading to a Bachelor's Degree in Computer Engineering. The graph that follows summarizes the prerequisites for computer engineering courses.

    1. Required. The following classes must be taken:

      CPSC 1010 Introduction to Unix
      ECE 1020 EE Problem Solving with Matlab
      ECE 1270 Introduction to Electrical Engineering
      CPSC 1410/2420 Introduction to Computer Science I and II
      ECE 2270 Electric Circuits
      ECE 2280 Electronics
      CPSC 3500 Software Practice
      CPSC/ECE 3700 Fundamentals of Digital System Design
      CPSC/ECE 3710 Computer Design Laboratory
      CPSC/ECE 3810 Computer Organization
      CPSC/ECE 3991 Junior Seminar
      CPSC 4400 Computer Systems
      CPSC/ECE 5780 Embedded Systems

    2. Technical electives. Six additional Computer Science or Electrical Engineering classes numbered 3000 or above, totaling at least 18 semester hours, must be taken. CPSC 5010/20 and seminars may not be counted. Only one independent study class may be counted. Also, labs that are directly associated with classes (e.g., ECE 5211) may not be counted as one of the six required classes.

    3. Capstone Requirement. One of the following must be completed.

      CPSC/ECE 3992/4710 Computer Engineering Pre-project and Senior Project
      CPSC/ECE 3992/4991/4992 tex2html_wrap_inline3262 Pre-thesis and Senior Thesis

      tex2html_wrap_inline3262 Students choosing the thesis option must get special permission from the CE faculty. Such approval is usually obtained by finding a faculty advisor and completing a thesis proposal in CPSC/ECE 3992 in the Spring of the Junior year. This option is intended for students who are considering graduate school. The Senior Thesis can also be used toward a portion of the thesis requirements for a BS/MS program in Electrical Engineering or in Computer Science. For more information about the joint BS/MS program, please see the director of the BS/MS program in the Department of Electrical and Computer Engineering or in the School of Computing.

    4. Duplication of Credit: No single class may be counted toward more than one of the requirements listed above.

  5. Suggested elective grouping. Some students wish to take technical elective classes that provide a depth of experience in one area of Computer Engineering. Any of the following groups of classes would provide such depth.

    1. Communications/Controls/Digital Signal Processing

      ECE 3510 Introduction to Feedback Systems
      5000-level or higher courses numbered ECE x5xx or ECE x6xx

    2. Computer Architecture/Software Systems

      CPSC/ECE 6810 Computer Architecture
      5000-level or higher courses numbered CPSC x4xx or CPSC/ECE x8xx

    3. Integrated Circuit Design

      CPSC/ECE 6710 Digital VLSI Design
      5000-level or higher courses numbered CPSC/ECE x7xx

    4. Microwaves/Optics

      ECE 3300 Fundamentals of Electromagnetics and Transmission Lines
      5000-level or higher courses numbered ECE x3xx or ECE x4xx

    5. Robotics/Intelligent Systems

      CPSC 5310 Robotics
      5000-level or higher courses numbered CPSC x3xx

    6. Semiconductor Devices (both classes and labs must be taken)

      ECE 3110 Electronics II
      5000-level or higher courses numbered ECE x1xx or x2xx

    Example Computer Engineering Degree Program

    Fall Spring
    Freshman CPSC 1010 (0.5) CPSC 2420 (4)
    CPSC 1410 (4) ECE 1020 * (1)
    Math 1210 (4) ECE 1270 * (4)
    Writing 2010 (3) Math 1220 (4)
    Gen Ed (3) Physics 2210 (4)
    (14.5) (17)
    Sophomore CPSC/ECE 3810 (4) CPSC/ECE 3700 (4)
    ECE 2270 (4) ECE 2280 (4)
    CPSC 3500 (4) Math 2250 (3)
    Physics 2220 (4) Writing 3015 (3)
    Gen Ed (3)
    (16) (17)
    Junior CPSC/ECE 3710 (3) CPSC/ECE 3992 (1)
    CPSC/ECE 3991 (0.5) CPSC/ECE 5780 (4)
    CPSC 2100 (3) ECE 3530 (3)
    CPSC 4400 (4) CE technical elective (3)
    Math 2210 (3) Math/science elective (3)
    Gen Ed (3) Gen Ed (3)
    (16.5) (17)
    Senior CPSC/ECE 4710 (3) CE technical elective (3)
    CE technical elective (3) CE technical elective (3)
    CE technical elective (3) CE technical elective (3)
    Gen Ed (3) Gen Ed (3)
    Gen Ed (3) Gen Ed (3)
    (15) (15)


    This table gives an eight-semester example program leading to a B.S. in Computer Engineering. It is meant only as a guide, since the scheduling of electives and General Education classes depends upon which ones are selected. This schedule assumes adequate high school preparation in mathematics; it is not advisable to take Physics 2210 without some previous training in calculus. Note that Math 1210, Writing, and Computer Science 1410 must all be taken during the fall semester in order to complete the required pre-major classes during the first year, unless the student has advanced placement credit. (Class required of pre-majors.) (* These classes are offered in summer semester if students prefer to take the E-LEAP class in spring.)

    Computer Engineering Prerequisites

    Prerequisite courses for a CE degree

    This graph shows the order in which classes must be taken to satisfy prerequisite and corequisite requirements in Computer Engineering. Prerequisites are connected bottom-to-top; corequisites are connected side-to-side. Where not otherwise indicated, courses are offered during both semesters as well as the summer.

  6. Continuing Performance: All computer engineering, mathematics, science, and writing courses taken to satisfy the requirements listed above must be taken for a grade and must be passed with a C- or better (except for CPSC 1010, in which a grade of CR is required). A student may repeat such courses only one time.

    In order to remain in good standing and to graduate, a student must maintain a cumulative grade point average at the University of 2.5 or higher, and also maintain a grade point average of 2.5 in computer engineering classes taken at the University. Students whose grade point average in either of these two categories falls below 2.5 are notified that they are on probation and will be given conditions for a return to good standing. Normally, these conditions must be satisfied during the next 12 months. Students failing to meet their probationary conditions are dropped from the major.

    Students are expected to complete all requirements for their degree within four years of acceptance to full major status. Students not making satisfactory progress toward their degrees may be dropped from the program and declared inactive. The determination that a student is not making satisfactory progress is made in one of two ways. Either (1) the student has not completed a CPSC or ECE course for a period of one year, or (2) there is no reasonable way in which the student can complete all degree requirements at the end of the required period of time.

    In order to be reinstated from inactive status or from being dropped due to a low GPA, students must petition the Computer Engineering Committee. Reinstated students proceed under the latest graduation requirements.

    If personal circumstances prevent completion of all degree requirements within four years of acceptance as a full major in the program, a student may request an extension of a specific duration and submit a revised schedule of completion.