Warmups

Goals of Warmups

  • Students & instructors practice standard git workflow every day.
     
  • Students practice solving novel, yet bite-sized, problems every day.
     
  • Instructors get daily feedback on student progress.
     
  • Students end up with a fantastic reference for idioms, interview practice, and code they've written

Git Workflow

As a software engineer in industry, you will use your version control system multiple times every day.

Git Workflow

Instructors will maintain an upstream repo for the cohort

Cohort Master
"upstream"

Git Workflow

Every student should fork this repo

Cohort Master
"upstream"

Student Fork
"origin"

Git Workflow

Then each student should clone their fork

Cohort Master
"upstream"

Student Fork
"origin"

local copy

Git Workflow

Then each student should add the upstream as a remote

Cohort Master
"upstream"

Student Fork
"origin"

local copy

Git Workflow

Every morning, students must pull from upstream to get the days warmup

Cohort Master
"upstream"

Student Fork
"origin"

local copy

Git Workflow

When a student has completed the warmup, they must push their changes to their fork

Cohort Master
"upstream"

Student Fork
"origin"

local copy

Git Workflow

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

Human Process

  1. Write 2 additional tests (after TDD lecture in week 2)
  2. Attempt the problem
  3. After an hour you will have either a partial, or a complete solution.
     
    1. If partial, pair up with someone who completed the problem -- they should walk you through their solution.
       
    2. If complete, pair with someone as above OR give someone with a complete solution a code review

A Problem A Day

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.

Instructor Feedback

Student Feedback

  • Using our automation tool, we can tell which students passed which tests every day.
     
  • Students also get this feedback.
     
  • Especially with warmups that are related to upcoming or recently presented material this is a big win.
     
  • Not attempting the warmup will count as an absence.

Students get a Reference

  • Since part of the instructor workflow is to add solutions to the upstream, students can see their own, as well as instructor solutions!
     
  • These become great reference material to use both in class and when you are studying for interviews.
     
  • Students get to keep their warmups as reference material after they leave Galvanize!

Students get Practice Teaching

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.

Boom, lets warm up

(starting tomorrow)

Made with Slides.com