This is a tentative list of assignments. These may be adjusted or merged depending on how the course flows.
|a00||Setup||Installing software; git and Github; bash/command line||71,428|
|a01||Node||Package management; creating packages; Node.js; npm||71,429|
|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|
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.
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.
|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.