Software for Resilient Communities
601.310 (3 credits)

Class Information
Mail List
Class Information


This is a project-based course focusing on the design and implementation of practical software systems. Students will work in small teams to design and develop useful open-source software products that support our communities. Students will be paired with community partners and will aim to develop software that can be used after the course ends to solve real problems facing those partners today. Instructors will connect with the community partners and determine viable project areas prior to the course start. Students will meet with their community partners to analyze the challenges in their project area, agree on a concrete target project outcome, and gather requirements for their project. Based on these requirements, students will design and implement open-source software systems.

Projects for the Spring 2018 semester (pilot offering) focus on communities at four levels:

  • Johns Hopkins University Community: improving the registration process and facilitating communication between students and advisors regarding course scheduling, working with the team and the JHU registrar.

  • Reservoir Hill Neighborhood Community: enabling self-service discovery and scheduling of community center resources via a web-based calendar and scheduling system, working with the St. Francis Neighborhood Center.

  • Baltimore City Community: providing visibility into city park usage patterns by analyzing camera data to answer questions about how many people are visiting the parks and when, working with the Parks & People Foundation.

  • US Community: improving the resilience of the power grid through secure and intrusion-tolerant open-source SCADA systems

For more information about the course, see the Spring 2018 course syllabus: Syllabus

Class Schedule
  • Thursday 4:30-7:30pm, Malone 107

Academic Integrity

Academic Honesty and Ethical behavior are required in this course, as it is 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.

Department of Computer Science The Johns Hopkins University
Questions or comments to:
webmaster (at)
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