Degree Requirements

Bachelor of Science in Computer Engineering

Before Taking Computer Engineering Courses

(Click on each to learn more)

Our friendly advisors will meet with you to help you understand departmental requirements and plan your degree path.

Even if you cannot qualify for our major yet, you should still meet with the advisor to declare a “Pre-Computer Engineering” designation and get help planning your schedule.  The advisor can also help update your major status once you have completed the pre-major requirements.

Schedule a meeting with the advisor

If you were not directly admitted to the Computer Engineering program upon application to the University of Utah, you can officially join the major when you successfully pass the following classes.

Requirements for CE Major Status:

Calculus I (MATH 1210 or 1310)

Calculus II (MATH 1220 or 1320)

Physics I (PHYS 2210)

Intro to Computer Programming (CS 1400 + 1410 or 1420)

Intro to Algorithms & Data Structures (CS 2420)

Circuits & Systems I + Labs (ECE 1240 + 1245+ 1050)

Intermediate Writing WRTG 2010

Pre-major GPA 3.0 or higher

Cumulative GPA 2.5 or higher



While working to complete the requirements for major status, you can take the following departmental courses:

Classes you can take pre-major:

ECE 1900  Intro to ECE (freshman seminar)

ECE 1240/1245/1050  Circuit & Systems I + Labs

CS 1400 + 1410 (or CS 1420) Intro to Computer Programming

CS 2420 Intro to Algorithms & Data Structures

Classes you can take before calculus:

ECE 1900  Intro to ECE (freshman seminar)

Core ECE Classes

ECE 1240/1245/1050 Circuits & Systems I + Labs

ECE 2240/2245 Circuits & Systems II + Lab

ECE 2280/2285 Circuits & Systems III + Lab

ECE/CS 3700 Fundamentals of Digital System Design

ECE 5780 Embedded Design

Core CS Classes

CS 1400+1410 or CS 1420 Intro to Computer Programming

CS 2420 Intro to Algorithms & Data Structures

CS 3500 Software Practice

CS 4400 Computer Systems

CS/ECE 3710 Computer Design Laboratory

CS/ECE 3810 Computer Organization

Technical Electives

  • At least 18 credit hours
  • Any CS or ECE 3000+ level course
  • Cannot use any courses already required in major
  • Can take up to 4 units of approved special topics (research and internships, see catalog for details)

Math Requirements

MATH 1310 Engineering Calculus I (or MATH 1210)

MATH 1320 Engineering Calculus II (or MATH 1220 + MATH 2210)

MATH 2250 Differential Equations & Linear Algebra (or MATH 2270 + MATH 2280)

ECE 3530 Probability and Statistics

CS 2100 Discrete Structures

Additional Math or Science Elective (see course catalog for details, not needed if took MATH 1210-1220-2210 sequence)

Science Requirements

PHYS 2210 Physics for Scientists and Engineers I (or Phys 3210)

PHYS 2220 Physics for Scientists and Engineers II (or Phys 3220)

Gen Eds, Ethics, & Writing

LEAP 1501 Social and Ethical Implications of Engineering (BF) (*transfer students have more options for this ethics requirement)

ECE 3030 Technical Communication & Writing for Engineers (recommended, but several more options available)

Additional Gen Eds required: WR2, AI, 2 FF, 2 HF, BF, IR, DV

*Highly recommend LEAP 1500 Seminar in Humanities for Engineers (DV + HF)

Senior Capstone

All students are required to participate in junior seminar and CE pre-thesis classes in preparation for their senior project.  Students work in groups to complete the project.  Students can choose smaller one-term project or larger two-term thesis.

Senior Capstone

CS/ECE 3991 Junior Seminar

CS/ECE 3992 Computer Engineering Pre-Thesis/Pre-Project

CS/ECE 4710 Senior Project

(can alternatively take CE Senior Thesis ECE 4991+4992, EE Senior Thesis ECE 4900+4910, or EE Honors Senior Thesis ECE 4998+4999)