Deliverables and assessments


This is a tentative list of assignments. These may be adjusted or merged depending on how the course flows.

Assignment Title Topics covered Points
a00 Setup Installing software; git and Github; bash/command line 71,428
a01 Node Package management; creating packages; Node.js; npm 71,429
a02 Functions and modules Running JavaScript as program; JavaScript functions 71,428
a03 API Turning functions into endpoints; REST; Express 71,429
a04 Logging and database Interface an API with a database; store logs 71,428
a05 Web interface Connect an interface to your API 71,429
a06 React and auth Reactify your app; add authentication 71,429
a99 Final project Collaboration; Project planning and management 300,000

Assignment submission

All assignments will be handled by GitHub classroom. Pushing code to the repository created when you accept assignments will submit the assignment for grading.

You can submit (push) as many times as you need to in order to pass the unit tests configured in GitHub classroom.

There are due dates for the assignments, but think of these as guideposts to help you keep up so that you do not get behind. The due date will not cut off submission.

You will always be able to submit or resubmit after the due date has passed.

You will not lose points for pushing code to your assignment repos after the due date for a given assignment has passed, ever.

Final project

Your final project will be developed with a team.

This Spring, we are going to focus our attention on public health information apps and systems. Your team will design an app that fits one of the following profiles or similar:

  • Public health information dashboard
  • Public health information tracking app (reporting test or vaccine status, etc.)
  • Public health resource tracking app (availability of testing, masks, PPE, vaccination, other supplies, etc.)
  • Emergency management information portal (planning and decision-making for institutions, government, agencies, etc.)
  • Outbreak/cluster tracking app or dashboard
  • Public health information app for end users (to provide useful information and aggregate credible sources)

Your team will use GitHub to plan and manage your project. You will create documentation for both developers and users of your app. You will also create demos as part of that documentation.

Presenting final projects

There will be no in-class presentation for your final project. Instead, your team will produce a demo video.

See a99 instructions for details.

It is okay for your project to still be a work in progress when presented.

All final project materials will be due on the day scheduled for the final exam.


There will be several assessments throughout the course.

You will take a questionnaire at the beginning of the course that gives us a baseline for your familiarity with certain tools and concepts.

There will also be midterm and final questionnaires, but they will not assess specific knowledge in the way a traditional exam does. Instead they will assess your familiarity with concepts and tools that we are using in the course and allow us to compare across the semester.

Assessment Purpose Form Points
Beginning Establish a baseline for skills and topic familiarity Questionnaire 50,000
Midterm Progress and check-in GitHub + Questionnaire 50,000
Final Self- and team-assessment GitHub + Questionnaire 50,000

The midterm and final will include a self-assessment component and also an assessment of your team dynamics.

These assessments are designed to evaluate our teaching effectiveness as much as they are designed to assess your skill and familiarity with concepts and tools.