Welcome to the website for Computer Systems Fundamentals (Fall 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
- Nov 29 — Exam 3 will take place at 2pm on Wednesday, Dec 20th in Remsen 1. Review materials are available on the Resources page. We will have a review session in class on Friday, Dec 8th.
- Nov 29 — The due date for Milestone 1 of Assignment 5
has been extended by 1 day to 11 pm on Thursday, Nov 30th,
due to an incompatibility of the client automated testing scripts
with the version of
nc
(netcat) currently installed on the ugrad systems. You can re-download these scripts to get the fixed versions. - Nov 10 — Assignment 5 has two milestones, due Wednesday, Nov 29th and Friday, Dec 8th respectively. Note that this is a “double” assignment, and each milestone is considered to be a full assignment for grading purposes.
- Oct 31 — Assignment 4 is due on Friday, Nov 10th.
- Oct 26 — Exam 2 will take place in class on Monday, Nov 6th. Review materials are available on the Resources page. There will be a review session in class on Friday, Nov 3rd.
- Oct 16 — The due dates for Milestones 2 and 3 of Assignment 3 have been moved to Wednesday, Oct 25th and Wednesday, Nov 1st, respectively.
- Oct 5 — Assignment 3 has three milestones, due Wednesday, Oct 11th, Monday, Oct 23rd, and Monday, Oct 30th, respectively.
- Sep 21 — Assignment 2 has been updated to
explicitly allow calls to
malloc
andfree
in themain
function for the purpose of allocating and deallocating the hash table array. - Sep 21 — Assignment 2 has been updated to correct
a mistake in the pseudo-code for the main input loop of the
main
function. - Sep 13 — Review materials for Exam 1 are available on the Resources page.
- Sep 12 — Assignment 2 has two milestones, due Monday, Sep 25th and Thursday, Oct 5th, respectively.
- Aug 29 — Assignment 1 and its starter code have been updated to fix a mistake in two function header comments.
- Aug 28 — Welcome! Assignment 1 has two milestones, due Wednesday, Sep 6th and Wednesday, Sep 13th, respectively.