Welcome to the website for Computer Systems Fundamentals (Fall 2026) 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/
Please email daveho@cs.jhu.edu if you need to get access to Courselore.
News
- Sep 18 — Assignment 2 has been updated to have a more complete set of suggested helper functions, and to show a more interesting example of using both callee-saved registers and memory variables.
- Sep 16 — Assignment 2 has three milestones, due Friday, September 25th, Friday, October 2nd, and Friday, October 9th, respectively.
- Sep 14 — Details about how Code Walkthroughs work are available.
- Sep 8 — An update to Assignment 1 clarifies the intended behavior of the division operator when the dividend is negative.
- Aug 31 — Assignment 1 has two milestones, due Wednesday, September 9th, and Wednesday, September 16th, respectively.
- Aug 25 — Welcome back! Here are a two things you should do at
your earliest convenience:
- You will need an iClicker remote in order to participate in peer instruction
quizzes in class. You have two options:
- We can loan you one for use during the semester. To borrow one, fill out the form at https://forms.gle/tscPCbPdLC5ZfccT7 and then stop by to pick one up either Saturday, August 29th, 1–3 pm, in the breezeway between Malone Hall and Mason Hall, or Monday, August 31st, 8–8:45 am, in the 3rd floor lobby of Hodson Hall.
- You can use your own iClicker device. You will just need to register it using the form at https://forms.gle/n4QGKYsWdN59cZrn6.
- We need to know your Github account information in order to set up a repository for you to use during the semester. Please fill out the form at https://forms.gle/7zNvu5ff91goqx87A.
- You will need an iClicker remote in order to participate in peer instruction
quizzes in class. You have two options: