קורס רובי און ריילס: Syllabus

Syllabus

The course will meet 12 times, 4 hours each, twice a week, םמ Mondays and Thursdays from 17:00 - 21:00, totaling 48 hours.

Teacher: Assaf Goldstien

Description:
This is a course designed for experienced programmers who are new to the Ruby language, and who are new to Web development. Participants will learn how to program in Ruby and how to develop Web applications using the Ruby on Rails framework. The course will conclude with a personal project that will give participants a chance to use what they have learned on a small application that is of personal interest to them. 
Half of the course will be dedicated to in-class instruction and the second half of the course will be dedicated to building and practicing RoR development while the instructor will be present to help and recommend best practices, gems and solutions.

Prerequisites:

Participants are expected to have a background in object-oriented programming, preferably with a dynamic language such as Perl, Python, PHP, or JavaScript. Participants will use their own computers; while it is possible to use Windows, it will be easier for those who use Macintosh- or Linux-based machines.
Participants are expected to install the latest versions of RVM, Ruby and Rails before the course starts.

Technology:

The course will use Ruby 1.9 and Rails 3.2, the latest versions of both technologies.

Course Agenda
  • Session One
    • Meet Ruby
      • intro examples of the language
    • Meet Rails
      • The Eco system,MVC, Development Process
    • Setup Your Development Environment
      • On windows | on Mac | on Linux
    • Lets Build a Blog Application 
  • Session Two - Our Application
    • Specs of our new Application
    • Model Setup and Design
    • Validation
    • Make better UI with Gems and Pluggins
  • Session Three - getting social!
    • Authentication -
      • Overview, Oauth, omniauth, DIY
    • Sending  Email
    • Connect to Social Networks
      • Facebook / Twitter / FourSquare
    • Background Processing
      • techniques and solutions examples...
  • Session Four - we're going Mobile
    • UI considerations
    • Performance Considerations
    • Available Solutions
    • Adding Mobile View to our Application
  • Session Five - Testing 
    • Testing our Application
    • Unit Testing
    • Functional Testing
    • Acceptance Testing
    • Build Machine
  • Session Six - Deploying our app
    • DIY / Amazon EC2 / heroku
    • Background Processing
  • Session Seven => Twelve - Practice Makes Perfect
    • 6 sessions will be dedicated to practicing programming and building real applications in class together with the teacher in order to help over come the learning curve easily with a supportive community.