- Thursday 4:30-7:00pm, Ames 234
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.
Current projects during Spring 2021 semester
Projects for the Spring 2021 semester focus on communities at four levels:
- Johns Hopkins Community: Semesterly
Contributors: Mia Boloix, Sebastian Cabrejos, James Wang, Rishibrata Biswas, Jeanie Fung
Semester.ly has become widely used at Hopkins as a course planner, but it has the potential to do more in the arena of course planning. We extend the Semester.ly app to better support the advising process between students and their academic advisors, as well as to enable schedule sharing and brainstorming between students and their friends.
- Regional Community: Health Coalition
Contributors: Abigail Rehmet, Caroline Hoerrner, Elijah Eaton, Melody Hsu, Sam Horrigan
The Near Southwest Preparedness Alliance (NSPA)
is a Virginia-based healthcare coalition serving about one million people with membership that includes hospitals, long-term care facilities, public health, emergency management, and more, coordinating partner response activities during disasters. We create a web-based online tracking system that allows easy online submission of requests by coalition members and intuitive tracking and management for NSPA staff.
- State-level Community: Ballot Curing
Contributors: Isaac Frumkin, Nicholas Bowen, Brice Halder, Andrew Zhang
Absentee ballot rejection is the act of "throwing out" votes due to some sort of error with the ballot.
Potential issues include invalid or missing signature, ID or address discrepancy, and being registered in the wrong county. We build a tracking system that would help contacting the people with the erroneous ballots so they fix them on time, enabling their votes to be counted.
- US Community: Power Grid
Contributors: Megan Rosen, Valentina Alzate, Caroline Reynolds, Ben Cillie, Daniel Weber
As control systems for the power grid migrate to Internet Protocol (IP) technology, they open the door for malicious attackers to compromise our power grid. These attacks greatly intensified over the last few years. We help prepare the Spire system, an intrusion-tolerant SCADA for the power grid, to withstand sophisticated red team attacks on the infrastructure. We develop attack vectors and mitigating mechanisms toward a more resilient grid.
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 Semester.ly 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
- 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
- US Community: improving the resilience of the power grid
through secure and intrusion-tolerant open-source SCADA systems
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.
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