Welcome to the website for Computer Systems Fundamentals (Spring 2023) 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/
Please email daveho@cs.jhu.edu if you need to get access to Courselore or Gradescope.
News
- Apr 21 — Exam 3 will take place on Wednesday, May 10th at 9 am in Mergenthaler 111. Review materials are available on the Resources page. Class on Friday, April 28th will be a review session for Exam 3. (Please bring questions!)
- Apr 10 — Assignment 5 has two milestones. Milestone 1 is due Wednesday, April 19th, and Milestone 2 is due Friday, April 28th. Note that each milestone is weighted as a full assignment.
- Mar 29 — Assignment 4 is due on Monday, April 10th.
- Mar 28 — Exam 2 will take place in class on Wednesday, April 5th. Review materials are available on the Resources page.
- Mar 1 — Assignment 3 has 3 milestones, due (respectively) Monday, Mar 6th, Wednesday, Mar 15th, and Wednesday, Mar 29th.
- Feb 27 — The due date for Milestone 2 of Assignment 2 has been extended one day, to Tuesday, Feb 28th.
- Feb 15 — Exam 1 will take place in class on Friday, Feb 24th. Review materials are available on the Resources page.
- Feb 9 — Assignment 2 has been updated to more clearly indicate that the programs are intended to read input from a file rather than from the terminal.
- Feb 6 — Assignment 2 has two milestones, due Friday, Feb 17th and Monday, Feb 27th, respectively.
- Jan 23 — Welcome! Assignment 1 has two milestones, due Monday, Jan 30th and Monday, Feb 6th, respectively.