On-Site Training

    Your Developers
    Your Location
    +
    Our Instructors
    & Courseware
    =
    Focused Training Just for Your Team!
  • Ideal for teams of 8+ developers

Contact Us for a quote.

Learn how to write object-oriented programs in Ruby— and have fun doing it!—in this 3-day, hands-on training course.

  • Are you planning to start a Rails or JRuby project, or are you already using them but need a better understanding of Ruby?
  • Looking to update your programming skills with the language that's taking the industry by storm?
  • Tired of programming in your day job's language of choice, and need to rediscover the joy of programming?

If you're programming for fun or profit, learning how to program in Ruby now is a smart investment.

Who Teaches the Course?

Dave and Chad

Dave Thomas and Chad Fowler. This course is taught by programmers for programmers. Learn directly from two authors of the definitive books on Ruby:

Dave Thomas is the co-author of The Pragmatic Programmer, Programming Ruby, and Agile Web Development with Rails. Along with Andy Hunt, they run The Pragmatic Programmers.

Chad Fowler is a well-known author and Ruby and Rails trainer and consultant. As a co-founder of Ruby Central, he is a leading contributor and frequent speaker in the Ruby community. Chad is the author of Rails Recipes and CTO of InfoEther.

“I liked the guru instructors, the vast amount of info, and exploring multiple ways of doing things.”

—Cody Lewis

Who’s It For?

Programmers. The course is taught by programmers for programmers. It's a hands-on programming course, not lots of dry theory. You'll be writing Ruby code to solve many example problems, for fun and profit.

This course is right for you if

  • You have experience with another programming language: Java, C#, C/C++, PHP, Perl, Python, Lisp, Smalltalk, etc.

No previous experience with Ruby or object-oriented programming is required.

“Having hands-on examples and being able to see the examples [live code by the instructors] was a great help in furthering my understanding.”

—Devin Riley

What Will I Learn?

How to Write Ruby Programs with Style. We'll teach you how to write clean, elegant programs the Ruby way.

Getting Started
Ruby has a rich set of libraries and programming tools. Setting up your working environment properly will give you a solid foundation to work from.

  • Installing Ruby and the RubyGems package management system
  • Running Ruby programs: invoking the Ruby interpreter, using the interactive Ruby shell (irb), using Ruby libraries
  • Using RubyGems: how to find gems, how to use them, and where they're installed
  • Accessing, writing, and generating documentation using RDoc and ri

Ruby Language Constructs
When you begin programming in Ruby, you'll notice some constructs that are familiar from other programming languages. But Ruby includes some pleasant surprises, as well.

  • Loops and conditionals
  • Strings and numbers
  • Arrays and hashes
  • Regular expressions
  • Blocks and closures
  • Iterators, including Enumerable
  • Exceptions

Object-Oriented Programming
Ruby is an object-oriented programming language, but what does that really mean and how does it change the way you write programs? Let's understand how objects can help us write better programs.

  • Object-oriented programming concepts: objects, classes, methods, composition, inheritance
  • Object-oriented design in a dynamic language: mechanisms unique to Ruby, modules, mixins

Organizing Ruby Code
Once you've conceptually organized your program into classes and modules, you need to organize it on disk for easy use and packaging.

  • How to split code into separate files: scripts, classes, and modules
  • Where to find all the stuff on your system: standard libraries, gems, site_ruby, etc.

Testing
Ruby has a strong culture of testing, and your programs will thank you for it.

  • Writing and running tests with the Test::Unit library: assertions, test cases, test fixtures
  • Test automation using Rake

Network Programming
It's a networked world, so we'll learn to write simple programs that connect to Web servers and download and process data.

Scripting with Ruby
In addition to being an object-oriented language for building robust applications, Ruby is also a great scripting language for automating tasks around your home and office.

  • Using stdin/stdout, files, and other standard input and output libraries
  • Executing external processes
  • Text processing

Common Idioms and Troubleshooting
Throughout the course we'll show you common Ruby idioms, tips and tricks, and techniques for quickly diagnosing problems.

“Learning on my own, I missed many of the important details about how Ruby is implemented and why the code should be written a certain way. [In the Studio], the instructors walked us through particular problems to illustrate the programming process for solving them.”

—Zeke Ricci

What Do I Need?

Laptop

This course is taught on site at your location. As such, you'll need the following:

  • a room to comfortably accommodate your team
  • a laptop projector and screen
  • a whiteboard or flipchart with markers
  • laptops (or desktops) on which each attendee can complete the hands-on exercises, and access rights on those machines to install the required software