CS 363: Syllabus

Syllabus for Fall 2009

Topics and Reading Assignments

Textbooks

Grading

In-class Exams (2) 20%
Final Exam 15%
Class Participation 10%
Assignments 40%
Homeworks 15%

Assignments and homeworks will account for over half of your grade, with exams and class participation accounting for the remainder. The grading policy on assignments is that the tasks specified explicitly in the lab description will constitute about 85% of the assignment. If you complete the specified parts of the assignment properly, and produce a high-quality writeup, it's worth up to a B+ grade. In addition, the lab description will include a variety of extensions to the assignment, or you can come up with your own. Completing one or more extensions, in addition to the specified parts of the assignment, will earn you some flavor of A.

Deadlines

Weekly homeworks will mostly be small programming assignments or problem sets, which are expected to take less than one hour to complete. Homeworks are due by class time on the given due date. The homework deadline is a hard deadline, since we will usually discuss them in class. Homeworks should be your own work. You are encouraged to discuss the homework concepts among yourselves, but your code and your answers should be your own.

Assignments will be longer projects. You will be working in groups of three. For full credit, assignments need to be submitted prior to midnight on the due date. Assignments submitted late will be penalized 20% per day.

Collaboration on assignment concepts and ideas between groups is acceptable, but you need to understand everything you do, and your code should be your own group's code. If you use ideas from another group, be sure to indicate that within your code or writeup. Err on the side of caution. The worst thing that can happen is the professor noticing disturbing similarities in homeworks or assignments with no attribution of credit.

Handin

For the assignments, you will need to put together writeup on a wiki page or web page (you are free to do either). The writeup should describe the assignment, explain any required theory, and present the results. Your audience for the writeup is your fellow students who might be interested in what you're doing. To hand in your code, create a single zip file and email it to me. Please do not link code to your wiki/web page.

Weekly Topics and Readings

WeekTopicsReading
1:
  • Introduction to robots
  • Robot History
S. & N. Chapter 1
2:
  • Robot Mechanisms and Designs
  • Proximity Sensors
  • Proprioception and visual sensors
S. & N. Chapter 2
3:
  • Motion, State
  • Transformations
  • Differential Drive Kinematics
S. & N. Chapter 2-3
4:
  • Jointed Robot Kinematics
  • Jacobian
  • Basic Control Theory
Lecture Notes
5:
  • Navigation Strategies
  • Wall-Following
  • Velocity Space Navigation
Handouts
6:
  • Exam
Review of Lecture notes
7:
  • State Estimation and Bayesian Filters
  • Kalman Filters
  • Particle Filters
S. & N. Chapter 6, Papers
8:
  • RANSAC, Feature Identification
  • Finite State Automata
  • Case-based Reasoning
Handouts
9:
  • Lab Time
  • Fuzzy Logic
  • Markov Decision Processes
Handouts
10:
  • Reinforcement Learning
  • POMDP
  • Configuration space
Handouts
11:
  • Visibility graphs and
    Voronoi Diagrams
  • Dijkstra's Algorithm
  • Maps and Evidence Grids
Handouts
12:
Handouts
13:
  • Localization
  • SLAM
  • FastSLAM
Handouts
14:
  • Multi-robot systems
  • Demonstrations
Handouts