This course will be a thorough introduction to Ruby, Ruby on Rails, and modern server-side web application development. Because the best web developers who use Ruby on Rails are also excellent Rubyists, the course will spend a good deal of time on pure Ruby and some of the great things that can be done with standalone Ruby: Using Ruby as “glue” code for systems operations, one-off tasks, etc.
Additionally, while the course seeks to provide a solid understanding of Rails, we will begin our way in web programming with another framework, Sinatra.
Testing: Ruby programmers are innovators in automated testing as well as test-driven development (TDD) and behavior-driven development (BDD). Testing methodologies are not a formal part of the course, but tests will be shown and discussed.
Ruby: Programming Ruby (the Pickaxe) by Thomas, et al. You must own this book, and you must own the newest edition (http://pragprog.com/book/ruby4/programming-ruby-1-9-2-0 – 4th ed., covering Ruby 1.9 and Ruby 2.0). A good “second opinion” is The Ruby Programming Language by Flanagan and Matsumoto.
Rails: Agile Web Development with Rails 4, by Ruby, et al. You must own this book (electronic version OK), and you must own the newest edition (http://pragprog.com/book/rails4/agile-web-development-with-rails-4 – DO NOT get the “Rails 3.2” edition!). A good “second opinion” is Ruby on Rails Tutorial by Hartl.
NOTE: Email the instructor at firstname.lastname@example.org for a discount coupoon that should knock 35% off the price.
Lecture slides and notes will be keyed to all of these resources.
Catch up; discuss final examination
Brief test-driven implementation of a pure-Ruby application
Sinatra web application exposing HTML views and an API
Basic Rails application
Final project: Rails application spec’d by student
Q1. What do I need to know already to take this course?
Q2: How will class be structured?
A2: For some meetings, there will be a conventional lecture followed by discussion. Other meetings will be “inverted,” where you watch videos of material at home, and then the meeting will be more of a workshop.
Q3: How much homework will there be?
A3: Per week: Think 4 hours of reading and playing around, 4 hours of homework, except during the final three weeks when you will probably want to triple that commitment.