Course Syllabus
Welcome!
What does this course offer you?
Algorithmic Foundations of Robotics explores the algorithms that help robots operate in the real world from autonomous cars to manipulators in factories. It covers a range of topics including forward/inverse kinematics, motion planning, simultaneous localization and mapping (SLAM), and optimal control. Students will learn about the algorithms and mathematical principles that enable robots to perceive, reason, and act in the world. By the end of the course, students will have an understanding of the fundamental concepts that drive robotic systems, and will be equipped with the skills to design and implement their own robotic algorithms.
Learning Objectives
- Identify fundamental abstractions used by mobile robots in the wild (localization, planning, control)
- Understand how the fundamental abstractions interact
- Analyze algorithmic trade-offs within each abstraction.
- Apply the above abstractions to enable a simulated mobile robot to navigate safely and efficiently, using Python and the Robot Operating System (ROS). Conduct principled robot experiments to diagnose and fix bugs across the mobile robot software stack.
Prerequisites
No robotics experience is assumed. Previous experience in robotics, filtering or controls will be helpful. The following skills are necessary for this class
- Data structure and algorithm analysis
- Programming. Python will be used primarily in this course, so experience with it is preferred.
- Math: Linear algebra, vector calculus, and probability.
How are you, exactly, going to achieve this?
We will have readings associated with most lectures. You should read this material and come prepared to class. We will have selected readings from Probabilistic Robotics and other books, see Course Resources.
Other readings will come from research papers or notes provided by the instructor.
Programming projects will provide you with an opportunity to implement algorithms studied in the course. You will implement these assignments independently to help improve your own skills in programming robotics algorithms. You make work with other students at the level of "whiteboard discussion" to help understand the assignments, but all work turned in must be your own. Please list any individuals you worked with on assignments and correctly cite any other resources used. You may not use AI tools such as, ChatGPT, Copilot, and other wiz bang models, to make or help you in solving the homework problems.
How will you (and the teaching staff) know if you are making progress in your learning?
The best way to understand your progress is to actively engage in class and work to answer questions yourself. Each class, you will be provided time to engage with the professor and your classmates to solve problems. If something isn't clear, then ask about it! If you are confused, then many others in the class likely are as well.
We will provide feedback on programming assignments quickly to aid in understanding. Office hours by the professor and TA also serve as a great time to go and get individual feedback on your progress if you are uncertain.
Course Time and Location
We will meet Tuesday and Thursday (unless stated otherwise on the calendar) from 9:10AM to 10:30AM Mountain Time.
Location: WEB L102
Teaching Staff, Helps Hours, & Contact
Students can meet with the teaching staff during the office hours listed below or by appointment.
Instructors:
Tucker Hermans; Tuesdays 10:45-11:55 or by appointment MEB 2164
Before sending a message to the teaching staff, please first look on the website for the information. If it is not found there or not clear, then think about asking a question on piazza. This will enable other students to get the same information and decrease the workload of both students and the teaching staff.
Also, please ask relevant questions in class!
If you think your question is better handled privately with the teaching staff, then please contact us using the piazza messaging system. Direct emails not through piazza will generally not be read or responded too. Additionally, you should by default include the instructor and TAs on the message to keep everyone on the same page and increase the timeliness of responses.
Grading
Grades will be assigned based on the scores received on programming projects comprising 40%, the final project 10%, the midterm and final exam comprise 45%, and the final 5% assigned to in class activities.
Final grades will be determined based on overall performance of students in the class. A minimum of 93% will guarantee an A, but this threshold may be moved to a lower value depending on overall performance on assignments.
Late Policy
Please let the teaching staff know as early as possible if you need an extension on any assignments to accommodate issues.
If you don't have extenuating circumstances you have a total of 3 extra days you can elect to use as you see fit to turn in assignments late (for example you could turn in assignments 1, 2, and 3 late by 1 day each or turn in assignment 3, 3 days late, etc). You need to notify in a comment on your submission if you are using one of your late days.
Any other late submissions will be discounted by 10% for being a day late up to a total of 30% off (i.e. at 3 days late). You have 3 days after the deadline to submit before the submissions close for good and you will receive a 0.
Regrade Requests
Any regrade requests must be submitted within 1 week of grades being released. We will not address regrade requests made at the end of the semester for assignments that did not have the grade released within the last week.
Mandatory Institutional Policies for Syllabi
Copy the text below and paste into your syllabus document.
Americans With Disabilities Act (ADA)
The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities.
All written information in this course can be made available in an alternative format with prior notification to the Center for Disability & Access (CDA). CDA will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations.
In compliance with ADA requirements, some students may need to record course content. Any recordings of course content are for personal use only, should not be shared, and should never be made publicly available. In addition, recordings must be destroyed at the conclusion of the course.
If you will need accommodations in this class, or for more information about what support they provide, contact:
Center for Disability & Access
801-581-5020
disability.utah.edu
Third Floor, Room 350
Student Services Building
201 S 1460 E
Salt Lake City, UT 84112
Safety at the U
The University of Utah values the safety of all campus community members. You will receive important emergency alerts and safety messages regarding campus safety via text message. For more safety information and to view available training resources, including helpful videos, visit safeu.utah.edu.
To report suspicious activity or to request a courtesy escort, contact:
Campus Police & Department of Public Safety
801-585-COPS (801-585-2677)
dps.utah.edu
1735 E. S. Campus Dr.
Salt Lake City, UT 84112
Addressing Sexual Misconduct
Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status, or genetic information.
If you or someone you know has been harassed or assaulted, you are encouraged to report it to university officials:
Title IX Coordinator & Office of Equal Opportunity and Affirmative Action
801-581-8365
oeo.utah.edu
135 Park Building
201 Presidents' Cir.
Salt Lake City, UT 84112
Office of the Dean of Students
801-581-7066
deanofstudents.utah.edu
270 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112
To file a police report, contact:
Campus Police & Department of Public Safety
801-585-COPS (801-585-2677)
dps.utah.edu
1735 E. S. Campus Dr.
Salt Lake City, UT 84112
If you do not feel comfortable reporting to authorities, the U's Victim-Survivor Advocates provide free, confidential, and trauma-informed support services to students, faculty, and staff who have experienced interpersonal violence.
To privately explore options and resources available to you with an advocate, contact:
Center for Campus Wellness
801-581-7776
wellness.utah.edu
350 Student Services Building
201 S. 1460 E.
Salt Lake City, UT 84112
Academic Misconduct
It is expected that students comply with University of Utah policies regarding academic honesty, including but not limited to refraining from cheating, plagiarizing, misrepresenting one’s work, and/or inappropriately collaborating. This includes the use of generative artificial intelligence (AI) tools without citation, documentation, or authorization. Students are expected to adhere to the prescribed professional and ethical standards of the profession/discipline for which they are preparing. Any student who engages in academic dishonesty or who violates the professional and ethical standards for their profession/discipline may be subject to academic sanctions as per the University of Utah’s Student Code: Policy 6-410: Student Academic Performance, Academic Conduct, and Professional and Ethical Conduct.
Plagiarism and cheating are serious offenses and may be punished by failure on an individual assignment, and/or failure in the course. Academic misconduct, according to the University of Utah Student Code:
“...Includes, but is not limited to, cheating, misrepresenting one’s work, inappropriately collaborating, plagiarism, and fabrication or falsification of information…It also includes facilitating academic misconduct by intentionally helping or attempting to help another to commit an act of academic misconduct.”
For details on plagiarism and other important course conduct issues, see the U's Code of Student Rights and Responsibilities.
Course Summary:
| Date | Details | Due |
|---|---|---|