MRSD Program Recommended PreProgram Entry Skills 
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
