/bsu-on-rails

Open source Ruby on Rails training course for students. Feel free to contribute! (check wiki)

BSU on Rails - course outline

Week 0 - Intro:

What is Ruby? "Ruby is designed to make programmers happy", Ruby 101.
What is Rails? MVC, Convention Over Configuration, REST, DRY.
Why Ruby on Rails? Pros and cons.
RVM and ruby installation. Version control systems overview, Git 101.
HW0: Small fun homework. Try ruby, try git, rubymonk.

Week 1 - digging a little bit deeper:

Ruby: OOP, metaprogramming, blocks, iterators, mix-ins, duck typing. Code style.
Git/github: merge/pull request, forks.
HW1: Small refactoring homework from my repo on github.
Rails: MVC. Active Record, CRUD, migrations, Action Dispatch, REST, routes, Action Controller, controllers, Action Pack, views.
HW2: create first Rails project - railstutorial.org.

Week 2 - testing and more Rails practices:

Tests: why should we care? TDD/BDD: Red-Green-Refactor cycle, coverage, testing concepts. Options: minitest, rspec, capybara, cucumber and others.
HW3: small testing homework.
Rails again: models - associations, validations, callbacks - under the hood; routes and controllers under the microscope; views and helpers under the telescope; asset pipeline.
HW4: find idea for own project.

Week 3 - Rails practices continue:

Bundler, gems. Best practices, scopes, nested resources, forms, partials, helpers.
HW5: start own project.
Asset pipeline, scss, coffeescript, AJAX, mailers, respond_to.
HW6: proceed with own project.

Week 4 - Rails advance, Unix-like operating systems, databases overview and some protocols:

Initializers, middleware, yaml configuration, caching. Authentication & Authorization.
HW7: proceed with own project.
Databases: many options. Protocols: HTTP, REST, SOAP.
HW8: own project - final push.

Week 5 - finish, congratulations and projects pitching:

Course overview.
Projects overview.
Tea.