Everything is an object, and every operation is a method call (§3.2–3.3)
OOP in Ruby (§3.4)
Reflection and metaprogramming (§3.5)
Functional idioms and iterators (§3.6)
Model-View-Controller Design Pattern (§2.5)
Models: ActiveRecord and CRUD (§2.6)
Routes, Controllers and REST (§2.7)
Template Views (§2.8)
Tarea 1: Se harán ejercicios sencillos de programación para familiarizarse con el lenguaje Ruby. We will provide detailed automatic grading of your code. Ver Instrucciones
Semana Tres:
Duck typing and mix-ins (§3.7)
Blocks and Yield (§3.8)
Rails Basics: Routes & REST (§3.9)
Databases and Migrations (§3.10)
ActiveRecord Basics (§3.11)
Controllers and Views (§3.12)
When things go wrong: Debugging (§3.13)
Forms (§3.14)
Redirection, the Flash and the Session (§3.15)
Finishing CRUD (§3.16)
Tarea 2: Se clonara un repositorio de GitHub que tiene una sencilla aplicación Rails, se debe agregar una nueva caracteristica a la aplicación, y el resultado publicarlo en la plataforma de Heroku. We will run live integration tests against your deployed version.
Semana Cuatro:
Introduction to Behavior-Driven Design and User Stories (§4.1)
SMART User Stories (§4.2)
Introducing and Running Cucumber and Capybara (§4.3-§4.4)
Lo-Fi UI Sketches and Storyboards (§4.5)
Enhancing Rotten Potatoes Again (§4.6)
Explicit vs. Implicit and Imperative vs. Declarative Scenarios (§4.7)
Fallacies & Pitfalls, BDD Pros & Cons (§4.8-§4.9)
Tarea 3: In this homework you will create user stories to describe a feature of a SaaS app, use the Cucumber tool to turn those stories into executable acceptance tests, and run the tests against your SaaS app.
Semana Cinco:
Testing Overview (§5.1)
FIRST, TDD and Getting Started with RSpec (§5.2)
The TDD Cycle: Red-Green-Refactor (§5.3)
More Controller Specs and Refactoring (§5.4)
Fixtures and Factories (§5.5)
TDD for the Model & Stubbing the Internet (§5.6-§5.7)
Coverage, Unit vs. Integration Tests, Other Testing Concepts, and Perspectives (§5.8-§5.11)
Tarea 4: In this homework you will use a combination of Behavior-Driven Design (BDD) and Test-Driven Development (TDD) with the Cucumber and RSpec tools to add a new feature to a SaaS app, and deploy the resulting app on Heroku. Tarea 5: In this homework you will add more advanced features to a SaaS app, including associations among different entity types, third-party authentication such as Facebook Connect, and some JavaScript/AJAX functionality (exact details of HW 5 are still TBD).
Semana Uno:
Semana Dos:
Tarea 1:
Se harán ejercicios sencillos de programación para familiarizarse con el lenguaje Ruby. We will provide detailed automatic grading of your code.
Ver Instrucciones
Semana Tres:
Tarea 2:
Se clonara un repositorio de GitHub que tiene una sencilla aplicación Rails, se debe agregar una nueva caracteristica a la aplicación, y el resultado publicarlo en la plataforma de Heroku.
We will run live integration tests against your deployed version.
Semana Cuatro:
Tarea 3:
In this homework you will create user stories to describe a feature of a SaaS app, use the Cucumber tool to turn those stories into executable acceptance tests, and run the tests against your SaaS app.
Semana Cinco:
Tarea 4:
In this homework you will use a combination of Behavior-Driven Design (BDD) and Test-Driven Development (TDD) with the Cucumber and RSpec tools to add a new feature to a SaaS app, and deploy the resulting app on Heroku.
Tarea 5:
In this homework you will add more advanced features to a SaaS app, including associations among different entity types, third-party authentication such as Facebook Connect, and some JavaScript/AJAX functionality (exact details of HW 5 are still TBD).