Week 8
Week 8
Due Dates & Links
- Quiz 8 - Due 11:59am (just before noon) Wednesday November 16, 2022
- Lab 8 Code Review Submission - Due 10pm Friday November 18, 2022
Lecture Materials
Notes from class
Links to Podcast
Note: Links will require you to log in as a UCSD student
Lab Tasks
In this week’s lab you’ll practice remote collaboration via code review. In-person attendance is not required. You’ll get participation credit by completing a more detailed Gradescope assignment where you give feedback on one of your classmates’ repositories from lab 7.
Some staff will be available during lab times to help if you have questions. You can treat this help time as open office hours and ask about anything, whether about this lab, completing the next lab report, practicing a skill demo redo, or other past work.
A common task in programming is code review, where you review someone’s solution to a problem and try to identify improvements. Code review has another role in team-based software projects, which is to share knowledge about code between members of the team who may be working semi-independently. This makes code review a great task for us in class, as both you and the student whose code you’re reviewing have the opportunity to learn.
The prompts for the code review are in this Gradescope assignment. Follow those prompts to complete the lab. Briefly, you will:
- Find which repository you are assigned at this Piazza post
- Download, build, and try running it
- Describe something you learned from reading the code
- Describe an improvement to make to the code
- Give other open-ended feedback about the code
Lab Report 5
First, make sure your grading script from Lab 7 can successfully give feedback on all of the sample student submissions. You might make some judgment calls about which ones get “credit” or not! But there should be something meaningfully reported for all of them. You should confirm that this works through the browser interface as well as the command line.
To demonstrate this, include in your lab report:
- Your
grade.sh
in a code block - Screenshots of three different student submissions and their reported grade as loaded in the browser (URL like
https://localhost:4000/grade?repo=https://github.com...
)
Then, choose one of the examples you showed in screenshot, and describe a trace of what your grade.sh
does on that example.
To trace the script, describe:
- For each line with a command, what its standard output and standard error are for this run, and whether its return code was zero or nonzero
- For each line with an
if
statement, whether the condition was true or false, and why - Indicate each line that does not run (maybe because it is in an
if
branch that doesn’t evaluate, or after an early exit)
Submit your report to the Lab Report 5 (week 9) on Gradescope, due Monday, November 28 at 12pm (noon).