Welcome to the website for Computer Systems Fundamentals (Fall 2022) 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
- Piazza (ask questions here!): https://piazza.com/jhu/fall2022/601229
- Gradescope (assignment submission): https://www.gradescope.com/
Please email daveho@cs.jhu.edu if you need to get access to Gradescope.
News
- Nov 16 — Exam 3 will take place Tuesday, Dec 20th at 9 am in Shaffer 3. Review materials are on the Resources page.
- Nov 11 — Assignment 5 has two milestones, due Wed Nov 30 and Fri Dec 9, respectively. Note that each milestone is weighted as a full assignment, so Assignment 5 is effectively a double assignment.
- Nov 11 — Assignment 4 has been updated to specify a grading criteria outline.
- Oct 31 — Assignment 4 is due on Wednesday Nov 9th.
- Oct 24 — Exam 2 will take place in class on Monday, Nov 7th. Review materials are available on the Resources page.
- Oct 5 — Assignment 3 has been posted. There are three milestones, due (respectively) Wed Oct 12, Mon Oct 24, and Mon Oct 31. Note that the requirements of MS1 are minimal: you just need to submit a program that compiles and runs, but there is no requirement to implement specific functionality.
- Oct 2 — There was a mistake in the answer to question 1.d in the Exam 1 review solutions. In the answer to the multiplication part of the question, the exponent of the product was incorrectly indicated as 3 (encoded as 130), but the correct exponent is 2 (encoded as 129.) The solution has been corrected.
- Sep 29 — The due date for Milestones 2 and 3 of Assignment 2 have been moved to Friday Sept 30th and Friday Oct 7th, respectively.
- Sep 27 — Assignment 2 has been updated to clarify
that the unit test functions not related to
draw_pixel
should be commented out in your submission for Milestone 2. See the Grading breakdown section. - Sep 22 — Assignment 2 has been updated with a link to a screencast video which demonstrates implementing, testing, and debugging assembly code.
- Sep 12 — Assignment 2 has been posted. It has three milestones, due (respectively) Tuesday Sep 20, Thursday Sep 29, and Thursday Oct 6.
- Aug 29 — Welcome! Assignment 1 has two milestones, due at 11pm on Tuesday, Sep 6 and Tuesday, Sep 13.