Week 9

Learning objectives

Upon finishing this learning module, you should be able to:

  • Discuss and describe the jobs of an operating system and the major resources it handles
  • Explain the advantages and challenges of parallel processing
  • Describe how databases are designed to maintain consistency in the face of failures and concurrent changes
  • Write simple SQL queries

Class Schedule

First Class Meeting

  • Operating Systems and Parallel Processing

Independent:

  • Programming - Complete Ch 28
  • Programming - Ch 29 Reading

Second Class Meeting

  • Algorithm of the Week - Databases

Independent:

  • Programming - Complete Ch 29

Programming

Do the following assignments based on Programming chapters from Welcome To CS. Completion assignments are graded for accuracy. Reading assignments are graded for attempting all of the interactive elements on the assigned pages.

  • Ch 28 - Completion
  • Ch 29 - Reading & Completion
Make sure you are logged into the book so your work is saved and you get credit. The surest way to make sure you are logged in is to start the programming assignment by clicking on the button in the corresponding assignment in Elearn.

Operating Systems


Parallel Processing


Algorithm of the Week: Databases & Consistency

I recommend you start with these videos that cover what a Database is and how they work. (Also covreded in the reading, but less clearly.)


  • Read Ch 8 of Nine Algorithms book. You can skip the entire section titled The Prepare-Then-Commit Trick For Replicated Databases. (Start reading again at Relational Databases And The Virtual Table Trick).

Optional Extras

Video cards (GPUs) are different than CPUs because they are optimized for parallel processing. They are designed to process hundreds or thousands of similar jobs at the same time. Traditionally, they were mostly used for graphics. But they are also good at the kinds of tasks that machine learning requires. This video explains more: