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.
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.