Core requirements and policies in robotics
The Robotics program focuses on the study of embodied intelligences that must sense, reason, act, and work with people to improve quality of life and productivity equitably across society.
The Robotics BSE is designed to allow students a high degree of flexibility in creating their undergraduate experience. Students can select different combinations of core classes and electives in order to focus on different elements or topics within robotics.
The information below is also available and explained in the Robotics Undergraduate Program Guide.

MRover unveils and tests their new rover at the Mars Yard. Photo: Brenda Ahearn.
Robotics and College Requirements
-
Introductory Engineering
- Introduction to Engineering: ENGR 100 or introductory engineering equivalent
- Computational Thinking: ROB 102 (Introduction to AI and Programming) or ENGR 101 or ENGR 151 or approved introductory programming equivalent
- Linear Algebra: ROB 101 (Computational Linear Algebra) or MATH 214 or MATH 217 or MATH 417 or MATH 419 or approved linear algebra equivalent
-
Calculus Requirements
- Introductory Calculus: MATH 115 or MATH 120 (AP); and MATH 116 or MATH 121 (AP)
- Intermediate Calculus: MATH 215 or 216
-
Science Requirements
- PHYSICS 140/141 and PHYSICS 240/241
- CHEM 130 and CHEM 125/126
-
Intellectual Breadth
- 16 credits as specified by the College of Engineering Core Requirements Bulletin
-
General Electives (9 credits)
- 9 credits are “required”; College degrees require 128 total credits, and more or fewer GE credits may be needed to achieve this total depending on individual factors in a student’s record.
-
Teamwork in Robotics
- ROB 204 (Human-Robot Systems)
-
Robotics Core (at least three of the following courses):
- ROB 310 (Robot Sensors and Signals)
- ROB 311 (Build Robots and Make Them Move)
- ROB 320 (Robot Operating Systems)
- ROB 330 (Localization, Mapping, and Navigation)
- ROB 340 (Human-Robot Interaction)
-
Discipline Breadth (at least one approved course from all of the following areas):
- Data Structures and Programming: EECS 280
- Probability, Statistics, and Visualization: IOE 265 or EECS 301 or BIOMEDE 241
- Electronics and Circuits: EECS 215 or EECS 270 or BIOMEDE 211
- Kinematics and Dynamics: MECHENG 240 or BIOMEDE 231
-
Discipline Depth (at least one of the following courses):
- AEROSP 201, AEROSP 205, AEROSP 288, EECS 216, EECS 281, EECS 351, EECS 370, EECS 373, IOE 333, IOE 434, MATSCIE 220, NAVARCH 270
-
Technical Electives
- A minimum of 18 credit hours of approved technical electives, with a minimum 8 credit hours from either the approved set of Upper Level Robotics Courses or Flexible Technical Electives
-
Major Design
- TCHNCLCM 350 (Technical Communication for Robotics)
- ROB 450 (Robotics Capstone) or EECS 467 (Autonomous Robotics Laboratory)
To declare for the BSE major in Robotics, a student must be a College of Engineering student and:
- Have completed at least one full term at UM Ann Arbor
- Have an overall UM GPA of 2.0 or better in courses taken at the UM Ann Arbor campus and be in good standing
- Have completed or earned credit by exam or transfer for at least one course in each of these categories:
- Introductory Linear Algebra (e.g., Robotics 101, MATH 214, MATH 217)
- Introductory Engineering Design (e.g., ENGR 100) or Introductory Computing/Programming (e.g., ROB 102, ENGR 101, ENGR 151)
- Introductory Calculus (e.g. MATH 115, MATH 116, MATH 156)
- Calculus-based physics lectures (e.g., PHYSICS 140, 160) or chemistry lectures (e.g., CHEM 130)
Archived Program Guides
Dual Majors
To earn dual majors within the College of Engineering, students must satisfy the requirements for both programs and take at least 14 additional credit hours of pertinent technical coursework beyond shared requirements.
Pass/Fail Policy
Students may elect a maximum of 2 courses graded as Pass/Fail per term (1 during Spring/Summer) and a maximum of 14 credits total.
Transfer Credit
For Robotics majors who have taken courses at other institutions, U-M maintains a list of approved transfer courses.
Robotics Technical Electives
- Upper-Level Electives: Any 300-level or above Robotics course may be used as an upper-level technical elective.
- Flexible Technical Electives: Any 400-level or above course within the College of Engineering or Mathematics/Physics 400-level credit or above may be used as a flexible technical elective.