Welcome to the website for Computer Systems Fundamentals (Spring 2024) 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
- Courselore (ask questions here!): https://courselore.org/
- Gradescope (assignment submission): https://www.gradescope.com/
Check out the Gradescope Information page for information about logging into Gradescope. (Unless you added the course after the semester started, you’re likely already registered, and you can use these instructions to log in.)
Please email daveho@cs.jhu.edu if you need to get access to Courselore or Gradescope.
News
- Apr 22 — Automated server testing scripts are available: see the Automated Testing of the Server section of the assignment description.
- Apr 19 — The scripts used in the Assignment 5 MS1 autograder’s
incr_value
concurrency tests are available: see the Automated Testing of Clients section. - Apr 19 — The due date for Assignment 5 has been extended by one day to Saturday, April 20th because of an autograder bug.
- Apr 17 — Assignment 5 has been updated with full information about the requirements and expectations for the server (Milestone 2.)
- Apr 15 — Review materials for Exam 3 (Tuesday, May 7th, 6pm, in Gilman 50) are available on the Resources page.
- Apr 13 — Assignment 5 has been updated with a screencast video demonstrating how to test the client programs using netcat and the reference server.
- Apr 8 — Assignment 5 has two milestones, due Friday, Apr 19th and Friday, Apr 26th, respectively. Note that each milestone is weighted as a full assignment.
- Mar 29 — Assignment 4 is due Monday, April 8th.
- Mar 25 — Review materials for Exam 2 (in class on Wednesday, April 3rd) are available on the Resources page.
- Feb 28 — Assignment 3 has three milestones, due Monday, Feb 4th, Friday, Mar 15th, and Friday, Mar 29th, respectively.
- Feb 6 — Assignment 2 has three milestones, due Wednesday, Feb 14th, Wednesday, Feb 21st, and Wednesday, Feb 28th, respectively.
- Jan 22 — Welcome back! Assignment 1 has two milestones, due Monday, Jan 29th and Monday, Feb 5th, respectively.