Learn how to pragmatically write and design Ruby programs in this step-by-step, project-based course.

You'll discover how to build your own Ruby program from beginning to end, incorporate Ruby principles and techniques in your design, write your own Ruby gem, and make sense of the “magic” behind Rails. All of the topics and syntax in this course work seamlessly with both Ruby 2.0 and 1.9.

Video Workbook Code Cheats Support Access Alumni
Videos Exercises Example
Mailing List
Alumni Status
& Discounts
Tony barone
“The course is outstanding! The best I've ever taken. Rails is so much less mysterious now that I'm learning Ruby the right way.” — Tony Barone
Matt halliday
“The course is great! It really teaches you how to think like a Ruby developer.” — Matt Halliday
Ben sharman
“The structure and content are exactly what I need after bumbling about on my own for months getting to know Rails.” — Ben Sharman

If you want to become a better Ruby programmer or use Rails more effectively, then this course is for you!

$169 per student
$127 per student

Thanksgiving Sale Ends November 30

Step-By-Step, Project-Based Approach

Videos, Exercises, Hands-on Projects. In our popular online format you'll learn through a unique mix of watching, coding, reading, experimenting, and ultimately, building a Ruby program from idea to publishing a gem.

  • Ruby Course

    25 Engaging Videos: HD-Quality and DRM-free
    The videos are a combination of guided instruction, live-coding, discussions, and animated visuals to deepen your understanding. To get a feel for the video format, watch the first few videos. The total video duration is nearly 5 hours divided into 5-20 minute increments. Watch them when and where it's convenient for you. All the videos are licensed for individual use, downloadable, DRM-free, and available in full 1280x720 HD resolution.

  • Ruby Course

    Hands-On Exercise Workbook (21 Chapters))
    Each video has a corresponding chapter in an online workbook where you apply what you learned in the video through a series of exercises completed on your own computer. Check out the exercise format by working through the first few exercises. Of course all the solutions are provided and the workbook content is easily searchable, so you always have a reference library at your fingertips!

  • Well-Designed Source Code For Two Ruby Programs
    To fully engage your brain and cement the concepts, you'll apply what you learned in the video to a slightly different program in the workbook. Students tell us this is one of the best parts of our courses! Not only it is more fun and interesting, you'll also have two full-featured Ruby programs to draw from at the end of the course.

  • Practical Cheat Sheets
    For handy reference during and after the course, you get a set of PDF cheat sheets that summarize the syntax, core concepts, and conventions taught throughout the course.

  • Helpful Support Mailing List
    Post questions, get answers, share insights, discuss Ruby topics, and connect with other students who are pursuing similar goals.

  • Instant and Perpetual Access
    Your access never expires! There is no time limit to complete the course, and you can revisit all the material whenever you want. It's the perfect environment for learning at your own pace, and on your own time.

  • Personalized Proof of Completion
    When you've completed the course, you can easily showcase your accomplishment by sharing the link to your personal alumni page.

  • Money-Saving Alumni Status and Discount
    After purchasing your first online course, you immediately become a Pragmatic Studio alumni and get 25% off all subsequent Ruby and Rails 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. ”

Carlos Interone

“I've learned more from your Ruby course than any other course or tutorial I've taken on Ruby.”

Andrew Fowler

Learn & Become More Confident With Ruby


For new Ruby and Rails programmers who want to learn Ruby, or become more confident with Rails, this course is designed just for you!

  • New to OO programming
    Perhaps you're looking to jump-start your programming career, join a Ruby/Rails project, or simply learn enough about OO programming to interface with developers. It all starts here! You'll learn the fundamentals of object-oriented programming the Ruby way through live coding, animated visuals, and hands-on 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, you'll 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.”

Chip Ashby

Learn to Write Object-Oriented Programs, The Ruby Way

Build a complete Ruby program from scratch. In this course, you'll learn how to write elegant, expressive object-oriented programs using all the strengths of Ruby. Topics include:

Ruby Course

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 (free exercise)
  • 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:

Object-Oriented Programming
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 (free video & exercise)
  • 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:

  • Encapsulation
  • Separation of concerns
  • Polymorphism
  • 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

Unit Testing
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!

“I tried ALL the other schools and tutorials and they all gave me enough info to be totally confused. I learned so much in your course! It is worth its weight in gold!

Karl Neumann

Build a Ruby Program You Can Be Proud Of

All you need is 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).

  • Internet Connection
    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.”

C.R. Myers

We'll Help You Become A Better All-Around Ruby Programmer

Mike and Nicole

Mike and Nicole Clark run The Pragmatic Studio, an acclaimed source of software developer training. Over the last nine years, we've helped over 2,500 developers improve their craft through public, private, and online courses. In this course, we hope to encourage more folks to discover the joy and rewards of programming in Ruby!

Mike has over 20 years of software development experience. He helped build one of the first production Rails apps way back in 2005, lead the initial development of the Pragmatic Bookshelf site, and continues to develop the Rails apps that power our online training business. He's also the author of Advanced Rails Recipes, co-author of Agile Web Development with Rails, and author of Pragmatic Project Automation.

“Signing up for this course is the best decision I've made when it comes to online training. The hands-on exercises really helped reinforce the ideas and make the concepts easy to grasp.”

Ronald Rivera

Learn Ruby, Master Rails!

Video Workbook Code Cheats Support Access Alumni
Videos Exercises Example
Mailing List
Alumni Status
& Discounts

$169 per student
$127 per student

Thanksgiving Sale Ends November 30