CS 250: Introduction to Robotics

General Information

Professor: Simon D. Levy
Schedule: MTWRF 1:25-3:25 Parmly 405
Office: Parmly 407B
Office Phone: 458-8419
E-mail: levys@wlu.edu
  Office Hours: MTWRF 10:00-12:00, and by appointment

Textbook: The only book that you will need to buy is Braitenberg's Vehicles, which is more of an interesting philosophical essay than a textbook. Because robotics is such a new and rapidly-expanding field, it makes more sense to read selections from various authors than to try and find a single textbook. These readings will be available to you in a course packet and downloads from the course website.


By the end of this course you will be able to

The informal goal of this class is to have fun learning about and building robots. The learning will come from the current robotics literature presented by you and your fellow students. We will pursue our goal in a spirit of friendly competition: your final robot project will be judged not just on its own, but against the robots built by your classmates. We will enter our robots into competitions with each other, with the winning robots earning a higher grade for their creators.


To do well in this class, you should have some programming background. W&L courses CSCI 111 or 121, or a high-school programming course should be sufficient. Although Computer Science majors will have a slight advantage through familiarity with programming, I have found that the best predictor of success in this course is interest and dedication.


Our initial projects will be done using the popular Lego Mindstorms NXT robot kits. These kits are sophisticated enough to use throughout the course; however, we also have a variety of other, pre-built platforms, including Given enough advance notice, it should also be possible to purchase other kinds of robots. I suggest you familiarize yourself as quickly as possible with these platforms, so you will be able to decide which one you would like to use in your final project.

Class Format

The format of the class will be an hour of lecture / discussion followed by an hour of project work done in teams of two to four students. We will likely vary this schedule to accommodate addtional work on projects as needed. To ensure that you are keeping up with the readings, there will be a weekly reading quiz each Friday.

Attendance and Preparation

Given the intensive spring-term schedule, I expect you to attend every class, having done the reading, and ready to contribute to your team's project. Barring genuine emergency (medical or family), you will receive a zero on any quiz or deadline that you miss, with no opportunity for you to change that grade.


The weekly progress check is to discourage you from piling up all your project work into the last week. Your project writeup should be an approximate 10-page paper describing the issue that your robot is designed to illustrate or explore, showing some experimental results, with instructions on how to replicate these results.

The grading scale will be 93-100 A; 90-92 A-; 87-89 B+; 83-86 B; 80-82 B-; 77-79 C+; 73-76 C; 70-72 C-; 67-69 D+; 63-66 D; 60-62 D-; below 60 F.

After-Hours Work

Although you should have enough time to work on your robots during the regular class meetings, I have found that students enjoyed and benefitted from working on their robots outside of class. Parmly 404, the room where we will store the robot kits and other material, works well for this purpose. You can borrow a key for this room at the front desk of the Science Library. Please make sure that the room is locked whenever there is no one in it.

Tentative Schedule







25 April
Week 1
Discussion: Course Intro

Project: Group Exercise

Discussion: How Robots Think

Bayes' Rule Intro

Project: Your first Mindstorms robot
Discussion: How Robots Think

Bayesian Networks

Project: Intro to NXT-Python
Discussion: Guest lecture by Joshua Stough

Project: NXT-Python, continued
Reading Quiz

Discussion: Artificial Intelligence: A Modern Approach, Chapter 2

Progress check: NXT Python project

02 May
Week 2
Discussion: AIMA Chapter 2

Project: NXT-Python, continued

7:00 - 8:00 PM: Nicolaas Rupke lecture, Northen Auditorium
Discussion: AIMA Chapter 2

Project: NXT-Python, continued
Discussion: AIMA Chapter 25

Project: Exploring other platforms (Khepera-II, Rovio, Create, AR.Drone)
Discussion: Guest lecture by Prof. Kamin Whitehouse

Project: NXT-Python, continued
Reading Quiz

Project: Exploring other platforms (Khepera-II, Rovio, Create, AR.Drone) Progress check: project proposal

09 May
Week 3
10:10AM-12:10PM James Hughes lecture, Wilson 2018

Discussion: AIMA Chapter 25

Project: Work on final project

7:00 PM - 8:00 PM James Hughes lecture, Huntley 321

Discussion: Guest lecture
by Prof. Jonathan Erickson

Project: Work on final project
AIMA Chapter 25

Project: Work on final project
Discussion: Martin, F. (2000), Robotic Explorations: A Hands-On Introduction to Engineering, Chapter 8: Robot Control.

Pollack J.B., H. Lipson, G. Hornby, and P. Funes (2002): Three Generations of Automatically Designed Robots

Project: Work on final project
Reading Quiz

Progress check: Status report on final project

16 May
Week 4
Discussion: Braitenberg, V. (1984), Vehicles (excerpts)

Project: Work on final project
Discussion: Wallach, W. (2008) Moral Machines: Teaching Robots Right from Wrong, excerpts

Singer, P.W. (2009) Wired for War: The Robotics Revolution and Conflict in the 21st Century, excerpts.

Project: Work on final project
Discussion: Guest lecture by Paul Gregory

Project: Work on final project
8:30 AM - 12:30 PM: Field trip to Areva in Lynchburg

Project: Work on final project

12:00 - 2:00 PM: Spring Term Festival (Warner Center & Cannan Green)

Project Presentations

Take-home quiz on readings