MRSD students have diverse backgrounds and experienced different levels of exposure to engineering, math, and science. Each year brings in a new group of unique individuals who each have a great deal of expertise to contribute to the MRSD community. Teamwork is a central requirement of the program, so effective and respectful communication skills – verbally and in writing – are required.
The MRSD program offers broad exposure to many topics relevant to robotics. In order to be properly prepared, below is a comprehensive list that paints an “ideal” picture. While it certainly helps, it is NOT a requirement to be proficient in each area. Incoming students are encouraged to at least review the meaning and terminology until they are comfortable with the basics. The MRSD Program Administration encourages students to become familiar with areas not associated with their previous major; they can then think critically through multiple lenses, and ultimately take full advantage of the multidisciplinary training provided through the MRSD program.
The below table summarizes recommended skills and knowledge.
Recommended Skills for MRSD
PROGRAMMING  Matlab  Familiarity with commandline and external functions using MATLAB library; Import/export of data; graphing/plotting functions & data; rudimentary animation 
Python  And / or C / C++ familiarity  
ROS  Robot Operating System (ROS)  Optional (Good to know)  
Program Constructs  Sequencing, Selection, Iteration & Recursion  
Data Organization  Arrays, Lists, Pointers  
COMPUTERS  Tools  Productivity SW (MS Office  Excel / Word / PowerPoint / Project) 
Operating Systems  Windows or AppleOS  use of personal laptop computer Linux or Ubuntu  
MATHEMATICS  Linear Algebra  Inversion, Eigenvalues, NullSpace 
Linear Differential Eq.  MatrixAlgebra & Manipulation  
Basic Calculus  Derivatives, Gradients, Chain Rule  
Numerical Integration  Basic Computational Implementation, e.g. RungeKutta 4  
Fourier Analysis  NOT how to calculate the coefficients, but the notion that any complicated fct. can be represented as a composite of simpler ones  
CMU Math Fundamentals Course  16811: Math Fundamentals for Robotics  
PHYSICS  Newtonian Physics  NewtonEuler Mechanics (Forces, torques, mass / inertia, Equations of motion) 
System State  Degrees of Freedom & Constraints to fully describe a systemâ€™s behavior mathematically  
CONTROLS  Control Systems  Controls Fundamentals (transfer functions; bode plots; stabilitymargin; timeresponse of LTI systems; PID compensators) 
OTHER  Electronics  Basic experience with practical circuits (elements, interactions, PCBs) 
Mechanisms  Some design and fabrication experience (Concept > CAD > Fabrication)  
Documentation  Basic skills in document structuring and technical writing  
REFERENCES  Courses  CollegeLevel  CMU: CS Courses 15110 and / or 15112 OR equivalent HIGHLY recommend being comfortable with material in 16811 
Courses  Online  Stanford  CS101 MIT  Code Academy Coursera Udacity  . . . choose cs101 or cs373 

Books  Linear Algebra: A Modern Introduction  David Poole Physics  Jay Orear Control Systems Engineering  Norman Nise The C Programming Language  Kernighan & Ritchie The C Programmers Handbook  Thom Hogan Programming in C  S. Kochan 

Online Tutorials and Learning Resources  MATLAB Python Lynda  assorted trainings  available with CMU ID 