Course Calendar

Course Overview; Ruby I

Week One
  1. Monday, January 14

    1. Welcome & introductions
    2. Course policies & calendar
    3. Course technologies
    4. Blindingly fast tour of Ruby on Rails
  2. Wednesday, January 16

    1. Ruby syntax and structures
    2. Ruby style, source-formatting, and idioms
    3. Setting up devdocs.io
    4. Navigating and referencing Ruby documentation

Ruby II

Week Two
  1. Monday, January 21

    1. No Class; MLK Holiday
  2. Wednesday, January 23

    1. Collections: arrays and hashes
    2. Ruby standard libraries and core classes
    3. Iterators and blocks

Conceptualizing Apps and Data

Week Three
  1. Monday, January 28

    1. Remaining Ruby Q&A
    2. Introduce Project One: Alpha App
    3. Thinking about the common types and structure of data
  2. Wednesday, January 30

    1. Conceptualizing your alpha app and its data

Rails Fundamentals I

Week Four
  1. Monday, February 4

    1. The Rails project history and community; open-source practices generally
    2. Configuring your editor for Git commit messages (Atom as example)
    3. Using Git to understand what different Rails commands are doing
    4. The rails command
  2. Wednesday, February 6

    1. MVC architecture as expressed in Rails
    2. Building an MVC app by beginning with the models
    3. The Rails console

Models and the Strucure of Data

Week Five
  1. Monday, February 11

    1. Bespoke data structures and the primacy of models
    2. Object-relational mapping (ORM)
    3. Models and migrations
  2. Wednesday, February 13

    1. Models and associations
    2. Models and validations

Rails Fundamentals II

Week Six
  1. Monday, February 18

    1. Agile development techniques
    2. Unit tests; fixtures
  2. Wednesday, February 20

    1. Gemfiles, Bundler, and semantic versioning
    2. Rails environments (development, testing, production)

Routes and Controllers

Week Seven
  1. Monday, February 25

    1. Conceptualizing your Alpha App based on URLs/routes
    2. Routing in Rails
  2. Wednesday, February 27

    1. Scaffolded controllers
    2. Controllers and CRUD actions

From Controllers to Views and Layouts

Week Eight
  1. Monday, March 4

    1. Checking in on Alpha Projects
    2. Views and layouts in Rails
    3. Working with Haml
  2. Wednesday, March 6

    1. Complex forms for nested models

Assets and Responsive Design in Rails

Week Nine
  1. Monday, March 11

    1. The asset pipeline in Rails
    2. Haml, Sass, and CoffeeScript
    3. Responsive design
  2. Wednesday, March 13

    1. Refresher on controller-view relationships and convention over configuration
    2. Functional tests

Spring Break; No Class

Week Ten

Review & Refresh

Week Eleven
  1. Monday, March 25

    1. Open Q&A; catch-up day
  2. Wednesday, March 27

    1. Final Q&A before project turn-in

Sessions and Users, OAuth; Functional, Unit, and Integration Testing

Week Twelve
  1. Monday, April 1

    1. Introduce Project Two/Beta App
    2. Working collaboratively in Git/GitHub
    3. OAuth-based user authentication
    4. Session variables and persistence
    5. Helper methods
  2. Wednesday, April 3

    1. Functional and unit testing
    2. Integration testing

Authentication, Continued

Week Thirteen
  1. Monday, April 8

    1. Building out routes and controllers
  2. Wednesday, April 10

    1. Helper methods and maintaining session state

Work Week

Week Fourteen
  1. Monday, April 15

    1. No Class
  2. Wednesday, April 17

    1. Q&A and open lab time

Final Project Presentations

Week Sixteen
  1. Monday, April 29

    1. Final Project presentations
  2. Wednesday, May 1

    1. NO CLASS MEETING. Stolley available electronically to provide help on final projects.