As we work toward the project component of this course, you will read Butler Lampson’s hints for system design, a classic collection of good advice for building systems. The paper is the scheduled reading for class, but you can also access it through this link: http://dl.acm.org.grinnell.idm.oclc.org/citation.cfm?id=806614. Note that you may need to sign in with your Grinnell account to access the PDF.
Three of the four questions ask you to identify one of Butler Lampson’s hints for system design in some setting. Please select a different hint in your response to each question.
Lampson references many different projects in his paper, including quite a few that he worked on. Choose one of the projects mentioned in the paper and go read about it to answer the following questions. You may use any non-AI resource you like, but the Computer History Museum (https://computerhistory.org) is an excellent starting point.
For your chosen system, briefly describe what the system was and why you believe it was significant. Include citations at the end of your response.
Think back to a time when you were building some sort of substantial software, either for class or some other purpose. What is one of Lampson’s hints that would have helped you? How would you have applied this hint? Why would it have been helpful?
Operating systems use abstractions that frequently reflect Lampson’s hints (or vice versa). Identify at least one concept from this class where you can find one of Lampson’s hints in use. Explain how this concept uses the hint you identified. Make sure the hint you list here is different from the one in your previous response.
Sometimes we can learn how systems work simply by observing their behavior. Think of a case where some real system must use one of Lampson’s hints, based either on evidence that the hint is being used or your own intuition about how such a system could be built. Explain why you believe this hint is in use. Make sure the hint you list here is different from the one in your previous responses.