...
Activity/Proficiency | Fundamental Awareness | Novice | Intermediate | Advanced |
---|---|---|---|---|
Code management | Fetching code samples and other material from a code repository prepared by others, and being aware of the flow. | Basic commands for committing, pushing and pulling, and understanding what merge conflicts are and how to handle them. | Versions, tagging and branching and merging. Forking and updating. | Deployment and releases. |
Continuous integration | Running pre-made tests on their code and understanding the fundamental idea of testing code behavior. | Writing and running their own unit tests (not necessarily TDD). Using a build system for assembling a runnable application. | Unit and integration testing, driven by build system. | CI automation using a server. |
Issue tracking | Use issues tracking system to report bugs (to some system they are using). | Use issues to manage requirements that drive development. | ||
Code review | Going through code with others, to improve/ensure quality. | Pull requests, for contributing fixes to other system. | Using code review within own process, to close issues. |
Staged introduction (proficiency mapped to semester)
Activity/ProficiencySemester | Fundamental Awareness | Novice | Intermediate | Advanced | Code management | 1,1 | 2 | 3 | 4 | ,5 | ,6 | 7 | ,8 | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code management | ||||||||||||||||
Continuous integration | 1, 2 | 3 | 4, 5, 6 | 7, 8 | Issue tracking | 3 | 4||||||||||
Issue tracking | ||||||||||||||||
Code review | 4, 5 | 6 | 7, 8