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 are having 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 Emanuel Lin (emanuel@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 Courseweb site.
As announced in class, labs 2, 3, and 4 are going to be handled differently than originally planned. If you'd prefer, you can do them in the manner originally announced, but you also have the option of attending Friday recitation sections at which groups of students will be able to work freely together on these labs, without the restrictions on cooperation and assistance that had been enforced for lab 1.
Minilab 2 description. You can get the minilab 2 skeleton code here.
Lab 4 description. You can get the lab 4 skeleton code here.
The web page for lab 4 contains information on lab 4 design problems, as well.
Lab 3 description. You can get the lab 3 skeleton code here.
The web page for lab 3 contains information on lab 3 design problems, as well.
Lab 2 description. The link on this page to the lab 2 skeleton code will not work. You can get the lab 2 skeleton code here.
The web page for lab 2 contains information on lab 2 design problems, as well.
Lab 1 description. The link on this page to the lab 1 skeleton code probably won't work for you. You can get the lab 1 skeleton code here.
Minilab 1 description. The link on this page to the minilab skeleton code may not work for you. You can get the minilab 1 skeleton code here.
As mentioned in class, we have canceled the design project as a required assigment, due to the various difficulties we have had with this class. The design project is now only an optional extra credit assignment. If you want to perform this extra credit assignment, you can choose any of the design projects you prefer. It must be turned in by Monday, August 11. Here are details of the design project.
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.
I have fallen two full lectures behind, having not talked about a single slide from either of the two lectures planned for last week. Therefore, I am not assigning any new readings for this week. Instead, I will try to catch up with the two lectures assigned for last week.
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.
Chapter 6, section 6.1 (pages 300 - 321), section 6.3.4 (pages 360 - 362)
Chapter 5, Section 5.4 (pages 242-255), Chapter 6, Sections 6.2.2-6.2.9 (pages 323-347).
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).
We will not schedule a second lecture or set of readings for the Thursday class, since I am already a full lecture behind. I will use the time to catch up. Thus, you should expect the midterm on Friday to cover all the slides and readings through lecture 7.
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: This is one of the chapters that 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 )
Chapter 1 (pages 1-40).
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)