Mastering Ruby and Rails: An Advanced Course
with Dave Thomas and Chad Fowler
Dates & Pricing
-
April 27-30 in Reston, VA
(sold out) 
| $1695 | Alumni and Groups of 3+ |
| $1995 | Early Bird (thru Apr 2) |
| $2295 | Regular |
Would you like us to notify you about the next set of dates?
Learn to master Ruby and Rails in this 4-day, hands-on advanced course taught by two renowned programmers. Through a series of lectures, labs, and discussions, you'll move beyond the average developer's toolbox.
- Learn advanced Ruby and Rails techniques the pros use to make your code more powerful, compact, and fun to work with.
- Gain a deeper understanding of Ruby and Rails so you can use them with more confidence and efficiency.
- Find out about Ruby 1.9 and how to migrate your Rails 2.x applications to Rails 3.0.
- Save time and frustration by getting answers to your questions from folks who have solved tough problems.
You'll come away from this Studio feeling like a Ruby and Rails Master!
Who’s It For?
Experienced Rails Developers. This is an advanced course designed for experienced developers who are ready to take the next step to Ruby and Rails mastery. This is not an introductory course. It's an advanced course designed for experienced Ruby and Rails developers. It will be a good fit for you if...
- You have at least one Rails application under your belt
- You have at least 6 months experience with Ruby and Rails
If you're just getting started with Rails, then consider attending the Ruby on Rails Studio.
What Will I Learn?
How to use the power of the language and framework. Ruby and Rails are both incredibly powerful technologies. But that power comes at a price—as a developer, you're constantly faced with choices, you're constantly asking yourself "What's a good way to do X?" This course is designed to help you answer those questions.
Learn to use the best of modern Ruby and Rails development to effectively power your applications. The field is changing fast, and solutions that were common a year ago may no longer be the best.
Ruby
The quickest path to Rails mastery is through Ruby. We'll dig deep into Ruby with topics including:
- Ruby 1.9: Ruby is a-changin'. As a Ruby programmer, you'll want to stay on top of all the new syntax and language features.
- Blocks, Procs, and Closures: Ruby programmers use these all the time without thinking too much about it. We'll dig deeper so you really understand what's going on and how to design your applications around them.
- Design in a Dynamic Language: Ruby is different than the languages you're used to. If you're still using the design techniques that work with those languages, you're not exploiting the power of Ruby, and you're writing more code than you need.
- The Ruby Object Model: Understand the underlying model, and everything falls into place. Dave has been digging into that model for the last ten years, and has a fresh (and simple) way of looking at it.
- Metaprogramming: Metaprogramming lets you program more expressively. This makes your code easier to write and easier to maintain and extend.
- Making Domain-Specific Languages: Everyone talks about domain-specific languages (DSLs), but let's see how to do it for real.
- Library Organization and Gem Use: As your Rails application grows, keeping all the assets organized becomes more important. We'll discuss best practices for file and directory organization, require and load tricks, and using and creating gems.
Rails
We'll move beyond the basic toolbox of the average Rails developer with topics including:
- Complex Forms and Views: You can get by with basic forms and views, but often you'll want to design more sophisticated forms for a better user experience.
- Rich Domain Modeling: You want to design your models "the right way", and yet there are many ways that would work: inheritance, :through associations, polymorphic associations, and so on. How do you decide which design is better? We'll look at the options and discuss when they might be appropriate.
- Application Integration: Learn to create APIs and talk to other applications using Active Resource, respond_to formats, and other methods.
- Meta-Programming Rails: Once you understand meta-programming in Ruby, you can use these techniques to extend Rails to your advantage.
- Background processing: Learn tools and techniques for handling asynchronous tasks in a Rails application.
- Debugging: Approaches, tools, and strategies to finding and fixing problems fast.
- Beyond Rails: Navigating the ever-changing world of Ruby on Rails plugins and gems.
- Transitioning to Rails 3.0: Steps to migrating your Rails 2.x application to Rails 3.0.
But that's just the plan: the reality is that the content changes each time we give the course, simply because each group is different.
Who Teaches the Course?
Dave Thomas and Chad Fowler. This course is taught by programmers for programmers. You'll learn directly from two renowned authorities on Ruby and Rails development.
Dave Thomas is the co-author of The Pragmatic Programmer, Programming Ruby, and Agile Web Development with Rails. Along with Andy Hunt, he runs The Pragmatic Programmers.
Chad Fowler is a well-known author and Ruby and Rails trainer and consultant. He is cofounder of Ruby Central, a non-profit corporation responsible for the annual International Ruby and Rails Conferences, and is a leading contributor and frequent speaker in the communities.Chad is the author of Rails Recipes and The Passionate Programmer, a contributor to Programming Ruby, and CTO of InfoEther.
What's a Studio?
Comprehensive, Hands-On Learning. The Studio experience doesn't begin and end in the classroom. The moment you register, we'll help you start preparing for the course. In the Studio you'll enjoy a distraction-free, interactive learning environment. When you return to your project, you'll have access to supporting resources to help you succeed. (Why we call them Studios.)
1. Help You Prepare: Before you arrive, you'll:
- Receive prep material to help you get the most out of our time together
- Get detailed laptop set-up instructions
2. In the Studio: In our collaborative learning environment you'll:
- Learn through guided instruction and hands-on programming exercises
- Discover new techniques in live coding sessions
- Get your questions answered by experts and your peers
- Reinforce the concepts you've learned in books, and dig deeper
- Discuss timely topics, tips, and tricks
3. On-Going Support: After you return to your project, you can:
- Get your questions answered on our alumni-only mailing list
- Find full-time, part-time, or contract developers for your project, or search for your dream job on our job board
- Get discounts on books, screencasts, and future training to continue learning
4. Success: Deliver your app with more confidence!
- Show off your app in our alumni gallery.
- Connect with fellow alumni in our Yearbook.
We think a Pragmatic Studio offers the best developer training around. But don't take our word for it—just ask our alumni! Check out their reviews and the apps they've created.
“Certainly one of the best training experiences I've ever had...The materials are good, the guys are experts and the entire thing was fun—which is hard to say about any training program.”
—Hunter Hillegas
What Should I Bring?
Your Laptop. It wouldn't be a hands-on course if you didn't walk away having written some code. You'll be most productive on the laptop you use regularly. (On average, 60% of attendees bring Mac OS X, 30% bring Windows, and 10% bring Linux.)
A few weeks before the course, we'll send out detailed instructions for installing everything you'll need. During the course, you'll get hands-on experience working through prepared exercises, and experimenting on your own, too.
Your Registration Includes
- A continental breakfast, beverages and snacks, and a hot lunch each day
- A binder with all the printed material
- All the example source code to refer back to later
- Internet connectivity and power during the Studio
- An invitation to our alumni-only mailing list for help after the Studio
- Discounts on books, screencasts, and future training
- A stylish Pragmatic Studio t-shirt and more!
