Ruby Training Course

Training » All Courses » Ruby » Ruby

Course Summary

Ruby is a cross-platform interpreted language. It is also a true object-oriented language deriving many features from Smalltalk. The Ruby language was created by Yukihiro Matsumoto (aka 'Matz') and it was first released in 1995.

In this hands-on Ruby training course you will learn about the Ruby language, its syntax, OOP in Ruby, its libraries (gems), testing, and much more. Not only will you gain the knowledge and the confidence to use the language effectively, but you'll leave with a smile on your face - because you'll love it.

[top] Duration

2 days.

[top] Objectives

By taking Marakana Ruby Training class, students will:

  • Be able to setup the Ruby development environment
  • Learn the fundamentals of the Ruby language
  • Learn about the built-in Ruby libraries and APIs
  • Learn the principals of object-oriented programming (OOP) in Ruby
  • Practice test-driven development (TDD) in Ruby using RSpec
  • Learn how to use external libraries with Ruby Gems
  • Be able to write Ruby code with confidence!

[top] Audience

IntroMarakana Ruby Training course is designed for those who want to become proficient with the Ruby programming language - including:

  • Novice programmers (or those not familiar with OOP) who want to start off on the right foot - i.e. not get bogged down with Java :-)
  • Programmers looking to migrate from existing languages such as Java, PHP, Python, Perl, etc.

[top] Prerequisites

Marakana Ruby Training course assumes you have basic experience in another programming language and are familiar with fundamental programming concepts, such as conditionals, loops, functions/methods, etc.

Note that this is a hands-on training course where you will be expected to develop applications in Ruby.

[top] Instructors

Photo
Alex is a hardcore coder, teacher, and a prolific contributor to a variety of open source tools and frameworks. At Pivotal Labs, he led the development of Pivotal Tracker, a popular project management application written in Ruby and JavaScript. He is also regarded as one of the Bay Area's leading Extreme Programming coaches. On top of his many software development accomplishments, he has published research papers on evolutionary computation (aka 'genetic algorithms') and implicit memory in human cognition. More about Alex Chaffee...
Photo

Brandon joined Collective Idea in 2006 as a refugee from “Enterprise” Java development. Since drinking the Ruby kool-aid1, he has become a widely-read blogger and valuable member of the community while contributing to (and beginning) several open source projects.

In his free time, you'll find Brandon with headphones in his ears grooving to a cool band that Daniel introduced him to, while hacking on some random piece of code that he's excited about2, playing with Linux, or, to relieve the screen burn, playing tennis with his wife.

More about Brandon Keepers...
Photo

With a background in Computer Science, there's a good chance Daniel will start rambling on about Merge Sorts or Big Oh calculations. If you leave him alone, however, his fascination with code, databases, and APIs will kick in and he'll start programming.

Daniel founded Collective Idea in 2005 to put a name to his growing, and already full-time freelance work. He can usually be found (coffee in hand) staring into a tiny 15" digital world. He writes about code and other uninteresting things on his blog.

More about Daniel Morrison...
Photo

Sarah Allen has been developing commercial software since 1990. Her focus is web and mobile applications in Ruby. She actively integrates Test-Driven Development and agile project management into her projects.

As an instructor, Sarah applies an innovative teaching approach that is gaining widespread adoption, called Test-First Teaching, where students implement exercises that will cause pre-defined tests to pass. Many senior software engineers in the field find that testing is an effective way to learn a new language or API. Sarah's methodology also provides a good introduction to people who are new to testing.

She began focusing on Internet software as an engineer on Macromedia's Shockwave team in 1995. She led the development of the Shockwave Multiuser Server, and later the Flash Media Server, introducing streaming video and multi-party communication in Flash Player 6. It is likely that some software that Sarah worked on is currently installed on your computer. She actively contributes to open source software and is on the OpenLaszlo core team. She was named one of the top 25 women of the web by SF Wow (San Francisco Women of the Web) in 1998.

More about Sarah Allen...
Photo
Wolfram Arnold, Ph.D. is a seasoned software professional with 17 years of experience and has been working on consumer web applications in Ruby-on-Rails since 2006. He has co-founded RubyFocus, a Ruby-on-Rails consulting and recruiting firm where he engages in his passion of championing viable, and long-term sustainable software development practices for his clients, including TDD/BDD (test-driven development), Rails best practices & conventions, performance profiling and scalability optimization.

Wolf learned the ropes on Rails while working on a project at Pivotal Labs in the winter of 2006/07 and has been an active member of the Rails community ever since. Prior to discovering Rails, Wolf was working in C++ on commercial server applications in Silicon Valley and, before that, on high-performance numerical simulations in solid state physics at Los Alamos National Lab and the University of Oregon. He holds a Ph.D. in physics and used to teach undergraduate physics classes as a graduate student.

Wolf speaks English, German, French and Spanish and currently lives in San Francisco.

More about Wolfram Arnold...

[top] Outline

Day One: Ruby Basics

  • Ruby Overview
  • Command-line Tools
  • Core Ruby
    • Syntax
    • Functions
    • Control Flow
    • Built-in Types
  • Collections
  • Blocks and Iterators

 

Day Two: The Ruby Object Model

  • Objects
  • Classes
  • Inheritance
  • Dispatching
  • Modules
  • Scope

 

Advanced Topics (time permitting)

  • Exceptions
  • Advanced Blocks
  • Classes as Objects
  • Metaprogramming
  • IO

 

Test-Driven Development with RSpec (time permitting)

  • Introduction to TDD
  • Red-Green-Refactor
  • Describing a feature
  • Verifying expectations
  • Mocks & Stubs


[top] Student Testimonials

The class has inspired me to continue to learn more about Ruby and Ruby on Rails.

Maureen - Stanford University

The instructor was great! And very helpful!!!

Victoria - Xerox

No improvements. I am a newbie to Ruby and have struggled with learning it on my own. By attending the class, Ruby finally makes sense to me. It was presented in a clear and well structured manner. Thank you!