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.
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 2019 Lectures:
Old Fall 2016 Lectures:
Older Fall 2014 Lecture:
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/|
The course includes the following assignments:
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