Welcome to the website for Computer Systems Fundamentals (Fall 2020) 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/fall2020/601229
- Gradescope (assignment submission): https://www.gradescope.com/
News
- Dec 9 — Errors in the exam 4 review solutions have been corrected.
- Dec 8 — Solutions to the exam 4 review problems and the Fall 2019 final exam solution are available.
- Dec 6 — Slides and example code for the Dec 7th class meeting are available on the Schedule page.
- Dec 5 — Exam 4 review problems are available.
- Nov 29 — Assignment 7 will be worth up to +4.5 points added to your course average. This makes it worth about half of a normal assignment, but it is strictly extra credit.
- Nov 23 — Assignment 7 has been updated with an automated test script and example input.
- Nov 20 — Assignment 7, an optional extra-credit assignment, is due by Friday, Dec 11th.
- Nov 8 — Solutions to exam 3 practice problems are available.
- Nov 6 — Exam 3 practice questions are available. Also note that Questions 2 and 3 from the Spring 2020 final exam are relevant to Exam 3 topics.
- Nov 4 — The Schedule has been updated with the remaining lecture slides and example code.
- Oct 18 — The Spring 2020 final exam solution and answers to the exam 2 practice questions are available.
- Oct 15 — Exam 2 practice questions have been posted on the Resources page.
- Oct 12 — More lecture slides and example code have been posted on the Schedule page.
- Oct 8 — Major schedule updates:
- The Schedule has been updated (assignment due dates are now listed, some exam dates have changed)
- The deadline for Milestone 2 of Assignment 2 has been extended to Friday, Oct 9th due to an autograder issue
- Assignment 3 milestones have been changed to Friday 10/16, Tuesday 10/27, and Tuesday 10/30
- Exam 2 has been moved to Monday, Oct 19th
- Assignment 4, Assignment 5, and Assignment 6 have been posted (see Assignments for due dates)
- Oct 7 — Assignment 3 has been posted. There are three milestones, due Tuesday, October 13th by 11pm, Friday, October 16th by 11pm, and Tuesday, October 20th by 11pm.
- Oct 5 — The due date for Assignment 2 has been changed to Wednesday, Oct 7th by 11pm.
- Oct 2 — An improved Makefile for Assignment 2 is available.
- Sep 22 — Solutions to the assembly language mini-exercises are available.
- Sep 22 — A solution to the spring 2020 midterm is available.
- Sep 22 — Answers to the exam 1 review questions are available.
- Sep 21 — Review questions for exam 1 are available. Also note that the x86-64 mini exercises may be helpful.
- Sep 18 — The Schedule has been updated.
- Sep 16 — The due dates for the Assignment 2 milestones have been moved back to Tuesday, September 29th and Tuesday, October 6th, so that they don’t coincide with Exam 1.
- Sep 16 — Exam 1 will be released (as a take-home exam) on Wednesday, September 23rd. A practice exam is available on the Resources page.
- Sep 15 — Assignment 2 has been posted. There are two milestones, due
Wednesday, September 23rdby 11pm andTuesday, September 29thby 11pm, respectively. - Sep 14 — The Syllabus has been updated; we have increased the total number of late days from 5 to 7 (but note that you can’t use more than 5 late days on any single assignment.)
- Sep 9 — The due date for Assignment 1 has been changed to Tuesday, September 15th by 11pm.
- Aug 31 — Assignment 1 is due Monday, September 14th by 11pm.
- Aug 31 — Welcome back!