Welcome to the website for Computer Systems Fundamentals (Spring 2025) 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
- Feb 7 — Assignment 2 has been updated with a better example of a comment to show register use and layout of variables in the stack frame.
- Feb 6 — Assignment 2 has been updated to
correct an error in the formula for the gradient function in
the
fade
transformation. - Feb 4 — Assignment 2 has three milestones, due Friday, Feb 14th, Friday, Feb 21st, and Wednesday, Feb 26th, respectively.
- Jan 20 — Assignment 1 has two milestones, due Wednesday, Jan 29th and Wednesday, Feb 5th, respectively.
- Jan 19 — The times and location for picking up an iClicker on Tuesday, January 21st are now posted (see the Jan 17 entry below.)
- Jan 17 — Welcome back! You will need an iClicker remote for in-class
peer instruction quizzes throughout the semester. You have two options:
- Borrow one: fill out the form at https://forms.gle/bFZWpFiWPGPRadwv6 and pick up an iClicker either Monday, Jan 20th, between 10 am and 2 pm in Malone 240A, or Tuesday, Jan 21st, 10am–11am and 5pm–6pm, in Malone 122.
- Use your own: fill out the form at https://forms.gle/3kYJcFmyxdsr4XuK7 to register your iClicker’s remote id (so we can connect your poll responses to your participation grade.)