Skip to content

Instantly share code, notes, and snippets.

@saterus
Created August 31, 2013 16:37
Show Gist options
  • Save saterus/6399312 to your computer and use it in GitHub Desktop.
Save saterus/6399312 to your computer and use it in GitHub Desktop.

Custom Curriculum

  • Short, focused classes
  • Clear goals from the outset
  • Measurable progress & outcomes
  • Tangible takeaways

Subjects

  • Ruby
  • OOP
  • Git
  • Vim
  • Unix
  • HTML/CSS
  • Javascript
  • Sinatra
  • Rails
  • Rspec
  • jQuery
  • Project Management
  • Web APIs
  • Markdown
  • YAML
  • JSON

Project Ideas

Easy

  • dice roller
  • bowling kata
  • self referential line counter
  • recursive line counter
  • data structures
    • linked list
    • queue
    • binary tree
    • graph
  • roman numeral kata
  • data conversion (csv -> html, html -> csv)
  • madlibs
  • credit card validator
  • subdomain validator
  • reimplement attr_reader/writer/accessor
  • simple delegator

Medium

  • blog
  • cryptogram maker
  • todo list/task tracker
  • rock paper scissors ai
  • account verifier (api practice. "user exists on github")
  • data structures
    • hash table
    • heap
    • priority queue
  • supermarket pricing kata
  • secret santa
  • mastermind
  • connect four
  • math captcha
  • short unique filename generator
  • huffman encoding
  • cookie parser
  • repl
  • typewriter text printer

Hard

  • blackjack
  • data structures
    • avl tree
    • red black tree
  • quine
  • roguelike dungeon crawler
    • level editor
    • item editor
  • etsy bulk editor (api practice)
  • solitare cipher
  • ascii art image generator
  • lost cities game
  • employee scheduler
  • current temperature (api practice)
  • richochet robots

Really Rather Large

  • web crawler
  • search engine

Classes

Ruby: Ruby Homework

  • what: short, repeatable exercises
  • goal: problem solving at the microscopic level
  • resources: code wars, exercism, alex
  • length: 4 weeks, 4 per day, 5 days a week (<20m per kata)
  • due date: 80 completed by Oct 1

Object Oriented Design Theory Class

  • what: principles for designing good programs
  • goal: finish reading POODR
  • resource: POODR, sandi metz on confreaks, destroyallsoftware, peepcode
  • length: 1 month
  • due date: Oct 1

Beginner Capstone

  • what: large project involving multiple moving pieces and changing requirements
  • goal: design, refactor, expand, maintain the Math Wizard game
  • resources:
  • length: 2 months
  • due date: Nov 1

Udacity Intro to Programming

  • what: introduction to programming. 1st year of college, build a search engine.
  • goal: basic data structures, problem solving techniques
  • resources: udacity
  • due date: ?

Intro to Web

  • what: introduction to html, css, and http concepts
  • goal: familiarity with most common html tags, css attributes, and understanding of http protocol
  • resources: code academy intro to web

Indefinite Classes

Introduction to Vim

  • what: pick one new command per day to learn
  • goal: basic proficiency in vim
  • resources: vimtutor, vimadventures
  • length: <10m

Introduction to Unix

  • what: pick a new unix command, concept, or trick to learn per day
  • goal: comfort at the unix terminal
  • resources:
  • length: <10m

Typing Speed

  • what: type faster for less delay in getting words on the screen
  • goal: 50% increase in wpm as measured by typing.io
  • resources: typing.io
  • length: indefinite, 10m per day

Special Topics Course

  • what: short, deep dives into different technologies and problems
  • goal: become familiar with a multitude of topics, vocabulary. awareness of problems and solutions.
  • resources: confreaks. railscasts. peepcode.
  • length: indefinite, 2 per week, 4 weeks.

Build a Blog Again and Again

  • what: build a blog as a repeatable kata
  • goal: learn sinatra. then rails. then javascript. then markdown.
  • resources: peepcode. sinatra wiki. all the rails resources
  • length: 1 day, lather rinse repeat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment