Policies
Table of contents
Presentation of Course Material
Overview
This course will be taught in a seminar style, with lectures, homeworks, labs, 2 midterms, and a final project. All submissions will go through Gradescope (Course Entry Code: 8KXNVR). An Ed page has been created for students to discuss homeworks and projects.
Each week, you are expected to attend 3 hours of lecture, 3 hours of lab section, and 1 hour of discussion. All of these and office hours will be hosted in-person. There are weekly homework problem sets. You are expected to work on final projects during your own time. A booking system will be instituted to reserve robots, and lab TAs will be availble to address any questions during their office hours. Lecture and discussion sections will be recorded and posted, so you may attend these asynchronously. However, due to the hands-on nature of lab sections, they will not be offered asynchronously, and you are expected to attend your assigned lab every week.
Lectures
Lecture attendance is not mandatory, but we highly recommend attending live if possible to ask questions and engage fully with the material. Lectures will be held on Tuesdays and Thursdays, 2:00 - 3:30pm, in Dwinelle 145. They will be recorded and posted for students who cannot attend live.
Discussions
Discussion sections will be held on Thursday 5:00pm - 6:00pm (Cory 293), Friday 12:00noon - 1:00pm (Etcheverry 1165), Friday 3:00 - 4:00pm (Cory 293), and Friday 4:00 - 5:00pm (Cory 293). They will have a review of important topics and go over practice problems related to the material to supplement lecture content. Attendance is recommended but not mandatory. If a particular section has very little attendance, it may be cut from the schedule.
Because discussion section is recorded, please note that if you ask a question, you will be recorded as well.
Homeworks
Homeworks will be collected and graded using Gradescope. Create an account on gradescope.com with your Berkeley email account and SID. Add this course with the code 8KXNVR.
There will be a total of 10 homeworks, due weekly through mid-November (with the exception of midterm weeks). Homework will be released in the evening each Wednesday, starting August 28 (the first day of class). You will have until 11:59pm the following Tuesday to complete each assignment.
Assignment | Assigned @5pm | Due @11:59pm |
HW 0: Linear Algebra Review | 08/28 | 09/03 |
HW 1: Rotations and Reference Frames | 09/04 | 09/10 |
HW 2: Exponential Coordinates | 09/11 | 09/17 |
HW 3: Forward Kinematics | 09/18 | 09/24 |
HW 4: Inverse Kinematics | 09/25 | 10/01 |
HW 5: Vision | 10/09 | 10/15 |
HW 6: Velocities | 10/16 | 10/22 |
HW 7: Jacobians and Singularities | 10/23 | 10/29 |
HW 8: Dynamics | 10/30 | 11/06 |
HW 9: Control | 11/06 | 11/13 |
Each student is allocated 5 total days of extension (also known as slip days), to be used on any homework assignment with no loss of points. To allow for homework solutions to be released in a timely manner, no more than 2 extension days may be used on a single assignment. After using all extension days, homeworks will not receive credit. Note: Homework will not be accepted more than two days past the due date, barring extenuating circumstances. Also, homeworks prior to the midterm will not be allowed slip days because we want to release solutions for you to study.
We are instituting an 80% threshold for homework to alleviate stress! Any score equal to or above 80% on an assignment will be calculated as a 100%. If you receive a grade below 80%, it will be divided by 0.8 (so a 50% becomes a 62.5%).
Collaboration on homework sets is encouraged, but all students must write up their own solution set. Additionally, every student is accountable for the solutions they submit and may be asked to discuss them with a GSI or instructor. Please list all collaborators at the top of each submitted homework set.
We will hold weekly homework parties! They will be held each Friday 5:00pm - 7:00pm. They will be staffed by TAs to help students working through the homework. These hours are dedicated to homework only.
Additionally, you will receive one homework drop if you complete both post-midterm surveys.
Labs
Labs must be done in person to receive full credit. Students will be working with hardware in the labs.
Lab sections will meet each week beginning the first full week of classes (starting 8/28) and will run through the week of November 11. You will complete each lab with one partner; no groups of three will be allowed. In lieu of formal reports, labs are completed by discussing your system with and demonstrating its functionality to your lab GSI during various “check-offs” specified in each lab description. Note that all students who are being checked off must be present at the time of the check-off, in the interest of making sure everyone can fully explain the code and system functionality.
Labs may be worked on outside of class hours. Additionally, labs may be checked off at the office hours of any Lab TA, or you may request to attend a different lab section for the check-off by asking a GSI. Note that many of the labs in this class are full, and you will not be allowed to attend them.
Labs should ideally be completed by the end of your assigned lab section and are scoped such that this should be feasible. We recognize, however, that due to different levels of previous experience with the material this will not always be possible. In order to accommodate this variation while ensuring that students do not fall behind, we have developed the following (admittedly complex) policies:
- Labs 1-2 are a serial introduction to ROS and the other tools used in this class. They must therefore be completed by the start of your assigned lab section the following week.
- Labs 3-8 occur in Modules of two labs each (3 & 4, 5 & 6, 7 & 8); each Module is dependent on the previous Module, but labs within each Module are not dependent on each other. Modules are 3 weeks long.
- At the start of each Module, both labs will be released. Half of the students in each section will work on the even numbered lab, while the other half will work on the odd numbered lab during the first week. The groups will switch during the second week. The third and final week of the Module is a buffer week, intended to be used if you were unable to complete the lab(s) during this module.
- You will receive full credit for any check-offs during the buffer week for any labs in the current module. Both labs from the module are due at the start of your lab section the week after your buffer week (ie: the start of the lab when you begin a new Module).
The start of your lab section is a hard cutoff — that is, if an assignment is due at the start of lab section, you may not check off that assignment at the start of class for full credit; it must be checked off beforehand. This policy is in place because many of the labs fully fill the allotted time, and we want to keep everyone on schedule.
If you miss the checkoff deadline for a lab, you will have one week after the due date to receive 50% credit.
Please note that the lab is closed during our lecture time (T/R 2-3:30pm) for maintenance from ESG/ISG.
We understand that these policies are a bit nuanced, and if you have questions, please ask us! We’ve done our best to create a policy that allows for flexibility while encouraging people to stay on schedule and maintaining fairness; to do so, we’ve sacrificed simplicity.
Please do not make your lab respositories public, even after you finish the course. We’re doing our best to uphold academic honesty!
Midterms
There will be two midterms covering the course material, on Thursday, October 3, and Thursday, November 21. The midterms will be held in person during class time. Students will be allowed a cheat sheet.
Bridge Section
We will be hosting Bridge Section on Thursdays 6:00pm - 8:00pm, location forthcoming. This section is dedicated to providing a safe space for students who feel as though they are falling behind in the course. Bridge section will lag one week behind the lecture pace so students have time to formulate questions and ask them. Each week, a poll will be released to ask students what topics they would like to be covered in a “mini-lecture” at the start of Bridge section. After the mini-lecture, students will have the opportunity to work on additional problems and ask more questions.
This section is NOT intended to be used as a review session.
Final Project
The final project is a major part of your grade for this course and must include sensing, planning, and actuation components on real hardware. Project deliverables include a proposal, a video, a live demo, a final report, and several intermediate check-ins. Further information will be forthcoming. Due to the types of deliverables involved (e.g., live demonstrations), extension days may not be used on project deliverables, and late work will not be accepted.
All students must complete a final project. Failure to complete a final project will result in a failing grade.
Assignment | Due Date |
Final Project Released | 10/04 |
Final Proposal | 10/18 |
Proposal Feedback | Week of 10/21 |
Check-In 1 | 11/16 |
Check-In 2 | 12/04 |
Presentation Demo Day | 12/12 & 12/13 |
Website Due | 12/20 |
Office Hours
The instructors will hold weekly office hours to discuss lecture content, homework assignments, projects, and other course material. We will try our best to schedule them so that each student has the opportunity to attend at least one office hour each week. When discussing a current homework assignment, instructors will not provide solutions. Rather, we will be happy to help clarify fundamentals and to guide students’ reasoning in related problems.
Please utilize the Edstem for this class. We cannot guarantee response time from instructors (although it should be within a day or two), but we highly recommend helping your classmates out as you can!
Questions regarding homeworks, exams, lectures, and discussions should be directed to the professors or a Content TA. Questions regarding labs should be directed to a Lab TA. Questions regarding course logistics should be directed to Tarun. You can check the Staff page to see who can best respond to your question. When emailing us, please prefix the subject line with [EECS C106A].
Grading
Grade Breakdown
Homeworks | 20% |
Labs | 20% |
Midterms | 30% |
Final Project | 30% |
Regrade Requests
If you feel that your work has been graded unfairly, you may request a regrade by submitting a request on Gradescope with a written statement explaining the mistake. Be aware that points may be deducted as well as added if a regrade is requested. The deadline for requests will be announced when grades are released.
Effort, Participation, and Altruism (EPA) Points
We want to reward you for engaging respectfully with the course! You are eligible to earn up to 2% extra credit via Effort, Participation, Altruism (EPA) points. These points can be earned in a variety of ways:
- Attending lecture and discussion
- Asking questions in class
- Helping others in lab section
- Answering questions on Ed
- Coming to Office Hours and Homework Party
Please remember to treat your peers (and hopefully your instructors!) with kindness and respect.
A Note on Late Work
While we will abide by the policies listed above regarding specific assignment types, we understand that unforeseen circumstances do happen. If you feel that you will not be able to complete an assignment on time under the policies listed above due to truly extenuating circumstances, please inform a course instructor as soon as possible and before the associated deadline to discuss your situation. Once the deadline has passed, accommodations are unlikely.
Miscellaneous Information
Disability Accommodations & Emergencies
If you need disability-related accommodations in this class, if you have emergency medical information you wish to share with us, or if you need special arrangements in case the building must be evacuated, please inform us immediately. Please see the professor or Tarun privately after class, or send us an email.
Collaboration Policy
Students are allowed—and in fact, encouraged—to collaborate on how to approach problems. This can include talking through approaches and whiteboarding together. However, each student is responsible for writing their own responses, both for typical written questions and coding assignments. Students should never be in possession of another student’s code.
Online material is also open to use. However, it must not be copied directly, and any references should be credited in your work. Using previous years’ solutions from 106A/206A or any other class constitutes plagiarism and will be punished accordingly.
When debugging, students are encouraged to come to office hours for assistance. If debugging with peers, we encourage you to do this in person with others in small groups. However, we understand that this is not always possible, so screen sharing code for debugging assistance is permissible. When debugging, please do so in pairs or very small groups, and always do so in controlled settings to minimize sharing answers.
Students should never screenshare their code or answers directly on public platforms like non-private posts on Ed, the class Discord, or Zoom rooms. Please note that screen sharing on Discord can be viewed even without directly joining the call, so there can be no record of who is viewing your stream at any time. ALWAYS list collaborators.
tl;dr: Work together on approach, but write your own answers. If you need direct help debugging, ask a TA for help, or do so in controlled environments where the only people who see your code are your approach collaborators. ALWAYS list collaborators and cite sources on your submissions.
AI Guidelines
As we navigate an ever-changing landscape with AI, we wanted to provide some guidelines for acceptable and unacceptable uses of AI in the course. We provide these guidelines with the note that we warn against an overreliance on these kinds of tools that might preclude you from developing a strong grasp on/intuition about the course material. We strongly remind you that these tools are meant to assist your learning process, not to replace your learning.
Labs and Project We permit the use of tools like GitHub Copilot to assist you in writing code for labs and projects for students who are still getting used to Python and are struggling to remember the syntax. We encourage those of you new to ROS to avoid using Copilot in the first few labs to get familiar with ROS before relying on Copilot to help you with ROS-specific lines of code. Please note that you may still be asked to write snippets of Python for the midterm exam, and your understanding of ROS will also be evaluated on exams.
Homeworks We do not permit using AI to directly answer homework questions. However, you may find it beneficial to “bounce ideas” or ask auxillary questions to help frame a problem. For example, you might ask ChatGPT when you use the spatial velocity vs the body velocity or what benefits there are the quaternion representation. We encourage you to utilize the resources we provide to you (eg: lecture, office hours, homework party, discussion/Bridge section). There are, of course, the usual disclaimers of potentially receiving incorrect information.
Midterms No use of AI is permitted for midterm exams.
We again urge you to use these tools to assist your learning in whatever ways work for you. Leaning too heavily on these kinds of tools can detract from your learning. Weak grasp of the material will be represented in project and midterm scores, which are the primary source of spread in grades for the course.
Advice
The following tips are offered based on our experience.
Do the homeworks! The homeworks are explicitly designed to help you to learn the material as you go along. Although the numerical weight of the homeworks is not huge, there is usually a strong correlation between homework scores and final grades in the class.
Keep up with lectures! Discussion sections, labs and homeworks all touch on portions of what we discuss in lecture. Students do much better if they stay on track with the course. That will also help you keep the pace with your homework and study group.
Take part in discussion sections! Discussion sections are not auxiliary lectures. They are an opportunity for interactive learning. The success of a discussion section depends largely on the willingness of students to participate actively in it. As with office hours, the better prepared you are for the discussion, the more you are likely to benefit from it.
Come to office hours and homework party! We love to talk to you and do a deep dive to help you understand the material better.
Form study groups! As stated above, you are encouraged to form small groups (two to four people) to work together on homeworks and on understanding the class material on a regular basis. In addition to being fun, this can save you a lot of time by generating ideas quickly and preventing you from getting hung up on some point or other. Of course, it is your responsibility to ensure that you contribute actively to the group; passive listening will likely not help you much. Also recall the caveat above, that you must write up your solutions on your own. We strongly advise you to spend some time on your own thinking about each problem before you meet with your study partners; this way, you will be in a position to compare ideas with your partners, and it will get you in practice for the exams. Make sure you work through all problems yourself, and that your final write-up is your own. Some groups try to split up the problems (“you do Problem 1, I’ll do Problem 2, then we’ll swap notes”); not only is this a punishable violation of our collaboration policies, it also ensures you will learn a lot less from this course.
A Final Note
We understand that there is a lot happening, and every semester will have its unique challenges. We are here to support you throughout the semester, both as students and as people. Life happens, and we want to make sure you are always receiving a quality education. Please communicate with us if you are experiencing extenuating circumstances and need extra support. We’re here for you.