Paul Bodily About Courses Research Outreach Tips for Communicating Teaching Philosophy Vitae

Assignment Descriptions

Group Project Team Formation

Send me via email or Discord a ranked list of your preferences for working on the following teams:

  1. Problems
  2. Solutions
  3. Visualizations

Group Project Proposal

For your group project proposal, send me a PDF via email (one per team) with the following information:

  1. A list of problems (or solutions or visualizations) in the order in which you plan to implement them. Start with the simplest one first (a sort of "Hello, World!").
  2. Your team members names and assigned responsibilities. In particular, you will need people assigned to each of the following:
    1. info box curation and about us page updates
    2. spade parser/problem format expert
    3. API expert
    4. additional roles as needed (e.g., query problem expert, assign specific problems, etc.)
    These roles are not to silo you; you need to collaborate and discuss each of these as a team, but you will need to specialize to be effective. There will be times when you will meet with members from other teams that have the same role as you.
  3. The names and URLs of the forks of the Redux repo(s) for your team to work on (one on the frontend and one on the backend).
  4. A list of milestones with dates that you will aim for
  5. A short list or paragraph describing in detail any dependencies you foresee with other project groups

Final Project Oral Presentations

Please read and adhere to the following requirements carefully. The emphasis here is very much on delivering a polished, live demonstration. For each feature (e.g., problem, solution, verifier, visualization) that your team implemented:

  1. Show us how to locate the feature on the website.
  2. Show us the information dialog box for the feature, reading its contents aloud, showing us any sites linked with hyperlinks, and generally explaining the motivation for decisions made in the information dialog box.
  3. Demonstrate that the feature works as expected on a variety of inputs. In general, we want to have some confidence of how the feature works and, simply, that it works (independent of how well the contributions of other teams work). Feel free to use any combination of the following to accomplish this (you do not need to show all of these for every feature, only those necessary to demonstrate successful execution of the feature):
    1. Using the visualization
    2. Code on Github
    3. Swagger API or direct API calls
    4. Web browser developer tools
  4. Your assessment as to whether or not you consider the feature complete or what additional adjustments are needed

Besides the features that were implemented, your presentation should include a few slides/minutes devoted to the following topics:

  1. Show us your teammates' names on the "About Us" page of the website
  2. Your general experience with the Redux framework and (where appropriate) SPADE: How easy was it to learn the codebase? To contribute new features? Was the way we split up teams effective or what would you recommend next time?
  3. Future work: This can include additional problems/solutions/visualizers you would have implemented next, but please also include other features you may have considered that would improve users' experience with Redux to learn about quantum computing
  4. An answer to this specific question: Is there work that you have completed that has not been submitted as a pull request that we need to follow up on after the semester is over? (Please add to the github issues as appropriate)

Each team member should take a turn presenting some aspect of the presentation. The entire presentation should take about 15 minutes per team, allowing 5-10 minutes for question and answer following the presentation.

Final Project Written Reports

Prepare a written report in whatever format you like that essentially outlines the same information as you deliver in the oral presentation (i.e., elements 1-4 from the list above for each feature plus the additional 4 elements). This written report will very likely serve as the starting point for others who will pick up from where you left off, so be specific, aim for replicability, and leave any and all information that you would like to have if you were picking up the project from where you are leaving off. This should include but not be limited to:

  1. Screenshots of features on Redux
  2. URLs to github
  3. Example API calls and explanation of their results
  4. Tables or figures with example inputs and generated results (This might be useful: https://www.tablesgenerator.com/)
  5. Contact information for group members

Submit one report per group in PDF format.

Your team will all receive the same base grade for the project presentation and report. To augment this, each team member will e-mail me a thoughtful and honest evaluation of the contributions of their team members, including themselves. For each individual, this evaluation should include a score from 1 to 10 indicating your evaluation of their work (10 meaning they were a valuable member of the team that made significant contributions to the project and were good to work with, 1 meaning they contributed nothing and were difficult to work with). If you would like, you may also include any clarifying comments, etc. (especially for low scores). If a person receives consistently low evaluations from peers, then their project scores will be proportionally decreased.

Once the semestester is over...

If you are interested in continuing work on Redux after the semester is over, please feel free to send me an email. You are welcome to join our weekly lab meetings, join our project Discord server, and/or continue to submit pull requests on any aspect of the project.