Welcome to the website for Computer Systems Fundamentals (Fall 2021) at Johns Hopkins University!
The course is about computer systems from the programmer’s perspective. We’ll be making a fairly deep dive into topics such as data representation, memory, assembly language, CPU architecture, networks, and concurrency. By the end of the course you’ll know a lot about how modern computers really work and how to take advantage of their advanced features.
All public information about the course (readings, assignments, etc.) will be posted on this website.
Use the links above to navigate the site. The Syllabus describes course policies. The Schedule is the schedule of readings and exams. The Assignments page has links to the programming assignments and indicates when they are due. The Resources page has links to useful resources.
Important links
- Campuswire (ask questions here!): https://campuswire.com/
- Gradescope (assignment submission): https://www.gradescope.com/
Please email daveho@cs.jhu.edu if you need to get access to Campuswire and/or Gradescope.
News
- Nov 30 — Review materials for Exam 3 are available on the Resources page. The last class meeting on Monday, Dec 6th will be used as a review session, so please bring questions!
- Nov 18 — Assignment 6 is due Wednesday, Dec 8th by 11pm.
- Nov 15 — Exam 3 will take place Thursday, Dec 16th at 9am in Bloomberg 272 (note the location!)
- Nov 15 — Everyone in the class may resubmit Assignment 1 and/or Assignment 2 no later than Friday, Dec 10th for up to 75% of full credit. To resubmit, use the Assignment 1 MS2 (resubmission) and Assignment 2 MS3 (resubmission) inboxes on Gradescope.
- Nov 11 — Assignment 5 is available, due Friday Nov 19th.
- Nov 11 — We are granting everyone in the course an additional 48 late hours to
use on Assignments 4–6. Also, a minor error was corrected (regarding the error return
value of
mmap
) in the description for Assignment 4. - Oct 31 — Assignment 4 has been posted. It is due Thursday, Nov 11th by 11pm. (Yes, at 11pm on 11/11.)
- Oct 31 — Solutions for the exam 2 review problems are available on the Resources page.
- Oct 25 — You may use up to 48 late hours on Milestone 2 of Assignment 3.
- Oct 25 — Exam 2 will take place in class (in Shaffer 3) on Friday, Nov 5th. Review materials are available on the Resources page.
- Oct 18 — The due dates for Assignment 3 Milestones 2 and 3 have been moved to Tuesday, Oct 26th and Tuesday, Nov 2nd, respectively.
- Oct 11 — Assignment 3 has been updated to explain the requirements for reporting invalid configuration parameters.
- Oct 8 — Assignment 3 has been posted. It has three milestones, due Tuesday Oct 12th, Thursday Oct 21st, and Thursday Oct 28th, respectively.
- Oct 4 — The due date for Milestone 3 of Assignment 2 has been changed to Thursday, Oct 7th by 11pm.
- Oct 1 — The Schedule has been updated. Also note that the slides for lectures 12, 14, and 17 have been uploaded to the Files section of the Campuswire site.
- Sep 29 — refsheet.pdf is the reference sheet that will be included on Exam 1 (which takes place on Friday Oct 1st in Shaffer 3.)
- Sep 24 — The unit tests for today’s in-class assembly language exercise are in the following zipfile: str_upcase.zip.
- Sep 22 — Assignment 2 has been updated to show how to pass standard I/O handles (such as
stderr
) to a function in assembly language. - Sep 21 — The deadline for Assignment 2, Milestone 2 has been changed to Tuesday, Sep 28th by 11pm.
- Sep 17 — See the Makefile fixes section of Assignment 2 for two important corrections you should make to the
Makefile
. - Sep 17 — The Resources page has been updated with practice materials for Exam 1.
- Sep 17 — The slides and example code for Lecture 8 have been updated.
- Sep 15 — The slides and example code for Lecture 7 have been updated.
- Sep 14 — Assignment 2 has been posted. There are three milestones, due Tues Sep 21, Fri Sep 24, and Tues Oct 5.
- Sep 13 — Assignment 1 has been updated with a link to a Ruby script (genfact.rb) that you may use to help generate test cases for MS2.
- Sep 1 — Assignment 1 has been updated so that the comprehensiveness and quality of your unit tests are explicitly part of the grading criteria for Milestone 2.
- Aug 30 — Welcome back! Assignment 1 is available, with two milestones due Tues Sep 7th and Tues Sep 14th. Note that it is a pair assignment. See Campuswire post #2 if you are looking for a partner to work with.