Syllabus

ROB 102, Fall 2024 at The University of Michigan

Table of contents

  1. Degree Program Credit
  2. Learning Objectives & Course Pathways
  3. Prerequisites
  4. Course Meetings: Flipped Classroom
  5. Textbook
  6. Projects & Grading
    1. Grading Breakdown
    2. Final Grading Deadline
    3. Projects
    4. Lecture Review Questions
    5. Late and Regrading Policy
  7. Collaboration Policy
  8. Student Wellness & Equal Opportunity
    1. Commitment to equal opportunity
    2. Accommodations for Students with Disabilities
    3. Student mental health and well-being

Degree Program Credit

Completing Robotics 102 will fulfill

  • the prerequisite for EECS 280

  • the Engineering First Year Core Requirement for introductory programming for AERO, BME, CS-Engin, CS-LSA, NAME, and ROB. Programs for other majors can be requested to count Robotics 102 for introductory programming. Completion of ENGR 161 may be additionally needed for majors that require proficiency in MATLAB.


Learning Objectives & Course Pathways

Robotics 102 is a robotics-friendly pathway into the computing disciplines and engineering more broadly.

Robotics 102 is about learning computer programming for the C++ and Python languages in a way that builds understanding of artificial intelligence and its algorithmic foundations. The course uses the application of autonomous robot navigation for students to think through problems computationally as graphs and graph algorithms. Similar in aims to Engineering 101, Robotics 102 prepares students for further courses in computer science, such as Data Structures (EECS 280), and the use of computing across engineering disciplines. This course also provides introductory coverage of topics in artificial intelligence such that students understand the general approaches to AI by putting them into practice on real robots. In complement with linear algebra courses, this introductory course builds into further study of Robotics and AI by undergraduates, including those for mobile robotics, robot perception, large language models, autonomous robotics, diffusion models, computer vision, and machine learning.


Prerequisites

Robotics 102 has no prerequisite courses. Students are expected to be fluent in algebra and willing to think algorithmically.


Course Meetings: Flipped Classroom

Robotics 102 is taught using a flipped classroom hybrid format. The majority of the lectures will be pre-recorded and available online through this course website. Robotics 102 this semester uses PrairieLearn for disseminating lecture video and lecture review questions. In-person lab sections will be dedicated to topics for course projects, primarily for coding and testing with robots, as well as quizzes and question-and-answer discussions. Students seeking help with coursework during office hours must watch all lectures that have been assigned up to the current date. There will also be occasional field trips to see interesting robots, based their availability. Everyone in Robotics 102 must comply with the public health policies of the University of Michigan.


Textbook

Similar to Engineering 101, all technical information that you need for Robotics 102 will be presented in lectures and lab. However, if you’d like to look at a more traditional textbook, one option is the Bielajew C++ Book used as an optional reference by Engineering 101. Be aware that this textbook does NOT provide a one-to-one correlation to how C++ is taught in this course. So, use this as a resource only.


Projects & Grading

Grading for Robotics 102 consists 5 programming projects, 5 quizzes, lecture review questions, and student participation. Individual final grades are assigned based on the sum of points earned from coursework (detailed in subsections below). The timing and due dates for course projects and activities will be announced on an ongoing basis on the course schedule. The official due date of a project is listed with its project description. Due dates listed in the course schedule are tentative and subject to change. All coursework must be checked by the final grading deadline (December 12, 2024) to receive credit.

Grading Breakdown

Each fully completed project is weighted as 15 points. An overall percentage score from across the semester will be used for quizzes (20 points overall) and lecture review questions (10 points overall). Student participation (5 points overall) will be assessed by the course staff through the engagement, collaboration, professionalism, attendance, and coding style demonstrated by a student during the class. The following table provides this point breakdown for Robotics 102 and its total of 110 points.

Description Points
Projects 75
- Project 0: 15 points  
- Project 1: 15 points  
- Project 2: 15 points  
- Project 3: 15 points  
- Project 4: 15 points  
Quizzes (5 x 4 points each) 20
Lecture Review Questions 10
Participation 5

Based on this sum of points from coursework, an overall grade for the course is earned as follows:

Grade Points Earned Conditions
A 100 Full completion of Project 4 and on-time completion of Project 3
A- 95 Full completion of Parts 1 and 2 of Project 4 and on-time completion of Project 3
B+ 90  
B 85  
B- 80  
C+ 75  
C 70  
C- 60  

Final Grading Deadline

All grading will be finalized for course work submitted on or before December 12, 2024. Regrading of specific assignments can be done upon request during office hours. No regrading will be done after grades are finalized.

Projects

Each project has been decomposed into a collection of features, each of which is worth a specified number of points. Robotics 102 project features are graded as “checked” (completed) or “due” (incomplete). Prior to its due date, the grading status of each feature will be in the “pending” state. Project starter code will be disseminated directly from the course website. For projects 1 - 4 it is recommended that students use Git repositories hosted on GitHub for transferring code between the laptop and the robot, collaborating with partners, and version control. Time in lab with course staff will be available for providing instruction and assistance with this process. Project features will be evalulated by a combination of automated unit testing via autograder.io and manual inspection of student demonstrated robot behavior by the course staff.

We expect students to use git repositories for collaborative development. It is the responsibility of each student group to ensure their repository adheres to the Collaboration Policy and submission standards for each assignment. Submission standards and examples will be described for each assignment as needed.

IMPORTANT: Do not modify the directory structure in the template code. Repositories that do not follow the directory structure will not be graded.

Lecture Review Questions

Each flipped classroom lecture will have questions review questions to answer. These lecture review questions serve as pre-class preparation for an upcoming class meeting. Completion of these lecture review questions is due by the start of the class meeting. For lecture review questions assigned for a class meeting, the percentage of the credit granted depends the correctness of the responses to the questions and the time of submission:

  • Full credit: submission prior to the start of the class period
  • 80%: submission prior to 11:59pm of the day of the class period
  • 60%: submission prior to due date of the project module associated with the lecture
  • 50%: submission prior to the final grading deadline for the semester

Late and Regrading Policy

Robotics 102 strives towards a balance between growth mindset for student learning and the practical necessity for timely completion of coursework. As such, Robotics 102 focuses on student learning of course concepts and skills. The Robotics 102 late and regrading policy allows for students to continue to work on projects past due dates for increasingly discounted credit.

Late completition of projects can earn partial credit based on the following discounting schedule:

  • Completition within one week past the project deadline will be discounted to 90% of full credit.
  • Completition within two weeks past the project deadline will be discounted to 80% of full credit.
  • Completition within four weeks past the project deadline will be discounted to 70% of full credit.
  • Completition by the course final grading deadline will be discounted to 60% of full credit.

As a reminder, the course instructor reserves the right to decline late submissions and/or adjust partial credit on regraded assignments.


Collaboration Policy

This collaboration policy covers all course material and assignments unless otherwise stated. All submitted assignments for this course must adhere to the Michigan Honor License (the 3-Clause BSD License plus an attribution clause and an academic integrity clause).

All students are responsible for their own individual work, even work done in collaboration within a group.

Course material, concepts, and documentation may be discussed with anyone. Discussion during quizzes or examinations is not allowed with anyone other than a member of the course staff. Assignments may be discussed with the other students at the conceptual level. Discussions may make use of a whiteboard or paper. Discussions with others (or people outside of your assigned project group) cannot include writing or debugging code on a computer or collaborative analysis of source code. You may take notes away from these discussions, provided these notes do not include any source code.

The code for your implementation may not be shown to anyone outside of your assigned project group, including granting access to repositories or careless lack of protection. For example, you do not need to hide the screen of your computer from anyone, but you should not attempt to show anyone your code. When you are done using any robot device such that another group may use it, you must remove all code you have put onto the device. You may not share your code with others outside of your group. At any time, you may show others the implemented program running on a device or simulator, but you may not discuss specific debugging details about your code while doing so.

This policy applies to collaboration during the current semester and any past or future instantiations of this course. Although course concepts are intended for general use, your implementation for this course must remain private after the completion of the course. It is expressly prohibited to share any code previously written and graded for this course with students currently enrolled in this course. Similarly, it is expressly prohibited for any students currently enrolled in this course to refer to any code previously written and graded for this course.

IMPORTANT: To acknowledge compliance with this collaboration policy, you will be asked to type out the following text before each submission to the autograder. This is your attestation of your compliance with the Michigan Honor License and the Michigan Honor Code statement:

“I have neither given nor received unauthorized aid on this course project implementation, nor have I concealed any violations of the Honor Code.”

This attestation of the honor code will be considered updated with the current date and time of each submission to the autograder. You will not be able to submit code without making this claim.

Should you fail to abide by this collaboration policy, you will receive no credit for this course. The University of Michigan reserves the right to pursue any means necessary to ensure compliance. This includes, but is not limited to prosecution through The College of Engineering Honor Council, which can result in your suspension or expulsion from the University of Michigan. Please refer to the Engineering Honor Council for additional information.


Student Wellness & Equal Opportunity

Commitment to equal opportunity

We ask that all students treat each other with respect. As indicated in the General Standards of Conduct for Engineering Students, this course is committed to a policy of equal opportunity for all persons and does not discriminate on the basis of race, color, national origin, age, marital status, sex, sexual orientation, gender identity, gender expression, disability, religion, height, weight, or veteran status. Please feel free to contact the course staff with any problem, concern, or suggestion. The University of Michigan Statement of Student Rights and Responsibilities provides greater detail about expected behavior and conflict resolution in our community of scholarship.

Accommodations for Students with Disabilities

If you believe an accommodation is needed for a disability, please let the course instructor know at your earliest convenience. Some aspects of this course, including the assignments, the in-class activities, and the way the course is usually taught, may be modified to facilitate your participation and progress. As soon as you make us aware of your needs, the course staff can work with the Services for Students with Disabilities (SSD, 734-763-3000) office to help us determine appropriate academic accommodations. SSD typically recommends accommodations through a Verified Individualized Services and Accommodations (VISA) form. Any information you provide is private and confidential and will be treated as such. For special accommodations for any academic evaluation (exam, quiz, project), the course staff will need to receive the necessary paperwork issued from the SSD office by the Add/Drop deadline, September 19, 2022.

Student mental health and well-being

The University of Michigan is committed to advancing the mental health and well-being of its students. If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available. For help, please contact one of the many resources offered by the University that are committed to helping students through challenging situations, including:

These resources provide assistance with various challenges that students may face during their academic journey.