25. How does all of this work together?#

25.1. Contract Checkin#

Create an issue on your grading contract using the following as a template, use the title, “Contract Checkin”

Edit so that it applies to you, including deleting any sections that do not apply to you.

I am (not) on track to complete my contract as agreed.


I plan to (catch up/ revise my contract / take an incomplete).

To revise my contract I will:
<!-- consultation is optional -->
- [ ] attend office hours to discuss options
- [ ] submit the revised contract as PR by the contract revision deadline of December 12.


To catch up, I will:
- [ ] request a review from @brownsarahm and @m-bowen in all of my open PRs by 7pm today
- [ ] attend office hour on (dates)
- [ ] complete (items) by 12/6 at 3pm
- [ ] complete (items) by 12/8 at 5pm
- [ ] complete (items) by 12/13 at 3pm
- [ ] complete (items) by 12/15 at 3pm
- [ ] complete (items) by 12/19 EOD

To complete work after accepting an Incomplete grade I will:
- [ ] complete all activities in my contract by (date)

I have the following questions about my grade/grading in this course:

- [ ] q1
- [ ] q2

Assign @brownsarahm on the issue so that I can get to it easily.

Please also copy & paste your questions here on Prismia so that I can answer common, general ones in class. I will answer personal ones on the issue

25.2. IDEA#

If we hit a 75% response rate, then you will all get up to three “gifts” where instead of revising, I will give you an answer you need to acknowledge.

25.3. Review Questions#

Why do we need to lock writing to a global variable when threading a program?

  • [ ] otherwise all threads will overwrite incorrectly and only the slowest one will be saved

  • [ ] otherwise their start/finish order can impact the calculation

  • [ ] it is the only way for a variable to be shared across threads

Why do we use version control?

  • [ ] to have a cloud backup of code

  • [ ] it’s a legacy tool for undoing changes before IDEs could do it

  • [ ] to be able to separate different versions of code

Why floating point instead of fixed point for fractions ?

  • [ ] floating point allows for faster calculations

  • [ ] floating point allows more precise representation

  • [ ] floating point allows for representation of a broader range of values

Label and put in order the following steps:


x. **step** binaries for compiled libraries is combined with the compiled program code
x. **step** code is translated from assembly to machine code
x. **step** code from includes is copied into the file
x. **step** code is translated from a high level language to assembly

25.4. Review today’s class#

  1. Review the questions from class today and in review.md for any questions that you got wrong, write a solution and explanation for your confusion. If you missed class, write a solution guide for all of the questions in today’s notes.

  2. Update your KWL chart by adding 2-3 rows about topics you learned about that are not listed.

  3. Add a new, up to date overview of how you think about computing overall to your KWL repo. Mark the one you made at the beginning as overview-pre.md and this one as overview-post either with heading or the file name

25.5. Prepare for Next Class#

25.6. More Practice#

Important

  • If you’re on track, you can skip the remaining ones

  • if you are not on track: the remaining three will count for two each, but will be more complex

  1. Make a table that compares and contrasts the unix file system to git as a file system on at least 5 aspects (eg header + 5 rows) in filesystem.md. Based on this, write a definition of a file system generally and how knowing that these are both file systems helps reinforce concepts and improve understanding.

  2. In whypointers.md write a blog-post style argument for why understanding pointers as a concept is important for a computer science student even if they will not work directly in a language that uses pointers. Consider your audience to be a student who is in CSC212 and struggling. Use two examples from this class where we relied on the concept of pointers to explain how something worked.

  3. Reflect on how this course impacts programming/debugging skills in skillup.md. You can write this as how you think your own skill has improved or as if you are convincing another student to take this class. Touch on at least three topics.