CSCI 250: Introduction to Robotics

CSCI 250: Introduction to Robotics

General Information

Professor: Simon D. Levy

Schedule: MWF 1:30-3:30, TR 1:30-4:30, Parmly 405


What I cannot create, I do not understand. – R. Feynman

Textbook  / Readings

D. Mc Griffy: Make: Drones: Teach an Arduino to FlyMake Community, LLC, 2017.  Available online through our library.  Although we will not focus on building actual drones, this book provides a good introduction to the foundational concepts that we will discuss.  Selected chapters and sections will be assigned.

Additional readings are available as PDFs in the schedule below, or (in the case of Inter-library Loan material) on Box.


By the end of this course you will be able to:

    • Talk the Talk: You will be able to explain the basic terminology of robotics, the most important algorithms used in the field, and the current challenges.
    • Walk the WalkYou will be able to write code using standard software packages like Arduino and OpenCV to complete nontrivial robotic tasks such as flight control.


      • Four weekly in-class quizzes, one at the start of each Friday: 50%, based on the lecture notes
      • Warm-up programming exercises using Arduino, Python, and OpenCV (15%)
      • Final project, with writeup and/or code on github: 35%

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.

I expect everyone to show up every day and participate. Because of the teamwork required in this course, you will be letting down not just yourself, but also your teammates, if you miss class. The only legitimate reasons for missing class are illness, family emergencies, and the like (which must be handled through the Dean’s Office), as well as off-campus varsity athletic events. In order to enforce this policy, I will deduct one percentage point from your final grade for every unexcused absence.

Class Format

The format of the class will be an hour of lecture / discussion followed by project work done in teams. We will likely vary this schedule to accommodate additional work on projects as needed.

Final Projects

Because of the availability of safe, inexpensive, indoor micro aerial vehicles (MAVs/drones), we will focus on projects using those.  After replicating an existing open-source project for visually-guide flight, each team will propose and implement a project extending that work to other tasks.

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.


Washington and Lee University makes reasonable academic accommodations for qualified students with disabilities. All undergraduate accommodations must be approved through the Office of the Dean of the College. Students requesting accommodations for this course should present an official accommodation letter within the first two weeks of the (fall or winter) term and schedule a meeting outside of class time to discuss accommodations. It is the student’s responsibility to present this paperwork in a timely fashion and to follow up about accommodation arrangements. Accommodations for test-taking should be arranged with the professor at least a week before the date of the test or exam.

Tentative Schedule






24 April
Week 1
Lecture: Course Intro

Lab: Becoming a robot

Lecture: Sensors, Signals, Serial, Sockets

Lab: Getting Started with Arduino

Lecture: Sensors, Signals, Serial, Sockets

Lab: Intro to OpenCV

Lecture: Threading & Concurrency

Lab: Sockets and Threads + IQ Center Motion-Capture Lab visit

Weekly Quiz #1
1 May
Week 2
Sensors, Signals, Serial, Sockets

Lab: Unbox and fly your drone!

Sensors, Signals, Serial, Sockets

Lab: Final Project Intro: use updated repo

Sensors, Signals, Serial, Sockets Lecture: Finish Sensors, Signals, Serial, Sockets Weekly Quiz #2
8 May
Week 3
Lecture: Make Drones chapters 8-11

PWM demo

Lecture: Make Drones chapters 8-11

Video: PID Control

PID Control PID Control Weekly Quiz #3
15 May
Week 4
Weekly Reading:    Bouabdallah et al. 2004 (shared by email) Lecture: Bayesian Filtering for Robotics

Particle Filter Animation

Quaternion Filters Last-minute project work Spring-Term Festival 12:00-2:00pm Leyburn M11

Weekly Quiz #4 (take-home)