Robotics

CSCI 420 - Fall 2025

Team

  • Trey Woodlief - Instructor, woodlief@wm.edu
  • Fahmida Hossain - Teaching Assistant, fhossain@wm.edu

Goal and Scope

Developing software for robot systems is challenging as they must sense, represent, and actuate in the physical world. Sensing the physical world is usually noisy, the knowledge and representation of the world is incomplete and uncertain, and actuating in and on the world is often inaccurate. In this class, we will explore software engineering approaches to cope with those challenges. You will learn to use domain-specific abstractions, architectures, libraries, and validation approaches and tools to safely perform robot activities like motion, navigation, perception, planning, and interaction. The expectation is that this course will open up new career options in robotics for our students. The course requires no prior knowledge of robotics.

Class location and time

  • Monday and Wednesday from 3:30PM to 4:50PM
  • Classes will be in person at John E. Boswell Hall 341, with most lectures on Mondays and labs on Wednesdays

Office Hours

  • Trey Woodlief: Tuesdays 10am-11am, Wednesdays 5pm-6pm, and Thursdays 2pm-3pm at McGlothlin-Street Hall 135 and by appointment.
  • Fahmida Hossain: Fridays 10am–11am at McGlothlin-Street Hall 002

Prerequisites

CSCI 303 or CSCI 304 or instructor permission.

Tentative Schedule

Week Lecture Date Lecture Topic Lab Date Lab Topic
1 8/27/2025 Intro N/A  
2 Labor Day   9/3/2025 Setting up ROS
3 9/8/2025 Distinguishing Development Features 9/10/2025 ROS
4 9/15/2025 Software Machinery + Quiz 1 9/17/2025 Types & Machines
5 9/22/2025 Robot & World Types 9/24/2025 Sensors & Noise
6 9/29/2025 Abstractions & Perception + Quiz 2 10/1/2025 Perception
7 10/6/2025 LLMs in Robotics 10/8/2025 Guest Speaker
8 10/13/2025 Controlling your Robot 10/15/2025 Ethics
9 10/20/2025 Tradeoffs in Planning + Quiz 3 10/22/2025 Control & Testing
10 10/27/2025 Localization & Navigation 10/29/2025 Mapping & Motion Planning
11 11/3/2025 Overloading & Transformations 11/5/2025 Pose Transformations
12 11/10/2025 Specs, V&V, Safety + Quiz 4 11/12/2025 Specifying Robots
13 11/17/2025 Robot Design 11/19/2025 Project Overview
14 11/24/2025 Project Work (Remote Office Hours) Thanksgiving Break  
15 12/1/2025 Project Presentations 12/3/2025 Project Presentations

Important Dates:

  • Labor day (no class): September 1
  • Add/drop deadline: September 8
  • Withdrawal period begins: September 9
  • Fall Break (no office hours): October 9-12
  • Withdraw deadline: October 27
  • Election Day (office hours by appointment only): November 4
  • University remote instruction days (no class, remote office hours for project check in): November 24 & 25
  • Thanksgiving (no class or office hours): November 26-30

Course Policies

  • If you feel sick, let me know and stay home. We will work on a temporary solution.
  • Students must fully comply with all the provisions of the William & Mary Honor Code.
    • All quizzes are taken live during class time. Collaboration or use of any outside materials is strictly prohibited.
      • If you anticipate needing to miss class when a quiz is scheduled, let me know as early as possible, and we will schedule a makeup quiz during office hours.
    • The Labs and Final Project are individual assignments unless otherwise noted in the assignment.
      • Students may use any outside resources in completing these assignments, including using generative AI and discussing with classmates, with the following exceptions:
        • Students may not share code with other students.
        • Students are responsible for any code that is used, regardless of source. Be aware that generative AI tools
      • Each student must be able to fully explain all code and implementation details of their solution as though the student had written all code from scratch. If generative AI helped you to outline a solution or fix a bug, you must be able to fully explain the current working version of the code at a level of understanding that demonstrates command of course concepts and a familiarity with the tools and techniques of the labs.
      • These assignments will be turned in by a live demonstration of the solution to the instructor during Wednesday class sessions or office hours.
      • A correct and functional implementation that you cannot explain how it functions and why it relates to course concepts will result in at most half credit.
    • See the course posting in Blackboard for instructions and submission of the video assignment.
  • Labs will earn full credit if presented within one week after they are due, 50% credit within two weeks, and 5% after two weeks. For example, Lab 1 will be assigned on Wednesday, September 3rd and can be presented for full credit any time through the end of office hours on September 10th, for 50% credit through the end of office hours on September 17th, and will receive 5% credit afterward. Labs can be turned in during any lab period or during instructor office hours.
  • Depending on the class size only a sample of the students will be graded on a weekly basis.
  • Students are responsible for all missed work. It is also the absentee’s responsibility to get all missing notes or materials.
  • This course is designed around students completing lab assignments on a personal laptop. All software needed is free and guides will be posted. If you anticipate any issues related to the format, materials, or requirements of this course, please meet with me outside of class so we can explore potential options.

Student Success

  • William & Mary accommodates students with disabilities in accordance with federal laws and university policy. Any student needing accommodation based on the impact of a learning, psychiatric, physical, or chronic health diagnosis should contact Student Accessibility Services at (757) 221-2512 or sas@wm.edu to determine if accommodations are warranted and to obtain an official letter of accommodation.
  • There are many resources to help navigate emotional, psychological, physical, medical, and material concerns, including:
    • Counseling Center at (757) 221-3620. Services are free and confidential.
    • Health Center at (757) 221-4386.
    • Dean of Students at 757-221-2510.
    • The free Timely Care app, which gives students access to 24-7 remote counseling support. Information about the Timely care app can be found through http://timelycare.com/wm

Tentative Grade Distribution

  • ~9 Labs: 70 points
  • 1 Project: 20 points
  • 1 Video: 2 points
  • 4 Quizzes: 8 points

Letter Grade

Grade Point Range
A [93, 100]
A- [90, 93)
B+ [87, 90)
B [83, 87)
B- [80, 83)
C+ [77, 80)
C- [73, 77)
C- [70, 73)
D+ [67, 70)
D [63, 67)
D- [60, 63)
F [0,60)

FAQ

  • Is this course for me?
    • This is a class for students who have no or limited experience in robotics but are interested in learning more about how we develop systems that interact with the physical world. Note that the material and schedule is likely to be tweaked as the course evolves, so you need to be comfortable taking an exploratory class with us.
  • What is this course NOT about?
    • This class is not about AI (though we will touch on it briefly in a few sections), mechanical design, or electronic design. It is mainly about how to build software that will operate mobile robots in the physical world.
  • What is the structure of the course?
    • This class will include multiple development labs, a team project, and a handful of quizzes.
  • What robot will be used?
    • Drones, all in simulation. Our focus is on the software.