Teacher's Manual
  • Introduction
  • Answering Questions on Piazza
  • Notable questions
  • Chesterton's Fence
  • Docker Essentials
  • Notes on curriculum design
  • Notes on presenting
  • Pair Teaching
  • Eliciting Questions During Class
  • Office Hours
  • Open Office Hours
  • How To Write Tests
  • Beginner-friendly Code Style Guide
  • rails grade
  • Audit Requests
  • Setting Up Canvas
  • Setting Up GitHub
  • Preparing for Day 1
  • Syllabus
  • How To Create A Project
  • How To Setup an LTI Assignment
  • LTI Tools
    • Grades
  • Possible Format For Lecture Notes
  • Configuring Cloud9
  • Projects Checklist
    • AD1 HW Checklist
    • AD1 Gitpod Extensions and Settings
    • AD2 HW Checklist
    • Adding Dependencies to a Project
    • Adding Specs to a README
    • Updating Gitpod Docker Image
    • Updating Old Projects Checklist
  • Integrating GitHub with Slack
  • Mastering Git
  • Class Recordings
  • How to update Youcanbook.me
  • Swag
Powered by GitBook
On this page

Chesterton's Fence

PreviousNotable questionsNextDocker Essentials

Last updated 4 years ago

As the course gets close to ten years old, I find myself more and more often forgetting the cost-benefit-analyses that led to changes that we made in the past.

In isolation, certain things we do seem cumbersome and unnecessary. For example, why do we only teach where? Why did we stop showing find_by and find? I vaguely recall this was due to years of e.g. 404 exceptions within association helper methods (due to overuse of find) and undefined method each for nil (due to overuse of find_by). But it gets harder to keep that in mind as time goes on, and newcomers to the teaching team have no idea.

Eventually, I switch things back to the old way, and then we go round and round and round. I need a for myself, basically.

I propose that we start collecting rationale for our most counterintuitive beginner-friendly practices in one place; let's start here, in this document.

It will serve as an on-boarding guide for new faculty coaches (what they shouldn't show students), as well as "regression tests" for us as we continue to make improvements or revert changes.

  • where, find, find_by

  • old hash syntax

  • no view helper methods (e.g. link_to)

Chesterton's fence