This document describes the three stages of projects that we assign during the classroom curriculum. Each stage describes a different level of expected knowledge and independence.
- Closely follows in-class examples
- Introduces new concepts
- Individual
- Project definition provides:
- Full specification of requirements with details around method, data structures, classes, etc.
- Pre-provided tests (where appropriate)
- Students complete:
- Code to specification
- Tests pass
- Follows some of in-class examples
- Builds off of concepts in stage 1 project
- Individual or pairs
- Project definition provides:
- User stories
- Students complete:
- Create the methods and classes based on user stories
- Code based on created specification
- Tests
- Requires critical application of concepts
- Must go beyond in-class examples
- Reinforces previous concepts in stage 1 and 2
- Pairs or teams
- Project definition provides:
- Requirements that are open to interpretation
- Students complete:
- Make design decisions
- Create user stories and project specification
- Code based on created specification
- Test
- May not fully complete the project