Week 2 Class 4 Thu Jan 21 Posted: Jan 21

Class session:

  1. Announcements:

  2. Screencast: CMake I

    Notes: CMake Documentation

    Clone, build, and run with the repository OOPS21-Rainfall.

    You need cmake installed Installing CMake. You can also install ninja Installing Ninja.

  3. Exercise 8: CMake I Crossword

  4. Screencast: Read: Performance and Scalability

    Notes: Performance, Scalability

    Clone, build, and follow along with the repository OOPS21-read.

    The unique targets for OOPS21-read are:

    Each implementation has a timerun target as readcin does.

    Note: It is not typical to name files for an application according to a particular implementation or design. I.e., readcin.cpp is, in general, not a good name for a file/program. One approach is to use a separate git branch for each implementation. E.g., there would be a single file, read.cpp, with branches cin, read, etc. However, that would make it more difficult to run them all, since by default, a git checkout is for a single branch. One solution is a git worktree, but that is for later in the course. So the naming used here is a compromise.

  5. Exercise 9: Read Timings

    Clone the OOPS21-read repository, build, run, and take timings to compare the different implementations.

    Enter your timings in seconds into your own read Speedup Spreadsheet. For each implementation, e.g., readcin, get timings for 3 separate runs.

    To get your own spreadsheet, first, login to Google Sheets using your @zips.uakron.edu account. The following should make a copy of the spreadsheet for you to use: Copy read Speedup Spreadsheet.

    When finished entering the timings, print the spreadsheet to a PDF and upload it to Brightspace.

  6. Exercise 10: Speedup

    Answer the questions in the form 3460:421 OOP Speedup

Screencast Folder: Class 4 Thu Jan 21

Exercise Due Date: 4 pm on Friday, Jan 22