programming assignments
DESCRIPTION
oTRANSCRIPT
-
HelpProgramming Assignments
About the Programming Assignments
These seven programming assignments (one for each week) are optional, and will focus on
implementing what you have learned in the video lectures. You will be provided with a robot simulator,
which will allow you to design and test controllers for a mobile robot. This robot simulator is based on
MATLAB, so you will need MATLAB to complete the assignments. Please make sure to read the
Getting Started with MATLAB section on this page. It is recommended that you watch the
Programming & Simulation video lecture for each week (listed on both the syllabus and in the
Assignment List below). These video lectures and the manual will provide you with all the information
needed to complete the assignments. If you are interested in feedback for your assignments, you can
submit each assignment for grading (see Submitting the Assignments). Each assignment will be
due at the end of the week, but can be submitted for another seven days after the due date. Any
grade received for any assignment will not count towards your course grade, because these
assignments are optional.
Getting Started with MATLAB
Thanks to support from MathWorks, you will have access to a license of MATLAB and all required
toolboxes for the duration of the course. You can download your copy of MATLAB directly from
MathWorks here, but you will need to create a MathWorks account first if you have not created one
already. Make sure to download the latest version, MATLAB R2013b, and follow any on-screen
instructions. If you require additional assistance, please refer to these installation instructions.
To help you get started with learning MATLAB, here is a selection of short video tutorials that covers
concepts you will encounter in the assignments:
What is MATLAB?The MATLAB
Environment
MATLAB
Variables
Mathematical
Functions
MATLAB as a
Calculator
Creating Vectors
via Concatenation
Creating
Uniformly Spaced
Vectors (Colon
Operator)
Creating MatricesConcatenating
Arrays
Array Creation
Functions
Array Size and
LengthVector Arithmetic
Accessing
Elements of a
Vector
Accessing
Elements of an
Array
Matrix
Multiplication
Using the
MATLAB EditorFor Loop Logical Operators If-Else Statement
Calculating
Eigenvalues and
Eigenvectors
Line PlotsWorking with
ClassesStructure Arrays
-
Created Sat 26 Jan 2013 4:53 PM PET
Last Modified Fri 28 Feb 2014 6:37 PM PET
Assignment List
Here is a condensed list of all the assignments, video lectures, and lecture slides for the programming
assignments from the syllabus:
Week
1
Introduction to the Programming
Assignments
Programming
Assignment
Video
Lecture
Lecture
SlidesSolution
Week
2
Differential Drive, Odometry, and
IR
Programming
Assignment
Video
Lecture
Lecture
SlidesSolution
Week
3Go-To-Goal
Programming
Assignment
Video
Lecture
Lecture
SlidesSolution
Week
4Avoid Obstacles
Programming
Assignment
Video
Lecture
Lecture
SlidesSolution
Week
5Arbitration
Programming
Assignment
Video
Lecture
Lecture
SlidesSolution
Week
6Follow Wall
Programming
Assignment
Video
Lecture
Lecture
SlidesSolution
Week
7Navigation
Programming
Assignment
Video
Lecture
Lecture
SlidesSolution
The master list of all currently posted assignments can be found here.
Submitting the Assignments
Each assignment can be submitted to Coursera for automatic grading and feedback. From within the
unzipped simulator package, type submit into the MATLAB command window. Use your submission
login and password from the Assignments page. Your Coursera login and password will not work.
Select which parts of the assignments in the list you would like to submit, then click Submit to Coursera
for Grading. You will receive feedback, either a green checkmark for pass, or a red checkmark for fail.
If you receive a red checkmark, check the MATLAB command window for a helpful message.
Remember, submitting your assignments is optional.
Alternative Programming & Simulation Opportunities
If you are looking to apply what you have learned the course in another programming language or
software, here is a list of projects you may want to consider:
Timofey Fuchs and Jonathan Whitten, students of the previous iteration of this course,
collaborated with other prior students to create PySimiam, which recreates the simulator and
programming assignments in Python. You can find their project website here.
Nick McCrea, a student of the previous iteration of this course, has created Sobot Rimulator, a
Python mobile robot simulator that simulates our research robots, the Khepera III mobile robots.
You can find his project repository here.