Course Calendar

Upcoming Project Deadlines

  • In-progress Project One work focused on views and assets posted to Basecamp by Thursday, March 14 at 11:59pm CT

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. Online-only class meeting: attend class on Basecamp chat
    2. Ruby Q&A and discussion

Ruby: Classes & Objects, Procs & Blocks

Week Three
  1. Monday, January 28

    1. Thinking about common types and structures of data
    2. Ruby standard libraries and core classes
    3. Collections: arrays and hashes
    4. Iterators and blocks
  2. Wednesday, January 30

    1. No class. University closed for extreme cold

Conceptualizing Apps and Data; Rails Fundamentals I

Week Four
  1. Monday, February 4

    1. Introduce Project One: Alpha App
    2. Conceptualizing your alpha app and its data
  2. Wednesday, February 6

    1. Alpha App: Emphasis on user input and data
    2. The Rails project history and community; open-source practices generally
    3. Configuring your editor for Git commit messages (Atom as example)
    4. Using Git to understand what different Rails commands are doing
    5. The rails command suite
    6. MVC architecture as expressed in Rails
    7. Building an MVC app by beginning with the models

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. No class; Stolley responding to drafts and posting comments
  2. Wednesday, February 20

    1. Rails environments (development, testing, production)
    2. Unit tests; fixtures
    3. Refactoring tests; setup method

Routes and Controllers

Week Seven
  1. Monday, February 25

    1. Agile development techniques: URL patterns
    2. Conceptualizing your Alpha App based on URLs/routes
    3. 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. ID-less fixtures and seeds.rb
    3. Working with params on associated models
  2. Wednesday, March 6

    1. Views and layouts in Rails
    2. Working with Haml

Views; Assets and Responsive Design in Rails

Week Nine
  1. Monday, March 11

    1. Refresher on controller-view relationships and convention over configuration
    2. Simple forms for nested models
    3. Revising params and instance methods
  2. Wednesday, March 13

    1. The asset pipeline in Rails
    2. Haml, Sass, and CoffeeScript
    3. Responsive design
    4. Functional, system, and integration 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.