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
Operating Systems
Read the Operating Systems chapter in Welcome to CS. (Stop when you hit 8.15 - Merging)
Optional: This video reinforces the big ideas of the reading:
Parallel Processing
- Read about Parallel Processing in Welcome To CS
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: