Project Timeline

Week 12

  • Form project teams
  • Set up project remore repos in GitHub
  • Learn and practice with GitHub collaborative development
    • Feature branch git workflow
    • Project board to record tasks and division of work
  • Review project proposal requirements
  • Review dataset requirements

Week 13

Class meeting

  • Teams do the following
    • Select dataset
    • Discuss possible project questions
    • Review requirements for the project proposal
  • Class discussion
    • Teams report on selected datasets
  • Work plan for the week
    • Draft PROPOSAL.md
    • Draft README.md
    • Structure the codebase: divide work among team members
    • Each team member has their own:
      • Testing modules for the methods that implement their questions
      • DESIGN.md to document the design of the methods
      • Python modules with the class with methods responsible for implementing theteam members’ questions

Rest of the week: follow and implement the plan

  • Add action items to the remote repo Project board
  • Monitor and document progress from to do, to in-progress, to done
  • Get started on the codebase (see guidelines below)
  • Complete planned activities

Codebase guidelines

In their own source code file, team member will draft

  • Python class:
    • name, purpose, instance variable descriptions
  • Class constructor:
    • parameters and description of instance variable initializations
  • Primary methods that will implement the project’s investigative questions team member is responsible for:
    • name, parameters (if any), return value (if any), and brief description

The other files in the codebase are to:

  • Implement testing functions by selecting test cases
  • Maintain dataset files in data directory. Each team member will:
    • create three small-size datasets from the original data file (with 5, 10, 20 rows)
  • docs directory is used to maintain PROPSAL.md, REPORT.md and the project presentation.

Week 13: Monday deadline

  • Project proposal is due.

Week 14

Class meeting

  • Project test cases and design work
  • Make work plan for the week
    • Finalize testing datasets in the data directory (2 datasets per question)
    • Use OneDrive Excel as an alternative method to calculate the answer to the investigative questions on the small-size datasets
      • Upload the Excel files to a new project directory, excel, using the Upload feature in GitHub
      • Note that Excel files are not plain text files and git version control does not work with these files.
    • Finalize testing functions in the tests directory (2 testing functions per method)
    • Update DESIGN.md to reflect development progress
    • Develop primary and helping methods to implement ONE investigative question in the src directory
      • document, test, design, implement, debug, version control, review
    • Draft client function that illustrates the functionality of the investigative question in client.py module
    • Draft presentation slides using OneDrive PowerPoint
      • Upload the powerpoint presentation to the docs directory, using the Upload feature in GitHub
      • Not that PowerPoint files are not plain text and git version control does not work with this type of files.

Rest of the week: follow and implement the plan

- Add action items to the remote repo **Project** table/board
- Monitor and document progress from **to do**, to **in-progress**, to **done**
- Complete planned activities

Week 14 Wednesday deadline**

  • At least half of the codebase is due
    • Testing and Design of ONE questions (per team member)
    • Project code implementation of ONE question (per team members)
  • Presentation is due
    • Upload slide presentation (PowerPoint format) to docs directory
    • Convert slide presentation to PDF and upload to Canvas.

Week 15

Class meeting

  • Project presentations
  • Discuss exam requirements
  • Make work plan for the week
    • Finalize DESIGN.md
    • Finalize implementation
    • Finalize README.md
    • Draft REPORT.md and HOWTO.md

Rest of the week: follow and implement the plan

- Add action items to the remote repo **Project** table/board
- Monitor and document progress from **to do**, to **in-progress**, to **done**
- Complete planned activities

Week 16

Class meeting

  • Oral exams
  • Make work plan for the week

Rest of the week: follow and implement the plan

- Add action items to the remote repo **Project** table/board
- Finalize REPORT.md
- Monitor and document progress from **to do**, to **in-progress**, to **done**
- Complete planned activities

Week 16 deadlines

  • Friday: codebase is due
  • Monday Project report is due