Syllabus

Instructor


Sarah Sebo
Sarah Sebo (she/her/hers)
You can call me by my first name.
sarahsebo@uchicago.edu
personal website

TAs


Tewodros Ayalew
Tewodros (Teddy) Ayalew (he/him/his)
tewodrosayalew@uchicago.edu

Timmy Lin
Ting-Han (Timmy) Lin (he/him/his)
tinghan@uchicago.edu

Danny Lingen
Danny Lingen (he/him/his)
dlingen@uchicago.edu

Class Meetings


Regular Class Time: Tuesdays and Thursdays, 2:00pm - 3:20pm CST in JCL 011

Lab Time:

Course Resources


Course Description


This course gives students a hands-on introduction to robot programming covering topics including sensing in real-world environments, sensory-motor control, state estimation, localization, forward/inverse kinematics, vision, and reinforcement learning. This course will be centered around 3 mini projects exploring central concepts to robot programming and 1 final project whose topic is chosen by the students. Each of these mini projects will involve students programming real, physical robots interacting with the real world. The use of physical robots and real-world environments is essential in order for students to 1) see the result of their programs ‘come to life’ in a physical environment and 2) gain experience facing and overcoming the challenges of programming robots (e.g., sensor noise, edge cases due to environment variability, physical constraints of the robot and environment).

Learning Objectives


  1. You will be exposed to many of the core topics in robotics (sensing in real-world environments, sensory-motor control, state estimation, localization, forward/inverse kinematics, vision, learning). You will engage with these topics in class meetings and through the mini projects.
  2. You will gain experience programming real, physical robots in real-world environments using the Robot Operating System (ROS) both during class and for the mini projects.
  3. You will explore a topic within robotics that is of interest to you (and your teammates) through an open-ended final course project.
  4. You will grow your teaming skills by working on projects and class activities in small collaborative groups.

Course Communication


Grading


The grading in this course is based on performance in the four class projects and participation in the course meetings and labs. This course is NOT graded on a curve.

Project Grading

You can find details about how the specific components of each project will be assessed on the individual web pages for each project.

All of the collaborative projects (the particle filter localization project, the Q-learning project, and the final project) have a portion of the project's grade derived from an Individual Contribution and Teaming assessment. This will be determined through your responses to the partner contributions survey.

Class & Lab Participation

Class meetings and lab sessions will involve many hands-on activities, discussions, and project work time. You are expected to come to every class meeting prepared (having completed all of the before class deliverables, see the schedule page) and ready to engage. You are also expected to complete all in-class activities and lab assignments. You will receive full marks for your participation grade if you attend at least 95% of our course meetings (class meetings + lab sessions). Of course if you are unable to attend class for an excused absence (sickness, conference travel for PhD students, etc.), please reach out to the course staff to let us know, these excused absences will not count against your participation grade.

Students will be considered as late if they arrive to class or lab more than 10 minutes after the class/lab starts. Three late arrivals will be considered the same as one class/lab absence.

Flexibility

The course grading is flexible to the following exceptions without penalty:

Beyond these exceptions, if your circumstances require additional flexibility, please reach out to me.

Late Assignments

A late assignment is one that does not provide the requested deliverable in the requested format by the stated deadline. Late assignments will be docked 10% of the total grade for each 24 hour period, up to 3 days, that they are late. After three days, the assignment will receive a zero.

The only exceptions to this policy are listed in the 'Flexibility' section above and in case of emergency. If you experience an emergency, please take care of the situation at hand, and afterwards please reach out to me so that we can discuss a best path forward.

Policies


Academic Integrity

In this course, we abide by the University of Chicago’s Policy on Academic Honesty and Plagiarism. If you violate this policy (depending on the severity of the offense) you risk being dismissed from this course. All cases will be referred to the Dean of Students office, which may impose further penalties, including suspension and expulsion. If you have any questions about whether an activity or written work would constitute cheating or plagiarizing, please ask.

With respect to this course, I expect that you will not copy anyone else's code (either within the class or from sources online). For the assignments that are to be completed in pairs or in small teams, you may of course look at your team members' code and help each other develop your programs. For communications with others in the course, excluding team members for assignments, I expect you to refrain from looking at one another's code. If you do seek help from your peers, I suggest discussing your issues more generally, posting questions on Slack, or reach out to the teaching team.

Academic Integrity Regarding the Use of Large Language Models (LLMs), E.g., ChatGPT

With regard to the use of large language models (LLMs), such as ChatGPT, in this course, we encourage and allow the use of LLMs as a reference (similar to Google or StackOverflow) and to edit/improve your English writing. However, we do not allow the use of LLMs (including GitHub Copilot) to generate code, comments for your code, or English content for your write-ups. To provide you with some examples and guidelines:

Course Staff Code of Conduct

Course staff in this class are required to abide by this Course Staff Code of Conduct. We’ve written this code of conduct not because we expect bad behavior from our staff, but because we believe a clear code of conduct is an important piece in creating inclusive spaces, particularly in CS. We share this code of conduct with you (the students) so you know the expectations we have set for our staff and, while we expect and hope they will scrupulously follow this code of conduct, you should let us know if you witness or experience a code of conduct violation. This will allow us to continue to improve the student experience in this class, and to prevent any issues from reocurring.

Please report any code of conduct violations to Sarah Sebo, via e-mail (sarahsebo@uchicago.edu). If you would prefer to speak with someone who is not affiliated with this class, please contact Ravi Chugh (rchugh@cs.uchicago.edu), Director of Undergraduate Studies. All reports that do not involve sexual misconduct will be treated confidentially, and your identity will not be shared with any of the involved parties. If you share a report of sexual misconduct that are subject to Title IX with either course staff or the Director of Undergraduate studies, we will report the incident with the UChicago Title IX Coordinator (since we are mandatory reporters), beyond which we will treat the report confidentially.

Diversity, Equity, and Inclusion

I stand with the University of Chicago in my dedication to "creating an environment where people of different backgrounds feel valued and where their ideas and contributions can flourish" (see UChicago’s Diversity Commitment Statement). I strive to make this classroom environment one where the diverse backgrounds and perspectives of each individual are valued and included for the benefit of us all, including gender identity, sexuality, disability, generational status, socioeconomic status, ethnicity, race, religion, national origin, and culture. I expect that all class related interactions will be conducted with mutual respect, open communication, and non-discrimination. If you have any suggestions for how we can better promote an inclusive and open environment, please reach out to me.

Accommodation

The University of Chicago and I are committed to ensuring equitable access to academic programs and services. Students with disabilities who have been approved for the use of academic accommodations by Student Disability Services (SDS) and need a reasonable accommodation(s) to participate fully in this course should follow the procedures established by SDS for using accommodations. If you have a disability accommodation, please provide me with a copy of your accommodation determination letter from Student Disability Services as soon as possible. I'm also more than happy to meet with you to discuss any of your access needs for this course after you have completed the SDS procedures for requesting accommodations.

Sexual Misconduct

The University of Chicago is "committed to taking necessary action to stop, prevent, and remedy instances of sexual misconduct" (see the University of Chicago’s website for the Office for Sexual Misconduct Prevention and Support). Title IX prohibits discrimination on the basis of sex, including sexual assault, sexual abuse, sexual harassment, dating violence, domestic violence, and stalking. Sexual misconduct is unacceptable at the University of Chicago, including any interactions that occur related to this course.

If you would like to speak confidentially about an incident of sexual misconduct, want more information about filing a report, or have questions about school policies and procedures, please contact our Title IX Coordinator. In certain situations, the University may have an institutional obligation to respond to a report of sexual misconduct. Additionally, as a faculty member, I am required by Title IX and the University of Chicago to report incidents of sexual misconduct, even if I am requested to keep the information confidential.

Wellness

As you pursue your education, your health and overall wellbeing is extremely important. Do your best to maintain a healthy lifestyle this quarter by eating well, exercising, getting enough sleep, and taking time to relax. Despite our best efforts, all of us benefit from support at times. Asking for support when a problem is small can help keep it from growing larger, but there is no wrong time to ask for help. If you or someone you know could benefit from mental health services, I strongly recommend that you reach out to UChicago Student Wellness, whose services do not come at any additional cost to students. Additionally, If a personal emergency arises that may impact your work in this course, please alert me so that the appropriate arrangements can be made.

Acknowledgments


This course would not be what it is today without the help of Colin Hudler of UChicago CS Techstaff, who has enabled students to set up environments on their computer or in CSIL for programming the turtlebots, as well as Jason Lin and Stephanie Kim, UChicago students who helped to assemble the turtlebots and update the curriculum from simulated turtlebots to physical turtlebots. The design and implementation of this course was greatly shaped by Paul Ruvolo and his A Computational Introduction to Robotics course taught at Olin College of Engineering (where I did my undergrad). The policies outlined in this syllabus was informed and adapted from those of Henny Admoni, Ravi Chugh, Blase Ur, and Marshini Chetty.