with Mike and Nicole Clark
If you learn Ruby, you can master Rails.
Are you using Rails but find yourself getting stuck, or even bogged down? Do you want to really get the most out of Rails? The secret to using the Rails framework effectively is to learn the Ruby programming language. And here's the best part: Learning Ruby has benefits that go beyond Rails or even web programming. Ruby is a powerful tool in its own right. Take the time to learn Ruby now and it will continue to pay off down the road.
You can start learning Ruby today in this online training course! All of the topics and syntax in this course work seamlessly with Ruby 2.0 and 1.9. To learn more, watch the introduction video:
To build solid web apps (fast!), you need a good foundation.
Most folks jump right into Rails. It's absolute bliss for the first few minutes it takes to stand up a web app. Then the real programming begins. If you're comfortable writing Ruby code, it's smooth sailing from there—you'll have sustained productivity throughout the project. But if you don't have a good grasp of the Ruby programming language, then you're in for a bumpy ride. You'll likely end up spending a lot of time trying to figure out why things don't work. You might even resort to copying in some Ruby code you found on the web. Unfortunately, even if it works, you won't understand why.
Learn Ruby this week and you'll save a lot of time and frustration later.
This comprehensive online course puts you back in the driver's seat. You'll learn everything you need to know about Ruby to be a productive Rails programmer. And we take it a step further. You'll also learn Ruby design principles and techniques to help you become a better all-around Ruby programmer. We'll start at the very beginning and work step-by-step to create a complete Ruby program. You'll learn exactly how all the pieces go together, and you'll come away with the confidence that you truly understand Ruby.
“I've been coding Rails apps and websites for profit, but had learned Ruby as the jobs required. I can now FINALLY say I'm confident I've plugged the holes in my basic Ruby learning.”
“The structure and content are exactly what I need after bumbling about on my own for months getting to know Rails.”
This online course is like having your own personal Studio!
The format of this course follows the same style as our popular live Studios: engaging instruction, live coding, and practical hands-on exercises. If you've attended one of our public courses, you'll feel right at home. But since this is a video-based course, you can start taking it immediately and work through it at your own pace.
If you want to use Rails more effectively, or just become a better Ruby programmer, then this course is for you!
$199 per student, $149 for alumni (25% off)
Watch, Read, Practice... Learn! This online multi-media course helps you learn Ruby in a variety of ways:
25 Videos: HD-Quality and DRM-free
We know your time is limited and important. We'll be good stewards of your attention. In each video, we get right to the point and focus on a particular aspect of Ruby. The videos are a combination of instruction, live-coding, and animated visuals. You'll see exactly how we write a Ruby program incrementally, from start to finish. You can stop, rewind, and rewatch each video as often as you like and at your own pace.
The total duration is nearly 5 hours, but since the videos are only 5-20 minutes each you can work through the course in small increments. Watch the videos in the browser for an integrated learning experience, or download them for offline viewing. The videos also look great on an iPad or iPhone. Watch them when and where it's convenient for you! All 25 videos are licensed for individual use, DRM-free, and available in full 1280x720 HD resolution.
To get a feel for the video format, check out the video on hashes...
In addition to the 25 videos, you get access to an online companion workbook that leads you through incrementally designing and creating a complete Ruby program step-by-step from scratch. The workbook isn't an afterthought—it's a core part of the course. To really learn Ruby, you need to practice writing Ruby code. So, we designed the workbook to go hand-in-hand with the videos.
Each video has a corresponding chapter in the workbook. This is your opportunity to practice what you learned in the video by writing, reading, and refactoring Ruby code. Each chapter builds on the previous, with a high-level objective you can work through on your own, and step-by-step instructions to guide you through a solution. You'll complete the exercises directly on your own computer—the same comfortable environment where you'll actually write your own Ruby programs.
In the end you'll have created a full-featured Ruby app similar to the app we create in the videos. Along the way there are explanations, hints, discussions on design principles, tips and tricks, recommended resources, and of course all the solutions (with tests!).
To get a feel for the workbook format, check out the chapter on hashes...
Example Code and Solutions
It's been our experience that developers don't want the practice code in the workbook to be exactly like the example code we write in the videos. So instead, in the videos we build a different, yet very similar app, than the one you build in the workbook exercises. Doing so leads to a learning environment where your brain is engaged by creating more comparisons and associations. As an added bonus, at the end of the course you can draw from the code of two full-featured Ruby apps.
Have questions during the course? No problem. You'll have access to a mailing list exclusively for participants of this course. We're there to answer questions, and it's a great way to share insights and discuss Ruby topics with other folks taking the course. Students of our courses have said the alumni mailing lists are some of the best resources on the web.
Your access to this course never expires. You can revisit the course whenever you want. It's the perfect environment for learning at your own pace, on your own time.
Proof of Completion
You can prove that you've completed the course by linking to your alumni page on our site which showcases your participation in our online and in-person courses.
Discounts on Future Training
Once you become a Pragmatic Studio alumni, by either attending a public Studio event or purchasing an online course, you'll get the discounted alumni price on all your future courses.
“This is the best online training I have done, and I've done plenty. The quality of video and audio is excellent, the length is perfect to hold my attention span, and the workbook exercises are addictive. My motivation stays high as I tick through the chapters. ”
“The online Ruby course is simply fantastic. Well worth the money and the best curriculum I've seen yet for learning Ruby.”
Unlimited access to videos, exercises, and more!
$199 per student, $149 for alumni (25% off)
Who's It For?
New Ruby and Rails Programmers who want to learn Ruby, or become more confident with Rails. This course is a good fit for you if you are...
New to OO programming
Perhaps you're looking to jump-start your programming career and join a Ruby/Rails project. It all starts right here. You'll learn the fundamentals of object-oriented programming the Ruby way through live coding, animated visuals, and step-by-step exercises. No prior programming experience is assumed.
New to the Ruby programming language
Maybe you've been intrigued by Ruby, but haven't yet had the opportunity to learn it comprehensively from beginning to end. Here's your chance to dive in. You'll learn all the things you'd expect in an OO language, as well as the things that make Ruby unique so you can exploit its true power.
New to the Rails web application framework
Perhaps your goal is to write (or maintain) web applications with Rails. You'll have a much smoother ride once you're handy with the Ruby language. By taking this course, you'll understand some of the "magic" behind Rails and, more important, be in a better position to use it to your advantage.
Familiar with Ruby
If you've dabbled with Ruby here and there, but you're wondering if you're using Ruby to its full potential, this course will help you put it all together. Ruby is different than other languages, and to get the most out of Ruby you'll need to use different programming techniques. You'll learn how to design flexible Ruby programs using modules, mixins, dynamic typing, blocks and iterators, and so on.
“I've been developing Ruby on Rails websites and apps for two years. This course gave me dozens and dozens of 'Ah-ha!' moments with regards to what is actually going on in my Rails apps. My confidence for building new Rails apps and refactoring my existing apps has increased tremendously.”
What Will I Learn?
How to Write Object-Oriented Ruby Programs. Through a series of guided instruction and hands-on exercises, you'll learn how to write elegant, expressive object-oriented programs the Ruby way. This course takes a very practical approach, teaching you how to write a complete Ruby program from scratch using all the strengths of Ruby. Topics include:
Ruby Programming Environment
Ruby has a rich set of programming tools and libraries. Setting up your working environment and using it effectively is the first step toward becoming a productive Ruby programmer. Topics include:
- Installing Ruby on your favorite operating system
- Running Ruby using the interactive Ruby shell (irb) and writing Ruby program files
- Using Ruby's documentation system to get help
- Installing external Ruby libraries using RubyGems
- Troubleshooting common problems
Ruby Language Constructs
If you're already programming in another OO language, some of Ruby's constructs may feel familiar. But Ruby has some pleasant surprises, as well. Topics include:
- Expressions and variables
- Numbers, string, and symbols
- Loops and conditional expressions
- Arrays and hashes
- Classes, modules, and structs
Ruby is an object-oriented programming language. It's also a dynamic language. But what does that really mean and how does it change the way you write programs? We'll show you! Topics include:
- Using built-in Ruby classes
- Defining your own classes with state and behavior
- Creating unique objects
- Telling objects what to do by calling methods
- Modeling class-level inheritance relationships
- Sharing code with mixins
Object-Oriented Design Principles
Defining classes and using objects is a good start, but along the way you'll also need to consider the overall design of your program. Can you make changes without ripple effects? Can you easily test the code? Can someone else use the code as a library? Topics include:
- Separation of concerns
- Don't Repeat Yourself
- Tell, Don't Ask
Blocks and Iterators
Blocks are a fundamental and powerful aspect of the Ruby language. You'll find blocks used throughout good Ruby programs. And many of the methods found in the Ruby standard library itself take blocks. To be an effective Ruby programmer you must master blocks! Topics include:
- Calling built-in methods that take blocks
- Writing your own methods that yield to blocks
- Implementing custom iterators
- Effectively using blocks in your programs
Organizing Ruby Code
Once you've conceptually organized your program into classes and modules, you'll want to further organize it for reuse, unit testing, and distribution. Topics include:
- Creating a Ruby project structure
- Separating source files for easier reuse and testing
- Namespacing to avoid naming clashes
Ruby has great support for interacting with the external world, whether it be through files, an interactive console, command-line input, or even the web. You'll need some form of I/O in your application, but once you learn Ruby's I/O libraries you might also start rewriting one-off scripts in Ruby, too. Topics include:
- Reading data from files
- Writing data to files
- Creating an interactive console prompt
- Handling command-line input
The Ruby community places a high value on testing, and it's for good reason. Testing gives you the courage to make changes, and as a result you're more productive. Topics include:
- Writing and running unit tests with RSpec
- Test-driven development and the red-green-refactor cycle
- Stubbing methods to control tests
- Refactoring code, safely!
Finally, you'll likely want to package up your Ruby code and share it with your friends... or the world! Topics include:
- Conforming to RubyGems conventions
- Writing a GemSpec
- Building a RubyGem
- Publishing a RubyGem to a public server
Ruby Programming Idioms
Writing a Ruby program that works isn't always the same as writing a good Ruby program. To master Ruby—to write compact, readable, and flexible Ruby programs—requires that you learn the idioms and culture of the Ruby community. That's what this course is all about: becoming truly fluent in Ruby!
“The course is great! It really teaches you how to think like a Ruby developer. I've been learning Ruby on my own over the past few months, but seeing all the different parts come together as an app has been more than helpful. A lot of stuff that I've previously read about just clicked after watching the videos. At the end of each chapter I felt like I had a good understanding of what I had just done and the reasons why I had done it.”
What Do I Need?
A Computer and a 'Net Connection. Yes, it really is that easy to take this course. No airline tickets, hotel reservations, or scheduling conflicts. Instead, you'll simply need your favorite coffee mug, comfy slippers, and the following additional necessities of any programmer:
Mac, Windows, or Linux Computer
Ruby runs great in all these environments, so any computer you're comfortable using will do. We'll help you get everything installed on your system so you'll learn in the same environment where you'll actually write your own Ruby programs.
Up-to-date Web Browser
We designed the online experience to take advantage of some of the latest web standards, so you'll need the latest version of Safari, Chrome, Firefox, or IE 8 (or higher).
The videos in this course can be watched either in your browser (in which case you'll need a reasonably fast 'net connection) or you can download them to your computer and watch them offline. The workbook and exercises are only available online.
“The course is fantastic. I always thought I learned well from just reading books and coding on my own, but I learned MUCH more from watching the videos and doing the assignments. The two of you were excellent instructors and a lot of fun. I am now much more confident in my abilities and understanding.”
Who Teaches This Course?
Mike and Nicole Clark run The Pragmatic Studio, an acclaimed source of software developer training. Over the last seven years, we've helped over 2,500 developers improve their craft through public, private, and (now) online courses. In this course, we hope to encourage more folks to discover the joy and rewards of programming in Ruby!
What's an Online Course Like?
Watch an Entire Module. To get a feel for the video format, watch the 16-minute video on Ruby hashes:
“Excellent course! The visual aids in the videos were very helpful in understanding the relationships between different program components. Also, the problem and solution approach to the exercises was excellent. The amount of material covered in such a short time and for such a reasonable price is astounding.”
Check Out the Workbook. Each video has a corresponding chapter in the online companion workbook to help you practice what you learned in the video. Each chapter includes an overall objective, detailed explanations, step-by-step instructions, hints, and solutions. Here's a peek at the workbook chapter for the hashes video:
“The code hints are very helpful when I get stuck or just want to see a particular way to do something. I also like the fact that you did not live code the same exercises as our assignments. This created a much better experience as it forced my brain to really think about applying what I learned, rather than copying and pasting. It's one of the best courses I have ever taken online.”
It's a great time to learn Ruby, so get started today!
$199 per student, $149 for alumni (25% off)