This note is about: the philosophy of this course ("how the course will be taught") as opposed to the course content ("what the course will teach"). There are three overall principles that guide the structure of this course: A. I will be respectful of the students' time. B. The systems topics taught will be relevant to a broad range of disciplines. (Not all PhD students work in computer systems.) C. There will be an emphasis on learning good technical writing. These three principles form an implicit contract concerning how I will teach the course. Please talk to me during the course if you believe that I am not following the three principles. === In greater detail, here are the three principles, with their rationale: A. I intend to be respectful of the students' time. I will target 10 hours per week for my course (in most weeks). On rare occasions, the total time in a week may go as high as 20 hours per week (but only briefly, and for important deadlines). RATIONALE: PhD students are simultaneously working on their PhD research toward a thesis, alongside the course. In a theoretical "40-hour work week", a student should be spending 20 hours per week on courses and 20 hours per week on an RA or TA. That means just 10 hours per week for a single course (including mine). We all stretch this 40-hour work week into something closer to 60 hours per week. But that "overtime" (byeond 40 hours) should be dedicated to a student's PhD research. It should not be dedicated to intensive work within the discipline of a single course (which is typically not the student's own discipline). B. I intend to emphasize course topics that can be applicable to a broad range of other disciplines. The insights from my course should provide tools and ways of thinking that enhance research in _other_ disciplines. Examples of such tools and ways of thinking are: new debbugging strategies; a more intuitive performance analysis; and effective use of multi-threaded programming. The last example is especially critical now that most CPUs have multiple CPU cores. There is no need to continue to program "like it is 2010". RATIONALE: The course should be relevant to the needs of PhD students in _other_ disciplines. A required core course should not be catering primarily to students in just that one discipline. C. I will emphasize technical writing for the last segment of this course. (Since this is a systems course, the writing must include some reading of systems papers and some writing related to the topic of systems.) In past iterations, I have evolved a new recipe for good technical writing. That recipe will provide the student an initial framework for good technical writing. Good writing is a lifelong learning effort, but this initial framework will provide a useful "on-ramp" for that lifelong endeavor. RATIONALE: PhD students will be writing technical papers and a thesis. Technical writing is a basic skill that will benefit students in _all_ disciplines. In order to realistically emulate research-level technical wirting, I insist that part of the exercies includes assimilating systems papers that the student has not previously read. This forces the student to logically structure their throughts in what is for them an unfamiliar environment. This is the essence of research writing.