Week 12: Code Review (Teaching Notes)
Time (start) | Duration | Topic |
---|---|---|
00:00 | 10 min | Introduction |
00:10 | 40 min | Code review |
00:50 | 10 min | Wrap-up |
01:00 | 80 min | Overall |
If students test the code in Codespaces, the workspace should be started early.
Introduction:
- Key skill: managing complexity (keeping in mind that simple structures are often preferrable to artificial complexity)
- gute Abschlussquote
- komplexes Projekt (git/pre-commit hooks/Python/Python Pakete/CoLRev/…)
- Summarize best practices: code formatters, working in pull-requests, …
- entsprechende Kompetenzen werden in der Bewertung berücksichtigt.
- Bewertung des praktischen Teils macht 70% aus
- Alle Gruppen haben im praktischen Teil sehr gut (1, …) abgeschnitten
- Das schöne ist, dass Ihre Arbeit dem CoLRev Projekt zu Gute kommt und nicht einfach nur archiviert wird.
Setup:
- Maintainer tasks: review PRs, but also take ownership for the project as a whole (guidelines for documentation, code quality, scope, contributors, community)
Review session
- Group: use the beamer
- “think-aloud work”
- Timer: 15 - 10 - 5
Notes on the process (overall: completed in 50-60 minutes)
How to pull remote branch from somebody else’s repo
git remote add coworker git://path/to/coworkers/repo.git
git fetch coworker
git checkout --track coworker/foo
- If some of the students do not actively contribute, ask the group to switch (inactive students taking the lead on the laptop)
- Fetch/switch: clone from the right remote (forked) repository
- Remember to run pip install -e . (to actually execute code from the other group)
TODO: should be completed in groups of two
Concluding Feedback
My feedback (code review) for students: results of code review (if any)
- separate file (demonstrate cursor)
Feedback session: Ask students for reflection and potential improvements
- Anything you would change/improve in the topic assignment procedure? Who thought it was too tough? Who liked it?
- How to use Git more effectively?
-
Should I encourage students to use Cursor/GitHub copilot?
- Ask students to leave us a star on GitHub
After the session:
IMPORTANT: ask student / group separately for individual (under) performance
Evaluation bei ungleichen Beiträgen:
- HIWI: reinbitten, ggf. austreten
- Gruppe ohne “underperformer”: zur Gruppenleistung beigetragen?
-
“underperformer” allein:
- Über Codeanalyse und Gruppeneinschätzung informieren
- Codeanalyse verifizieren (Gelegenheit, konkrete Links nachzureichen) - möchten Sie die Möglichkeit nutzen?
- Weiteres vorgehen: wir entscheiden über die Bewertung.
Backup/Notes
- weitere Python resources mitgeben (zB. how to build a … with python) https://github.com/codecrafters-io/build-your-own-x?ref=hackernoon.com