Course Information and Catalog Description

A hands-on introduction to programming autonomous mobile robots. The focus of this course is on designing robotic systems that navigate independently in complex environments. Specific topics include localization, mapping, kinematics, path planning and computer vision.

Location: EngGeo 1203
Meeting Time: T/TH 11:10AM-12:25PM
Prerequisites: "C-" or better in CS 240 and either MATH 220 or MATH 229 or MATH 318
Course Web Page: http://w3.cs.jmu.edu/spragunr/CS354/

There is no required textbook for this course. All readings will be made available as handouts or electronic resources.

Instructor Contact Information

Name: Dr. Nathan Sprague
Office: King 226
Office Phone: 568-3312
Email: spragunr@jmu.edu
Office Hours: http://w3.cs.jmu.edu/spragunr/schedule.html

Questions related to course content should be asked through Piazza. The advantage of Piazza is that I can address common questions in one location, rather than answering the same question multiple times via email. I also encourage you to respond to each others' questions on Piazza; this provides everyone with more timely responses and crafting an answer can help you to understand the material better. Piazza is configured to generate an email to me when a question is posted, so using email will not result in a faster response. You may use email if you need to contact me directly.

You are welcome to call or stop by my office any time, with the understanding that I may or may not be available outside of my posted office hours. If you need to meet with me outside of my posted hours, email me to make an appointment.

Note that I typically do not respond to email or Piazza posts in the evenings or on the weekends.

If you contact me and don't hear back within a day or two, don't give up! I try to respond to email in a timely manner, but sometimes one falls through the cracks. I won't be offended if you send a follow up message if you don't hear back from me.

My office hours this semester will use a hybrid online/in-person format. You are free to attend in-person or online via Zoom. The Zoom link will be made available on the course Canvas page.

Course Content and Goals

At the conclusion of this course students should be able to:

Course Schedule

A detailed schedule, including reading and homework assignments, is available on the course web page. That schedule will be updated throughout the semester and should be checked regularly.

Methods of Evaluation

Class time will be divided between lectures and hands-on work in the robotics laboratory.

The work for this course will fall into several categories:

Most laboratory and programming assignments will be completed in groups. Each group will submit a single solution and members of the group will receive the same grade.

Final course grades will be weighted as follows:

Labs and In-Class Activities 20%
Homework Assignments and
Programming Assignments
20%
Quizzes 5%
Final Project 15%
Paper Presentations 10%
Midterm Exam 15%
Final Exam 15%

Letter grades will be assigned on the scale A=90-100, B=80-89, C=70-79, D=60-69, F=0-59, with potential minor adjustments after considering the overall performance of the class and actual distribution of numeric scores. I will use "+" and "-" grades at my discretion. I do not assign WP or WF grades except under extraordinary circumstances.

Course Policies

Attendance and Participation

Attendance is required in order to receive credit for completing in-class activities, including lab assignments, except in the case of prearranged absences for sports, academic conferences, or other required university-related activities. Missing class for these reasons requires prior coordination with me.

Academic Integrity

Your work in this course must comply with the provisions of the JMU honor code: http://www.jmu.edu/honor/code.shtml. It is not a violation of the honor code to discuss assignments with other students at a conceptual level. However, all of the work that you submit must be written by you, based on your own understanding of the material. Representing someone else's work as your own, in any form, constitutes an honor code violation. It is also a violation of the honor code to "render unauthorized assistance to another student by knowingly permitting him or her to see or copy all or a portion of an examination or any work to be submitted for academic credit." In the context of this course, this portion of the Honor Code means:

A key component of academic integrity is giving credit where credit is due. If you receive assistance, either from another student, from an AI-tool, or from some other source, you must provide a clear and explicit acknowledgment of that assistance in your submission.

I will prosecute honor code violations if they come to my attention. If in doubt about what is allowed, ask me.

Missed and Late Assignment Policy

If you are unable to take an exam at the scheduled time because of illness or other problems, you must contact me beforehand to arrange to take the exam at a different time. Failure to make prior arrangements for a missed exam will result in a grade of 0 for the exam.

Homework assignments and projects may be submitted up to 48 hours late for a 25% penalty per 24-hour period.

Except under extraordinary circumstances, I will not provide extensions for illnesses, extracurricular obligations, etc. Instead, you will have two "late days" which may be applied to any homework assignment or lab (with possible exceptions for group assignments or assignments due at the end of the semester). The use of a late day allows you to extend the deadline for an assignment by 24 hours. You may apply both days to a single assignment or distribute them across multiple assignments. Late days may not be used to submit assignments more than 48 hours past the original deadline.

Adding/Dropping

Students are responsible for adding and dropping courses via MyMadison. Please consult the registrar's page of dates and deadlines for exact deadlines.

Disability Accommodations

If you need an accommodation based on the impact of a disability, you should contact the Office of Disability Services (Student Success Center, Room 1202, www.jmu.edu/ods, 540-568-6705) if you have not previously done so. Disability Services will provide you with an Access Plan Letter that will verify your need for services and make recommendations for accommodations to be used in the classroom. Once you have presented me with this letter, you and I will sit down and review the course requirements, your disability characteristics, and your requested accommodations to develop an individualized plan, appropriate for this course.

Inclement Weather Policy

This class will operate in accord with JMU's inclement weather policy available at http://www.jmu.edu/JMUpolicy/1309.shtml

Religious Observation Accommodations

I will give reasonable and appropriate accommodations to students requesting them on grounds of religious observation. If you require such accommodations you must notify me at least two weeks in advance.