Additional Major in Robotics

Immerse yourself in the world of robotics through the Additional Major, a dynamic fusion of multidisciplinary and interdisciplinary exploration. Open to students across all majors and colleges at Carnegie Mellon University, this program provides a gateway to mastering the essence of robotics.

Begin your journey with a comprehensive introductory robotics overview, laying the groundwork for your exploration. The cornerstone of this major is motion and control, serving as the bedrock upon which the layers of sensing, cognition, and action are artfully assembled.

Guided by the principle that robotics involves crafting tangible embodiments of these core principles, a ‘hands-on’ course requirement enhances your understanding. These focal points converge under the distinct systems perspective that defines robotics, adding an exceptional dimension to your education.

Admission to the Additional Major Program

The Additional Major in robotics is designed for students who want to explore the field more than is possible through the Minor in Robotics.

Although students can come from any department on campus, the nature of the courses required for the Additional Major makes it ideal for students already pursuing an undergraduate degree in computer science through the School of Computer Science, or in engineering through the College of Engineering.

How to Apply

Generally, students should apply in their freshman year at CMU—but we allow admissions for students in their sophomore year provided they meet the requirements and their schedule allows enough time for degree completion.

The application period is January 7 – February 3.  Admission decisions will be sent via email no later than the Friday before Fall Registration Week.

Required application materials include:

  • Full name, email address and Andrew ID
  • Home college, GPA, year you intend to graduate, and list of all declared Majors and Minors
  • Proposed schedule of required courses
  • Statement of purpose (1-2 page, single spaced, to articulate why the student wants to pursue the robotics major)

PLEASE NOTE: You must be a current CMU undergraduate student and possess a valid CMU email address to complete the application.

For Current High School Students

High school students interested in the additional major must first apply and be accepted as an undergraduate at Carnegie Mellon University. They may then apply to the additional major during their freshman year.

Specific information about applying to CMU as an undergraduate may be found on the CMU Undergraduate Admissions page.

For International Students

Students interested in the additional major must first apply and be accepted as an undergraduate at Carnegie Mellon University. They may then apply to the additional major during their freshman year. International (non-US citizens) student applicants follow the same procedures for admission to Carnegie Mellon as US citizens. Complete information on applying to both undergraduate and graduate programs is available from Carnegie Mellon Prospective Students.

Specific information about applying to CMU as an undergraduate may be found on the CMU Undergraduate Admissions page.

Additional information regarding needs specific to international students may be obtained by contacting the Office of International Education.

Apply Now

Curriculum Requirements – Additional Major in Robotics

The curriculum for the Additional Major in Robotics is outlined below.

Prerequisites

Choose from each category:

Calculus (choose one) 21-259 Calculus in Three-Dimensions
21-254 Linear Algebra and Vector Calculus for Engineers
Linear Algebra (choose one) 18-202 Mathematical Foundations of Electrical Engineering
21-240 Matrix Algebra with Applications
21-241 Matrices and Linear Transformations
21-260 Differential Equations
24-311 Numerical Methods
Programming in C (choose one) 15-122 Principles of Imperative Computation
24-280 Special Topics: C++ Programming for Engineers
or knowledge and experience programming in C

Required Courses

There are 10 requirements below in total (one from each category plus two electives):

Requirements Choose 10 courses total, one in each requirement (two for electives):
Overview / Introductory 16-280 General Robotic Systems (if not offered substitute 16-311)
Controls 06-464 Chemical Engineering Process Control
16-299 Introduction to Feedback Control Systems
18-370 Fundamentals of Control
24-451 Feedback Control Systems
24-773 – with instructor and Program Director’s permission
Mechanisms & Manipulation  16-384 Kinematics and Dynamics
OR
15-462 – Computer Graphics AND 33-141 – Physics I for Engineering Students (must take both to satisfy this requirement)
Sensing and Perception 15-387 Computational Perception
15-463 Computational Photography
16-322 Modern Sensors for Intelligent Systems
16-385 Computer Vision
16-421 Vision Sensors
16-423 Designing Computer Vision Apps
16-722 Sensing and Sensors
16-886 Sensor Systems
16-xxx Upper-level RI course with instructor and Program Director’s permission
85-370 Perception
Ethics 16-469 Innovation and Shared Prosperity: Community-engagement for change
17-200 Ethics and Policy Issues in Computing
80-249 AI, Society, and Humanity
Robot Building Practices 16-220 Intro to Robotic Building Practices
16-362 Mobile Robot Algorithms Laboratory
16-423 Designing Computer Vision Apps
16-778 Mechatronic Design (ROB)
18-349 Introduction to Embedded Systems
18-578 Mechatronic Design (ECE)
18-500 ECE Design Experience
24-671 Electromechanical Systems Design
24-778 Mechatronic Design (MEG)
Electives  10-301 Introduction to Machine Learning (Undergrad)
10-315 Introduction to Machine Learning (SCS Majors)
11-344 Machine Learning in Practice
15-281 Artificial Intelligence: Representation and Problem Solving
15-424 Logical Foundations of Cyber-Physical Systems
15-462 Computer Graphics
15-463 Computational Photography
16-467 Human Robot Interaction
16-745 Optimal Control and Reinforcement Learning
16-761 Mobile Robots
15-482 Autonomous Agents
15-491 Special Topic: CMRoboBits: AI and Robots for Daily-Life Problems
16-264 Humanoids
16-362 Mobile Robot Algorithms Laboratory
16-385 Computer Vision
16-421 Vision Sensors
16-423 Designing Computer Vision Apps
16-597 Undergraduate Reading and Research
16-879 Medical Robotics
18-349 Introduction to Embedded Systems
18-578 Mechatronic Design
24-677 Modern Control Theory
24-771 Linear Systems
85-370 Perception
85-395 Applications of Cognitive Science
85-412 Cognitive Modeling
85-419 Introduction to Parallel Distributed Processing
85-426 Learning in Humans and Machines
Systems Engineering 16-450 Systems Engineering
(Can be taken concurrently with the Controls requirement for easier scheduling.)
Capstone Course 16-474 Robotics Capstone

Students may count up to 12 units of 16-597 Undergraduate Reading and Research towards the major requirements. A student can also take additional courses from the core; e.g., a student who takes 16-385 as a core can take 16-421 as an elective.
Graduate level Robotics courses may be used to meet elective requirement with permission from the Program Director. Graduate level Mechanical Engineering and Electrical and Computer Engineering courses that are relevant to robotics may be used to meet the elective requirement with permission from the Program Director.
A 3.0 QPA in the Additional Major curriculum is required for graduation. Courses that are taken Pass/Fail or audited cannot be counted for the Additional Major.

Double-Counting Restriction

Students are permitted to double count a maximum of six courses from their Primary Major towards the Additional Major in Robotics. CS Majors are permitted to double count a maximum of five courses from their Primary Major towards the Additional Major in Robotics.

Curriculum Requirements – Additional Major in Robotics

The curriculum for the Additional Major in Robotics is outlined below.

The following requirements are subject to change.

Requirements Choose 10 courses total, one in each requirement (two for electives):
Overview / Introductory 16-311 Introduction to Robotics
Controls* 06-464 Chemical Engineering Process Control
16-299 Introduction to Feedback Control Systems
18-370 Fundamentals of Control
24-451 Feedback Control Systems
24-773 Special Topics: Multi-variable Linear Control
18-474 Embedded Controls
18-475 Autonomous Control Systems
18-771 Linear Systems
18-776 Nonlinear Control
Kinematics* 16-384 Kinematics and Dynamics
Machine Perception* 15-387 Computational Perception
15-463 (15-862) Computational Photography
16-322 Modern Sensors for Intelligent Systems
16-385 (16-720) Computer Vision
16-423 Designing Computer Vision Apps (not offered regularly)
16-722 Sensing and Sensors
16-886 Sensor Systems
85-370 Perception
18-793 Image and Video Processing
18-794 Pattern Recognition Theory
18-797 Machine Learning for Signal Processing
Cognition and Reasoning* 10-301 Introduction to Machine Learning
10-315 Introduction to Machine Learning (Undergrad)
11-344 Machine Learning in Practice
15-281 / 15-231 Artificial Intelligence
15-482 Autonomous Agents
16-350 Planning Techniques for Robotics
24-480 – Special Topics: Artificial Intelligence and Machine Learning for Engineering
85-395 Applications in Cognitive Science
95-828 Machine Learning for Problem Solving
18-495 speech processing
18-461 introduction to machine learning
18-462 principles and engineering applications of ai
18-661 introduction to machine learning for engineers
18-448 embedded systems for ai applications
18-786 introduction to deep learning
“Hands-on Course”* 16-362 Mobile Robot Algorithms Laboratory
16-423 Designing Computer Vision Apps
16-845 Insects and Robots
16-861 Space Robotics
16-865 Space Robotics Development
16-878 Special Topics: Advanced Mechatronic Design
16-879 Medical Robotics
16-880 Special Topics: Engineering Haptic Interfaces
16-888 Special Topics: Foldable Robots
18-349 Introduction to Embedded Systems
18-500 ECE Design Experience
18-578 (16-778/18-578/24-778) Mechatronics
24-671 Special Topics: Electromechanical Systems Design
18-449 distributed embedded systems
18-648 real-time embedded systems
18-540 rapid prototyping of computer systems
Two Electives* See list of approved electives through the Undergraduate Catalog.
Additional details are outlined below in “Elective” section.
Systems Engineering 16-450 Systems Engineering
(Can be taken concurrently with the Controls requirement for easier scheduling.)
Capstone Course 16-474 Robotics Capstone

*Appropriate upper-level courses may be substituted with Undergraduate Program Director’s approval.

Prerequisites

Choose one course from each category:

Calculus 21-259 Calculus in Three-Dimensions
21-254 Linear Algebra and Vector Calculus for Engineers
Basic Math 21-240 Matrix Algebra with Applications
21-241  Matrix Algebra
21-260 Differential Equations
18-202 Mathematical Foundations of Electrical Engineering
24-311  Numerical Methods
Programming in C Knowledge of the C programming language which could be obtained from the following:
15-122 Principles of Imperative Computation (for novice C users)
16-311 Introduction to Robotics (for students that have some familiarity with C)
24-280 Special Topics: C++ Programming for Engineers (for novice C users)

Electives

Students may count up to 12 units of 16-597 Undergraduate Reading and Research towards the degree requirements. A student can also take additional courses from the core; e.g., a student who takes 16-385 as a core can take 16-421 as an elective.

Graduate level Robotics courses and graduate level Mechanical Engineering and Electrical and Computer Engineering courses, that are relevant to robotics, may be used to meet the elective requirement with permission from the RI Undergraduate Program Director.

QPA Requirement

A 3.0 QPA in the Additional Major curriculum is required for graduation. Courses that are taken Pass/Fail or audited cannot be counted for the Additional Major.

Double Counting Restriction

Students are permitted to double count a maximum of six courses from their Primary Major core curriculum towards the Additional Major in Robotics. CS Majors are permitted to double count a maximum of five courses from their Primary Major core curriculum towards the Additional Major in Robotics.

Courses being utilized for any minor originating from the School of Computer Science may not be double counted towards the RI Additional Major without approval from the RI Undergraduate Program Director.