Completing the Assignment
Communication and Collaboration
Collaborate with your partner on understanding the assignment requirements and support each other in applying the best development practices. Also, participate on Discord, join study groups, reach out to course instructors, schedule one-on-one tutoring sessions.
- Each team member writes their own test cases, design descriptions, and their own Python implementation.
- Collaborate on understanding the requirements, troubleshooting bugs, and supporting each other to follow development guidance and be on time with each submission.
- Update the module docstrings to include the name of your partner.
Note: No plagiarism is tolerated in this class when collaborating with others.
- Collaborating does not mean behavior triggered by:
- “What exactly do I write here?”
- “Show me your code, please!”
- “You can get my code, no problem!”
- “Show me your design”
- Collaboration is what and how we practice development in class, using Discord, working in study groups, asking tutors for help. Forms of collaboration are:
- Ask questions.
- Provide hints and guidance to lab or homework problems (not answers).
- Ask for help with bugs.
- Give debugging advice.
- Point to concepts and their properties to help with understanding the underlying theory or principles.
- Do not copy from the internet.
- Do not ask somebody or something else to do the work for you.
- Give attribution to sources and people that help you with the assignment.
Evaluation
The evaluation rubric has the following sections. The weigths for each section depends on a particular assignment.
- Test cases
- Minimum number of tests has to be present
- Testing requireemnts regarding the happy path and edge cases must be met
- Design
- DESIGN.md has the description of the computational steps for the design of the functions/methods
- Implementation
- Meet all the implementation requirements given in the module’s docstrings
- Incremental Development
- Minimum number of commits has to be present
- Commits must have meaningful messages.
- Commits must be in the correct order of test-driven incremental development
- Coding Style
- Eliminate the problems identified by PyCharm.
- Run pycodestyle and pylint to eliminate any styling errors.
Submission
Do incremental development in the local repository, that is stage and commit all units of development and development steps with git local commands.
git status
to see untracked files and/ or modified files (in red)git add <file name>
to stage (or prepare for commit) the filegit commit -m 'meaningful message'
to commit to changes into commit history of gitgit log
to see all commits so far
When you have the final version of the repo on your machine:
- In PyCharm terminal, use the git command
git push origin main
to sync your local repo with the remote repo. - In GitHub, verify that the remote repo has all your local commits.
- In Canvas, submit the URL of your remote repo.