As a software engineer in industry, you will use your version control system multiple times every day.
Instructors will maintain an upstream repo for the cohort
Cohort Master
"upstream"
Every student should fork this repo
Cohort Master
"upstream"
Student Fork
"origin"
Then each student should clone their fork
Cohort Master
"upstream"
Student Fork
"origin"
local copy
Then each student should add the upstream as a remote
Cohort Master
"upstream"
Student Fork
"origin"
local copy
Every morning, students must pull from upstream to get the days warmup
Cohort Master
"upstream"
Student Fork
"origin"
local copy
When a student has completed the warmup, they must push their changes to their fork
Cohort Master
"upstream"
Student Fork
"origin"
local copy
Every morning when time is up, a script pulls and tests each student's warmup for that day. Reporting on test results, as well as daily attendance.
Forks
Warmup tool
Useful Report
external tests
45 minutes per day * 102 classroom days
=
76.5 hours of programming time
To become proficient in the fundamentals you need about 100 hours of practice in a language.
Evidence suggests one of the best ways to retain knowledge is to teach someone else what you've learned.
Code review and pairing is a great chance to do this.
Plus giving and receiving code review is a good skill to have as a programmer in general.
(starting tomorrow)