On-Site Training

    Your Developers
    Your Location
    +
    Our Instructors
    & Courseware
    =
    Focused Training
    Just for Your Team!

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.

“[The Ruby Studio] was a great experience and I highly recommend it to anyone who is serious about learning Ruby...”

—Robert Pierce

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.

Ruby Studio
  • 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

Who’s It For?

Programmers. This course is for programming teams new to Ruby who have programming experience in another language. No prior 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

Who Teaches the Course?

Chad

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.

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

—Cody Lewis

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