Distributed Systems: 601.417 / 600.617

Class Information
Reference Material

Announcement will be made on Slack. Please join the Slack workspace.

Class Information
Teaching Assistant
Special Help

The course teaches how to design and implement efficient tools, protocols and systems in a distributed environment. The course gives some hands-on experience as well as some theoretical background. The programming assignments and the project in the course should be done in C / C++. User interface parts of programs can be built in java if that is desired. The assignments will be evaluated on the Ugrad1-Ugrad20 cluster in the undergrad lab.

For more information about the course please contact the instructor.
  • Intermediate Programming Course (601.220)
  • Data Structures ( 601.226 )
Class Schedule
  • Tuesday 3:00pm - 4:15pm, Shaffer 301
  • Thursday 3:00pm - 4:15pm, Shaffer 301
Office Hours
  • Yair Amir - Tuesday 5:00pm - 6:00pm
  • Jerry Chen - Thursday 1:30pm - 2:30pm
  • In addition to Slack, you can e-mail us any time or drop by office or lab (Malone 209 or 207).
Academic Integrity

Academic honesty and ethical behavior are required in this course, as they are in all courses at Johns Hopkins University. This course will strictly enforce the Computer Science Department Academic Integrity policy, which can be found at the department's web page.

For each lecture we will have a link to the lecture slides, which will include links to recommended reference material for that lecture's topic where applicable.

Fall 2021 Lectures:

Old Fall 2019 Lectures:

Older but worthwhile lectures no longer in the course:

Reference material for the class, including useful books, web sites, articles, etc are available.

All the source code presented during tutorials is also available on the ugrad machines in the directory ~cs417/tutorials/
Exercises & Homeworks

The course includes the following assignments:

  • Two theoretically-based homework assignments.
  • 3 practical programming exercises.
  • A final project.
    Department of Computer Science The Johns Hopkins University
    Questions or comments to:
    webmaster (at) dsn.jhu.edu
    TEL: (410) 516-5562
    FAX: (410) 516-6134
    Distributed Systems and Networks Lab
    Computer Science Department
    Johns Hopkins University
    3400 N. Charles Street Baltimore, MD 21218-2686