18-642 Project 3

Updated 8/15/2022. Changelog

Learning objective: experience cleaning up code to conform to an externally imposed prescriptive coding style (a common industry objective).

This project takes your code from Project 2 and asks you to take concrete steps to clean it up. We ask you to follow a checklist, and to compare the changes you make in project 3 to the ones you made in project 2.


Lab Files:


Hints/Helpful Links:


Procedure:

  1. Ensure that your ANDREWID_student_turtle.cpp in ~/catkin_ws/src/ece642rtle/student is a working version (solves the maze using either the left-hand rule or right-hand rule based on how you did on Project 2. Revert to a working version using the source control you set up, if need be. If you have to start with the initial code from Project 2 that's OK.
  2. Download and print out a physical version of the Code style checklist (It's only one page.)
  3. Go through the checklist and make changes to your code. Check the checkbox after you make the change. You can do this in any order you like, but before you check a box make sure that you've looked at all the code for compliance with that checkbox.
  4. You are graded primarily on code style for this project (not on how your turtle behaves at runtime). However, in future projects, you will be asked to make sure that your turtle obeys the following rules. Deviate at your own risk -- you'll have to clean up any messes before the end of the course! If you change the functionality of your code, please keep these rules in mind (by 'Tick', we mean one call to studentMoveTurtle, or, in future projects, moveTurtle, which is one time tick in the turtle+maze simulation):
  5. Build and run your turtle using ./build_run_turtle.sh in the ~/catkin_ws/src/ece642rtle directory.
  6. In a text document, answer the following questions: (Generate text however is convenient and legible; hand-in will be Acrobat)

Handin checklist

  1. A scan or photo (pdf preferred even if it is a converted photo; jpg and png accepted) of your completed checklist. Call this file p03_checklist_[FAMILYNAME]_[GivenName_[AndrewID]].___
  2. Your modified student_turtle.cpp file. Call this file p03_ANDREWID_student_turtle.cpp.
  3. Your answers to the questions. Call this file p03_questions_[FAMILYNAME]_[GivenName]_[AndrewID].pdf

Zip these three files and turn them in on Canvas as P03_[FAMILY NAME]_[Given name]_[Andrew ID].zip

Other requirements:

Please do NOT put these files inside a subdirectory. When unzipped they should not have any directory associated with the file name, and should just unzip into the current directory. (The file name convention will retain whose work it is.)

The rubric for the project is found here. BE SURE to use the rubric to understand what is expected on this hand-in; there are many moving parts in this assignment!


Changelog: