The following are three possible tracks to teaching a multiprocessor programming course using the material in the book.

The first track is a short course for *practitioners* who are interested in techniques that can be applied directly to problems at hand.

The second track is a longer course for students who are *not Computer Science majors*, but who are interested in learning the basics of multiprocessor programming, as well as techniques likely to be useful in their own areas.

The third track is a semester-long course for *Computer Science majors*, either upper-level undergraduates or graduate students.

Cover Chapter 1, emphasizing Amdahl’s law and its implications. In Chapter 2, cover sections 2.1, 2.2, 2.3, and 2.6. Mention the *implications* of the impossibility proofs in Section 2.8. In Chapter 3, skip Sections 3.3 and 3.6.

Cover Chapter 7, except for Sections 7.7 and 7.8. Chapter 8, which deals monitors and reentrant locks, may be familiar to some practitioners. Skip Section 8.5 on Semaphores.

Cover Chapters 9, 10, except for 10.7, and Sections 11.1 and 11.2. Skip the material in Sections 11.3 and onwards. Skip Chapter 12.

Cover Chapters 13 and 14. Skip Chapter 15. Cover Chapter 16, except for Section 16.5. In Chapter 17, teach sections 17.1–17.3.

Cover Chapter 1, emphasizing Amdahl’s law and its implications. In Chapter 2, cover sections 2.1, 2.2, 2.3, 2.5, and 2.6. Mention the *implications* of the impossibility proofs in Section 2.8. In Chapter 3, skip Section 3.6.

Cover the material in Sections 4.1 and 4.2, and Chapter 5. Mention the universality of consensus, but skip Chapter 6.

Cover Chapter 7, except for Sections 7.7 and 7.8. Cover Chapter 8.

Cover Chapters 9, 10, except for 10.7, and Chapter 11. Skip Chapter 12.

Cover Chapters 13 and 14. Skip Chapter 15. Cover Chapter 16. In Chapter 17, teach sections 17.1–17.3. Cover Chapter 18.

The slides on the companion page were developed for a semester-long course

Cover Chapters 1 and 2 (Section 2.7 is optional) and 3. (Section 3.6 is optional). Cover Chapters 4, 5, and 6. Before starting Chapter 7, it may be useful to review basic multiprocessor architecture (Appendix B).

Cover Chapter 7 (Sections 7.7 and 7.8 are optional). Cover Chapter 8 if your students are unfamiliar with Java monitors. Cover Chapters 9 and 10 (Section 10.7 optional). Cover Chapters 11, 12 (Sections 12.7, 12.8, and 12.9 are optional), 13, and 14. Chapter 15 is optional. Cover Chapters 16 and 17. Chapter 18 is optional.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.