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