Ruby Training Course
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
Marakana 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
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...
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...
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...
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.
The instructor was great! And very helpful!!!
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!