This page is organized by the weeks of the quarter in which lectures were given. The weeks are in inverse order, on the assumption you will most often be looking for the most recent week.
This class will be taught by Peter Reiher. The textbook is Principles of Computer System Design, by Jerome Saltzer and Frans Kaashoek. Assigned readings are from this book, unless otherwise indicated. Some chapters of this textbook are not in the hard copy version, but are only available on-line. For these readings, I will provide a URL.
I will be lecturing on these subjects during the class. Note that this syllabus is a statement of my intentions, NOT a guarantee that particular things will happen on particular dates. If you need to ensure that a vacation or business trip does not conflict with an important part of the class, speak to me. Don't just assume that the syllabus is absolutely correct.
The slides used in the lectures are posted in Powerpoint via links below for the particular week in which the lecture was given. Because some people have trouble with the Powerpoint versions of the slides, I am also posting PDF versions. The PDF versions do not support the animations, however.
The TA for the course is Mevlut Turker Garip (mtgarip@cs.ucla.edu). He will be responsible for all issues related to the lab projects and design problems. Questions on these should be directed to him.
I will make the basic lab materials available on this site. Solutions will be handed in via the Summer Session CCLE site.
The final examination for CS 111 will be held during the regular recitation section time on Friday, August 14, in BH 2444. The final exam is open book, open notes. You may either write your answers on paper or provide a PDF version of your answers at the end of the exam period.
The exam will cover the entire class, including all lecture material and all assigned readings. Any material covered ONLY as part of one of the labs will not appear on the test, though material covered in both lecture and labs could be there. The final exam questions will emphasize understanding of important concepts and design alternatives, and will require you to apply them to new problems we have not discussed in class. Here are some sample final exam questions that are similar in nature to what might appear on the test, along with guidelines for suitable answers. You will be given a choice of six questions, from which you can choose any three to answer that you want.
One note on covered material: some lectures include "hidden slides," which were not lectured on. Material that is found ONLY on these hidden slides (and not, for example, in assigned readings) will not appear on the final exam. The PDF versions of the lectures do not distinguish between regular slides and hidden slides, so if you want to avoid studying this material, look at them in the Powerpoint version.
We have fallen behind on lectures, so only one new lecture will be posted this week.
Reading assignment: Chapter 11, Overview and section 11.1, pages 11-4 to 11-28. Chapter 11, section 11.3, pages 11-36 to 11-48. These readings are part of the online textbook and can be found here.
Chapter 3, section 3.2, pages 132-138.
A Survey of Distributed File Systems, M. Satyanarayanan, Annual Review of Computer Science, 1990. You only need to read sections 1, 2, 3.1, and 3.3.
Chapter 4, section 4.5, pages 184-195.
What Cloud Computing Really Means, Eric Knorr, Galen Gruman, Infoworld.
I will be out of town for this entire week, and thus will not be holding the lectures or office hours. To prevent us from falling further behind, I have taped two lectures for this week and made them available to you on line. You should watch each of them at some time during this week. They are each divided into three parts, to allow you to deal with them in shorter pieces, rather than one long lecture. I have also posted the Powerpoint slides and the PDF versions of those slides, along with pointers to readings for these lectures.
You may need to either be on campus or using the UCLA VPN to access these taped lectures.
Turker, our TA, will hold his recitation section and office hours as usual.
Chapter 2, section 2.5. (pages 91-112)
Chapter 8, Sections 8.1.1 (pages 8-3 to 8-6), 8.2.1 (pages 8-8 to 8-13), and 8.5.4 (pages 8-40 to 8-51). Here is a link to the PDF online version of Chapter 8.
Chapter 7, section 7.1, pages 7-1 through 7-20. Here is a link to the PDF online version of Chapter 7.
Fallacies of Distributed Computing Explained, Amon Rotem-Gai-Oz.
Chapter 9, section 9.6.3. Here is a link to the PDF online version of Chapter 9.
NOTE: I will not be able to attend my office hours this Thursday.
Chapter 5, Section 5.4 (pages 242-255), Chapter 6, Sections 6.2.2-6.2.9 (pages 323-347).
Chapter 6, section 6.1 (pages 300 - 321), section 6.3.4 (pages 360 - 362)
Chapter 6, Sections 6.2-6.2.1 (pages 321-323).
Dynamic Storage Allocation: A Survey and Critical Review, by Paul Wilson, Mark Johnstone, Michael Neely, and David Boles. This is a very long paper. You are only required to read the following sections of it: Sections 1.1-1.3 and section 2-21 (pages 6-13) and sections 3.3 and 3.4 (pages 42-45).
Only one lecture is assigned this week, since I have effectively fallen a full lecture behind. The midterm exam will cover the material through lecture 7, including slides, material discussed in class sessions, and all readings. The slides and readings that I posted earlier for lecture 8 are NOT covered on the midterm.
The midterm is in the Friday recitation section. Here are some sample questions and answers.
Reading assignment: Chapter 5, Section 5.2 (pages 210 - 230), Chapter 4, Section 4.2 (pages 167 - 173) , Chapter 9, Section 9.1 - 9.1.7 (pages 9 - 1 through 9 - 20). Note: Chapter 9 is only available on line. Here is a link to the PDF online version.
Reading assignment: Chapter 5, Section 5.2.5 (pages 221 - 222), Chapter 5, Section 5.6 (pages 273 - 284).
Chapter 5, Section 5.5 (pages 255 - 272)
Chapter 6, Section 6.3 (pages 347 - 362 )
I have to be out of town on the first day of class, June 23. We will therefore handle this week a bit differently than other weeks. The first session of class on Tuesday June 23 will be taught by Turker Garip, our TA. He will discuss introductory material and start you off on the lab assignments, which are a major component of the class. I will lecture on Thursday, June 25 and during the recitation section on Friday, June 26. In subsequent weeks, we will return to the normal schedule, with my lectures on Tuesdays and Thursdays and a recitation section on Fridays.
Introductory slides on class organization and administration.
Introductory slides on class organization and administration, PDF version.
Note: This lecture will be given on Thursday, June 25.
Chapter 1 (pages 1-40).
Note: This lecture will be given on Friday, June 26.
Chapter 2, section 2.1 (pages 43-60)
Chapter 4, sections 4.1 - 4.1.2 (pages 147-162)
Chapter 5, section 5.1 (pages 199-210)
Chapter 5, sections 5.3-5.3.4 (pages 230-237)