Week 8

Week 8

This is not the current offering of the course. You may want the next offering at https://ucsd-cse15l-w23.github.io/, or scroll down for the fall 2022 material.

Lecture Materials

Notes from class

Monday/Wednesday Notes 12pm

Monday/Wednesday Notes 1pm

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).