CE Program Guide PDF
CE Program Guide PDF
This brochure applies to students who entered the College of Engineering during or after Fall 2004*
Thank you for your interest in the Computer Engineering (CE) program. Computer engineering focuses on the
theory and practice of analysis and design of complex digital systems, including general-purpose computers and
special-purpose embedded systems. CE straddles the line between hardware and software, and partially overlaps
computer science and electrical engineering programs. CE students learn how to design hardware-software systems
from transistors to systems software. Microprocessors are a central topic, and our curriculum includes both designing
microprocessors and building hardware-software systems that contain microprocessors. While many of our graduates
go on to work at traditional computer companies (e.g., AMD, Apple, ARM, IBM, Intel, Microsoft, RedHat, and
Samsung), many also go to work for the much more numerous companies that embed computers within other
products such as cars, consumer electronics, appliances, medical devices, tractors, and airplanes.
This handout covers rules and advice for the CE program as of the 2016–2017 academic year. By default, your
program is determined by the rules that are in effect when you enter the College of Engineering. See the advising web
page or contact us if you have any questions.
Additions and deletions may be made to this list at any time; check with the advising office before
committing to a particular course. You may request special permission to use an MDE project course from
another program (including the Multidisciplinary Design Program), but this class will generally not count as
an upper-level elective (normally it is a flex tech). If you plan on taking advantage of this option you must
discuss this with the CE Chief Program Advisor.
EECS Elective
3 credits (typically 1 course) from the following EECS courses: 281, 311, 312, 320, 330, 334, 351, 373, 376, 381,
388, 411, 413, 414, 417, 419, 420, 421, 423, 424, 427, 429, 430, 434, 435, 438, 441, 442, 445, 452, 453, 455, 458,
460, 461, 467, 470, 473, 475, 477, 478, 480, 481, 482, 483, 484, 485, 586, 487, 489, 492, 493, 494, 497, and
MECHENG 552 (for dual CE-ME majors only). Other EECS courses may be approved on a case-by-case basis.
Aerospace Engineering
AEROSP 215 Intro to Solid Mechanics & Aerospace 300-level & above (except 494 & 495), for AERO 390
Structures & 490: see Directed Study Rule
AEROSP 225 Intro to Gas Dynamics
Biology
BIO 305 Genetics Any 400-level and above course (see Directed Study Rule above)
Biomedical Engineering
BIOMEDE 221 Biophysical Chemistry 300-level & above (490, see Directed Study Rule)
BIOMEDE 231 Intro to Biomechanics
Chemical Engineering
CHE 230 Material & Energy Balances 300-level & above, CHE 490 subject to Directed Study Rule above
Chemistry
CHEM 210 Structure and Reactivity I CHEM 241 Introduction to Chemical Analysis (2 cr.)
CHEM 211 Investigations in Chemistry (1 cr.) CHEM 242 Intro. to Chemical Analysis Lab. (2 cr.)
CHEM 215 Structure and Reactivity II (3 cr.) CHEM 260 Chemical Principles (3 cr.)
CHEM 216 Synth. & Characterization of Org. Compounds (2 cr.) 300-level or higher (see Directed Study Rule above)
CHEM 230 Physical Chemical Principles and Applications (3 cr.)
Complex Systems
CMPLXSYS 270 Agent Based Modeling
Economics
ECON 401 Intermediate Microeconomic Theory ECON 409 Game Theory
(last term as a Flex Tech- Fall’13)
ECON 402 Intermediate Macroeconomic Theory ECON 452 Intro. to Statistics and
(last term as a Flex Tech- Fall’13) Econometrics II
Mathematics
MATH 214 Linear Algebra and Differential Equations* MATH 217 Linear Algebra*
MATH 216 Introduction to Differential Equations Any MATH course at the 300-level of higher (except 310,
327, 333, 385, 389, 399, 422, 429, 431, 485, 486, 489, 497)
Mechanical Engineering
MECHENG 211 Introduction to Solid Mechanics MECHENG 240 Introduction to Dynamics and Vibrations
MECHENG 235 Thermodynamics I (3 cr.) MECHENG 250 Design and Manufacturing I
300-level & above (MECHENG 490 & 491, see Directed study
rule above)
Physics
Any 300-level course or above (except 333, 334, 365, 420, 481) Tutoring classes are excluded
School of Information
SI 301 Models of Social Info. Processing SI 422 Evaluation of Systems and Services
SI 364 Building Interactive Applications
Statistics
STATS 401 Applied Statistical Methods II STATS 426 Introduction to Theoretical Statistics (3 cr.)
STATS 403 Intro to Quantitative Research Methods STATS 430 Applied Probability
STATS 406 Introduction to Statistical Computing STATS 470 Introduction to the Design of Experiments
STATS 415 Data Mining and Statistical Learning STATS 531 Analysis of Time Series
Computer Architecture: 281, 470, and two of (373, 427, 570, 573). This track teaches students how to design modern
microprocessors and microprocessor-based systems starting from components such as logic gates. Students interested in
designing the next generation of microprocessors should select this track.
Computer-Aided Design: 281, 478 and two of ((470 or 427), 477, 480, 527, 578, 579, 586). This track prepares students to
improve and use sophisticated automated integrated circuit and computer system design algorithms and software tools.
Functional validation and test of digital systems are part of this track. Students who want a deep understanding of logic design
fundamentals and using computers to aid in the design the next-generation digital integrated circuits should select this track.
Computer-Based Control Systems*: 373, 460, 461, and one of (281, 560, 561). This track prepares students to design and
build computer systems that monitor and control mechanical and other physical processes in real time. Students interested in
developing and implementing the algorithms that unify sensors, computers, and actuators into machines that are heavily
integrated into the physical world should select this track. Also see Robotics and Vision track.
Digital Signals and Systems: 301, 351, 452 and one of (442, 455, 501, 556). This track prepares students to design digital
hardware-software systems that encode, decode, transform, and analyze digital signals. Students interested in developing a
theoretical understanding and thorough practical skills for manipulating and communicating video, audio, and other digital
signals should select this track.
Embedded Systems: 281, 373, and two of (452, 458, 461, 473, 489, 571, 598-Embedded). This track prepares students for
the analysis and design of application-specific computers that run smartphones, medical devices, wireless sensor networks, and
vehicles. Topics such as low-power design, real-time systems, and hardware security are covered. Students interested in
designing portable and application-specific computer systems should select this track.
Robotics and Vision: 281, 442, 467 and one of (461, 492, 556, 568). This track prepares students to design computer systems
that move through their physical environments, recognize objects and activities, and draw conclusions about their surroundings.
Relative to the "Computer‐Based Control Systems" track, the Robotics and Vision track is (1) more focused on specific
applications, (2) involves multi‐dimensional geometry, linear algebra, as well as motion and mechanical modeling, to a
greater extent, and (3) focuses more on high‐level algorithms and systems. Students interested in designing the digital
controllers for robots should select this track.
System Software*: 281, 373, 482 and one of (483, 489, 571, 582, 583). In this track, students develop an expertise in
designing software that interacts heavily with the hardware and/or environment of the system on which it runs. Students
interested in understanding the application- and hardware-dependent implications of software design decisions, such as
processing speed, security, usage of memory and power, should select this track.
VLSI systems (Chip Design): 312, 320, 427 and one of (311, 470, 478, 527, 627). This track prepares students for the
analysis and design of high-performance, low-power, and reliable integrated circuits. If you want to design the complex, high-
performance, and energy-efficient digital circuits that are fundamental to modern and future computers, then this is the track for
you.
Custom Track: Intended for students with high GPA and a strong motivation to pursue specific educational goals. A faculty
sponsor is recommended, especially for students actively involved in research. If you want to be a jack of all trades or have a
plan of study that does not fit into any of the above tracks, discuss the plan with your advisor and create a custom track.
* This track does not currently include an MDE. Students will still need to meet the MDE requirement.
Terms
Credit Hours 1 2 3 4 5 6 7 8
Subjects required by all programs (55 hrs.)
Mathematics 115, 116, and 216 12 4 4 - 4 - - - -
Mathematics 215 4 - - - - 4 - - -
1
ENGR 100 4 - 4 - - - - -
ENGR 101 4 4 - - - - - - -
2
Chemistry 125/130 or Chemistry 210/211 5 - 5 - - - - - -
Physics 140 with Lab 141; 240 with Lab 241 10 5 5 - - - - -
Intellectual Breadth 16 4 4 - 4 - 4 - -
Total 128 17 17 16 16 16 15 16 15
• Most technical electives can be counted in multiple elective categories, and while they cannot be counted more
than once, they can be split between two eligible categories. For example, EECS 489 counts as an upper-level
elective, an EECS elective, and a flexible technical elective. You may count all 4 credits toward your upper-
level elective, or two credits toward your upper-level electives and two credits toward your EECS elective, or
three credits toward your EECS elective and one credit toward your flexible technical electives.
• Most students are able to satisfy their upper-level (10 credits), EECS (3 credits), and flexible technical
elective requirements (7 credits) with five 4-credit courses: three classes from the upper-level list, one
additional EECS elective course, and one from the flexible technical elective list. All of the upper-level elective
courses can count as EECS electives, and anything that can count as an EECS elective also counts as a
flexible technical elective.
• Intellectual Breadth – WARNING: This is easy to mess up! The rules about Intellectual Breadth
requirements are complex and not always intuitive. See the CoE Bulletin for details:
(http://www.engin.umich.edu/college/academics/bulletin/ug-ed/reqs - intellectualbreadth). If you have
questions, please contact the EECS Undergraduate Advising Office. Note that Test Credit for Foreign
Languages (AP credits and credits by exam) at the 100-level count only as general electives. For more
information about credit for languages, contact the appropriate department, e.g., the Asian Languages Dept.
maintains information in the Chinese exam, etc.
• The advising office maintains workload surveys by polling current undergrads to gather their opinions of the
workload in various EECS courses. These are helpful when planning courses for future semesters and can be
viewed here: http://www.eecs.umich.edu/eecs/undergraduate/survey/
• Try to balance the number and types of classes you take in a term. Most students had best avoid taking more
than three EECS classes at once; depending on the specific classes, two EECS classes and a free elective can
be plenty! Among the classes you take, it is typically easier to take a lab class and a programming class as
opposed to two lab classes or two programming classes. 270, 215, 216, 373, and 452 are all lab classes. 280,
281, 482, 483, and 489 are all programming classes. 203 and MATH 425 are both math classes. 373, 427,
and 470 all include very time-consuming labs/projects; you should not take more than one of these in a given
term.
• The Michigan Embedded Systems Hub (http://www.eecs.umich.edu/hub/) is a great place to learn about the
basics of embedded systems (embedded programming, soldering, and board design) and to get help with
projects. It offers a number of introductory lessons and there are office hours for getting help with personal
projects.
Last Name: First Name: Emplid: Unique ID: GPA: CTP: Elected Hrs:
Req Term: Minor(s): Honor(s): Dual: Subplan: As of:
Category Subject Nbr Sctn Units Term Grade Note Category Subject Nbr Sctn Units Term Grade Note
Intellectual Breadth Category Subject Nbr Sctn Units Term Grade Note
Units Required: 16 Units Earned:
3 units of Humanities Upper Div (3 units min)
Category Subject Nbr Sctn Units Term Grade Note EECS Electives (EECS)
Units Required: 3 Units Earned:
Advisor:_______________________________ Date:_________________