Introduction to Ruby on Rails

"I believe people want to express themselves when they program. They don't want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby." — Yukihiro Matsumoto

Overview

In this three day workshop, we'll cover the Ruby programming language and beginner and intermediate Rails. We'll discuss test driven development and testing Rails applications.

Be prepared for lots of hands-on exercises, since we'll split the topics in to lecture and workshop times.

What Will I Learn?

  • The Ruby Programming Language
    • Ruby is a strongly typed dynamic object oriented programing language.
    • _why's Poignant Guide to Ruby
    • Ruby Cheat Sheet
    • Basic Syntax
      • Truthy, falsey
      • Return values
      • Memoization
      • Iterators/blocks
      • attr_accessor/instance variables
      • Inline conditionals
    • Object Oriented Philosophy
      • Inheritance
      • Duck-typing
      • Dynamic dispatch
      • Message sending philosophy
      • Delegating
    • Behavior Sharing
      • Inheritance
      • Modules
      • Composition
    • Testing with RSpec
  • Ruby on Rails
    • Rails Guides
    • Creating a new App
    • Basic Git
    • Running the application locally
    • Creating a resource with scaffolding
    • MVC explained
      • Active Record
        • Naming conventions
        • Foreign Keys
        • Basic create, update_attributes, save, destroy
        • Finders
    • Basic Routing
    • Object Relationships
    • Controlling navigation flow
    • More examination of REST workflow from UI
    • Advanced Rails
    • Introduction to Cucumber
    • Tools/Libraries

Instructors

Chris Nelson

Chris Nelson is the Co-Founder and Chief Scientist at Gaslight, an agile software development firm in Cincinnati. He heads up the company’s training program, mentors young developers and sets technology direction. What does he love most about his job? Sharing what he’s learned from nearly 20 years developing software across a wide range of industries. Chris has given workshops across the country in AngularJS and Ember.js, and spent time teaching at Dev Bootcamp in Chicago. He’s spoken at RailsConf, RubyConf, BackboneConf, JavaOne, HTML5 Developer Conference, No Fluff Just Stuff, CodeMash and many others.