You are on page 1of 3

Programming Assignments

Help

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 Matrices

Concatenating
Arrays

Array Creation
Functions

Accessing
Elements of a

Accessing
Elements of an

Vector

Array

Creating
Creating Vectors
via Concatenation

Array Size and


Length

Uniformly Spaced
Vectors (Colon
Operator)

Vector Arithmetic

Using the
MATLAB Editor

For Loop

Logical Operators

Line Plots

Working with
Classes

Structure Arrays

If-Else Statement

Matrix
Multiplication
Calculating
Eigenvalues and
Eigenvectors

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
Slides

Week

Differential Drive, Odometry, and

Programming

Video

Lecture

IR

Assignment

Lecture

Slides

Week
3

Go-To-Goal

Programming
Assignment

Video
Lecture

Lecture
Slides

Programming

Video

Lecture

Assignment

Lecture

Slides

Programming

Video

Lecture

Assignment

Lecture

Slides

Programming
Assignment

Video
Lecture

Lecture
Slides

Programming

Video

Lecture

Assignment

Lecture

Slides

Week
4
Week
5
Week
6
Week
7

Avoid Obstacles

Arbitration

Follow Wall

Navigation

Solution

Solution

Solution

Solution

Solution

Solution

Solution

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.

Created Sat 26 Jan 2013 4:53 PM PET


Last Modified Fri 28 Feb 2014 6:37 PM PET

You might also like