Reading / Journal 13

Code Reviews ✏️

Journals are a combination of a few things. First, the "journal." This is a very small weekly assignment where you write 200+ words (option 1) or submit "tinker" code (option 2). Second, the "reading." This is where I direct you to read from a book, an online article, or watch a video, and I supplement those with my own lecture notes, graphs, figures, quotes, or so on.

All other assignments and lectures build upon these. Usually, there will be more reading at the start of a unit and less at the end.

Reading

This week is peer review, so I'll keep this short.

When you're doing reviews on code, the goals are:

  1. to understand what their code is doing (helps yourself) and to understand what their real-life task was for that code
  2. to be a second set of eyeballs on their code, to identify where their code is incorrect (are you sure it's wrong?), to identify where it might could be better (is that improvement really the most important thing to complain about right now?), and to praise where it's doing good things and those things should not change
  3. to recommend/make specific changes to their code, as a way to contribute to our broader goals as humans in these endeavors (science, open sources, etc.) together

Now, when you can have thousands of code reviews going on at once, specific tools (like git) might be helpful to manage all that. We won't be using those in our class, but you might hear about them in the readings/videos below.

Now read "Code Review Best Practices" from https://medium.com/palantir/code-review-best-practices-19e02780015f

And read "How to do a code review" (and the six pages linked from there) from https://google.github.io/eng-practices/review/reviewer/

And watch "Python Code Review" from https://www.youtube.com/watch?v=djTuA-COHEY (This is an example of someone thinking through a code review in 9 minutes. Ask yourself, did he follow the best practices outlined above? - review his code review!).

Journal

Choose from one of the following two options as you best see fit:

Option One: Submit a brief "200+ Words" reflecting on the reading and/or the course as a whole. These 200+ words are expected to come completely from the student, ignoring words from quotes/etc. The format of these assignments is up to the student as it best helps them: bulleted point notes on the reading; questions directed at the instructor of course material; a paragraph reflecting on the Lab assignment for the week; a poem; a summary of recent technology news; anything, so long as it is turned in on time, is relevant to the course, and meets the required length.

Option Two: Submit a brief "Tinker" where you have attempted to "program" something, using the tools of the course, that is not directly related to another course assignment. Include screenshots of the input work done and the output result (even if it does not work), along with a brief statement of your intentions, the approach you took in getting it to work, and your thoughts on your result so far. Make sure it is clear what code came from you and what came from online/the reading/etc.

Short on Words?

Short a few words in your journal and don't know what else to write about?

This week's "get to know you" question is:

Share a story about a random act of kindness you’ve either received, witnessed, or given. (Credit)

Feel free to write about this a little bit in your journal.

Submission

Submit your journal as a Word/PDF (NOT a .pages) document to Blackboard.

Grading

Journals are each worth 1/100 towards your final grade. Grading is pass/fail based on meeting the requirements of the chosen option.