I welcome visitors to my office (OHS 306) on a drop-in basis as well as by appointment. You may send me electronic mail at max@gustavus.edu.
Each pair of students will be responsible for setting up a meeting with me the week before their presentation to go over it with me. (You are welcome to additional consultations as well.) At that meeting, you should also give me three straightforward questions about your reading. I will distribute these to the full class. All class members will submit their answers to these three questions by 10am the day of your presentation, as a way of making sure we all have a common starting point. I will look through them and alert you before your presentation if there are any common difficulties you might want to address. No late answers will be accepted for these questions because their point is to lay the groundwork for the presentation.
I will provide a list of attributes that good presentations have. For each presentation, each student in the audience will be asked to select two of these attributes that were particular strong points and two that particularly need work. I will summarize this feedback for the presenters. I will also use the same list of attributes to structure my own evaluation of the presentation, which will take place in a face-to-face “debriefing” with the presenters, with the grade generated as a summary of that meeting.
I'm going to ask you to express a preference ranking for the topics and will try to the extent possible to assign people to topics based on that. I suggest you read the abstracts of the papers to help determine your preferences; you can also take into account the timing of the presentations. I'll need to have you email me the rankings by noon Friday (September 11).
Each class day that has a reading assignment, by 10am you are to enter on Moodle your preparation assignment for that day. (The first day of classes is excepted.) I will look these over in order to shape the class to meet your needs. As additional incentive, they provide an opportunity to earn Grade Points. No late preparation assignments are accepted, as that would undermine their real purpose.
For a conference paper, the preparation assignment will consist of questions provided by the presenters, as described in the section on presentations.
For readings from the textbook, your assignment is to send me an agenda for that day's class. Is there old business from prior days that you see as needing more time? In the new topics from that day's reading, what are the main points we should cover? What illustrations, programs, or other examples from the book would you like to go over? Are there exercises we should work? Are there topics beyond the reading we ought to cover?
You have the opportunity to take on independent exploration and programming projects and thereby earn Grade Points. Each chapter in the textbook ends with exercises, programming projects, and exploration projects. Of these three categories, the exercises are suitable for you to put on a class agenda as something we could talk about or work on together. The other two categories are available for your independent projects. For each of Chapters 2–11, you may submit via Moodle any programming or exploration project, subject to the restrictions listed below. If I indicate that your initial submission is inadequate, you can submit a revised version, as many times as are necessary to succeed.
Note that some projects in the text have fallen out of date relative to external software or resources. Be sure to ask for help if you are having trouble making adjustments to accommodate the present-day context.
There will be a midterm take-home test as shown on the schedule below and a final exam as scheduled by the registrar. If you have a conflict with a testing time, please contact me as soon as possible to make an alternative arrangement.
My default assumption is that students will take the final together. Therefore, I would ask you to please be respectful and quiet, even after completing your exam, so that your fellow students have a good test-taking environment. However, if you prefer to take the exam in a separate room, please contact me in advance and I will try to arrange it.
The midterm will be open-book and open-notes whereas the final will be closed-book and mostly closed-notes. You may, however, use a single 8 1/2 by 11 sheet of paper with hand-written notes for reference. (Both sides of the sheet are OK.)
You can contribute to the further development of our textbook and earn Grade Points in the process. You will earn points for each new (or thoroughly rewritten) section you submit for inclusion in the book, up to a maximum of three sections. Each of the sections you submit may either be on a topic of your own choice that you have pre-cleared with me or may be chosen from the following list:
Section 10.4, on web services, became so out of date that I effectively removed it, leaving just a place-holder. You could write a new section on web services.
Section 11.3, on user authentication, really ought to have a subsection regarding single sign-on (SSO) and federated identity systems, including technologies such as SAML, OAuth, OpenID, and CAS. You could write such a subsection.
The best way for you to submit a contribution to the book is to make your own fork of the github repository, commit a revision into that fork, and then send me a "pull request" to ask me to incorporate it into the mainstream. Please don't let the mechanics stand in your way, though. I can help you with them or accept a contribution in some alternative form.
I will consider all submissions for inclusion into the book. In cases where two or more students write about the same topic (as is likely to happen with the two topics listed above), I may craft a composite version so as to include the best elements from each draft. If something derived from your work winds up in the book, I'll acknowledge your contribution in the Preface.
As an alternative to writing a section, you may create some new supplemental material such as an animation or screencast. As with a section on a topic of your own choice, you would need to pre-clear this with me.
Any substantive contribution to your solution by another person or taken from a publication should be properly acknowledged in writing. Failure to do so is plagiarism and will necessitate disciplinary action.
The same standards regarding plagiarism apply to team projects as to the work of individuals, except that the author is now the entire team rather than an individual. Anything taken from a source outside the team should be be properly cited.
One additional issue that arises from the team authorship of project reports is that all team members must stand behind all reports bearing their names. All team members have quality assurance responsibility for the entire project. If there is irreconcilable disagreement within the team it is necessary to indicate as much in the report.
You are expected to be familiar with the college academic honesty honor code policy and to comply with that policy. If you have any questions about it, please ask.
If you are too sick to complete an assignment on time, you will not be penalized. Simply notify me in writing that the lateness is due to illness. Other circumstances will be evaluated on a case-by-case basis.
You will have the opportunity to earn up to 450 Grade Points (GP) throughout the semester as shown in the following table:
Category | # | GP each | GP possible |
---|---|---|---|
Lab | 4 | 20 | 80 |
Lab extensions | 2 | 10 | 20 |
Presentation | 1 | 20 | 20 |
Preparation | 22 | 1 | 22 |
Project | 20 | 10 | 200 |
Test | 2 | 24 | 48 |
Text section | 3 | 20 | 60 |
Total | 450 |
Your course grade will be recorded as follows:
GP | Grade |
---|---|
270–450 | A |
260–269 | A− |
250–259 | B+ |
240–249 | B |
230–239 | B− |
220–229 | C+ |
210–219 | C |
200–209 | C− |
190–199 | D+ |
170–189 | D |
0–169 | F |
Gustavus Adolphus College is committed to ensuring the full participation of all students in its programs. If you have a documented disability (or you think you may have a disability of any nature) and, as a result, need reasonable academic accommodation to participate in class, take tests or benefit from the College’s services, then you should speak with the Disability Services staff, for a confidential discussion of your needs and appropriate plans. Course requirements cannot be waived, but reasonable accommodations may be provided based on disability documentation and course outcomes. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact Disability Services as early as possible. Disability Services (gustavus.edu/advising/disability/) is located in the Academic Support Center. Disability Services Coordinator, Kelly Karstad, (kkarstad@gustavus.edu or x7138), can provide further information.
Support for English learners and multilingual students is available through the Academic Support Center’s Multilingual Learner Academic Specialist, Jody Bryant (jbryant2@gustavus.edu or x7197). The MLAS can meet individually with students for tutoring in writing, consulting about academic tasks, and helping students connect with the College’s support systems. When requested, the MLAS can consult with faculty regarding effective classroom strategies for English learners and multilingual students. The MLAS can provide students with a letter to a professor that explains and supports appropriate academic arrangements (e.g., additional time on tests, additional revisions for papers). Professors make decisions based on those recommendations at their own discretion. In addition, English learners and multilingual students can seek help from peer tutors in the Writing Center (gustavus.edu/writingcenter/). Please let me know if there is any accommodation in the course that would enable you to more fully show your abilities; for example, I would consider allowing extra time on tests, as well as allowing a dictionary in an otherwise closed-book test.
The two topics or activities shown for each date correspond approximately to the two halves of the class period with a brief stretching break in between. However, we will divide the time to meet our needs rather than necessarily at the halfway point.
In the reading column, a single number with no decimal point indicates an entire chapter. A number with three decimal points in it, such as 8.5.1.1 or 8.5.1.2, refers to the material under the first or second heading within Section 8.5.1, even though those headings are not actually numbered.
Date | Reading | Topic | Due |
---|---|---|---|
9/8 | 1 | Introduction | |
2 | Threads | ||
9/10 | 3.1-3.3 | Scheduling Goals | |
3.4-3.7 | Scheduling Mechanisms | ||
9/15 | Lab Preview | ||
Lab 1: Scheduling | |||
9/17 | 4.1-4.3 | Mutual Exclusion | |
4.4-4.6 | Other Synchronization Patterns | ||
9/22 | 4.7-4.8,4.10 | Synchronization Pathologies | Lab 1 |
4.9 | Nonblocking Synchronization (and visitors) | ||
9/24 | paper 1 | Exposing Kernel Concurrency Bugs (Andy, Dustin) | |
5.1-5.2 | Example Applications of Transactions | ||
9/29 | paper 2 | Self-Tuning Intel's Transactional Synchronization (Andrew H., Caleb) | |
5.3-5.4 | Mechanisms for Atomicity and Durability | ||
10/1 | No class | ||
10/6 | No class (attend Nobel Conference) | ||
10/8 | 6.1-6.2 | Uses for Virtual Memory | |
6.3 | Mechanisms for Virtual Memory | ||
10/13 | 6.4-6.5 | Policies for Virtual Memory | |
Review of Chapters 1-6; take-home midterm out | |||
10/15 | paper 3 | Cache Pollution Control (Elizabeth, Kenlong) | |
Lab Preview | |||
10/20 | 7.1-7.2 | POSIX Process Management | Midterm |
7.3-7.6 | Protection | ||
10/22 | paper 4 | Shielding Applications from an Untrusted Cloud (Sergio, Tyler) | |
Lab 2: Prepaging | |||
10/29 | 8.1-8.3 | POSIX File API | |
Lab 2 (continued) | |||
11/3 | 8.4-8.5.1.1 | Disk Space Allocation | |
Lab 2 (continued) | |||
11/5 | 8.5.1.2-8.6 | Metadata, Directories, and Indexes | |
Lab 2 (continued) | |||
11/10 | 8.7-8.9 | Metadata Integrity | Lab 2 |
Lab 3: File Allocation | |||
11/12 | Lab 3 (continued) | ||
11/17 | paper 5 | Log-structured Memory (Dennis, Jake) | |
9.1-9.3.1 | Socket APIs | ||
11/19 | Lab 3 (continued) | ||
11/24 | paper 6 | Open vSwitch (Aaron, Tucker) | Lab 3 |
10.1-10.3 | Messaging and Remote Method Invocation | ||
12/1 | paper 7 | Consensus (Andrew R., Jacob) | |
Lab Preview | |||
12/3 | 11.1-11.4 | Security Basics | |
Lab 4: Communication Middleware | |||
12/8 | Lab 4 (continued) | ||
12/10 | 11.5-11.8 | More on Security | |
Lab 4 (continued) | |||
12/15 | paper 8 | Mobile Money Vulnerabilities (Diana, Spencer) | Lab 4 |
Review and evaluation |