
Ruby Programming
Overview
Ruby is a high level Interpreted, Object Oriented, rapid development language deployed in many scenarios in the modern world.
This Ruby Programming course is designed to give delegates the knowledge to develop / maintain Ruby scripts.
Prerequisites
Familiarisation with programming concepts is useful, this knowledge can be obtained by attendance on the Concepts of Programming course.
Objectives
Knowledge of Ruby to write, modify, maintain and understand Ruby scripts.
Outline
Course Contents
Course Introduction
- Administration and Course Materials
- Course Structure and Agenda
- Delegate and Trainer Introductions
Session 1: INTRODUCTION TO RUBY
- What is Ruby
- What is it used for
- Installing Ruby?
- Ruby Basics - objects, regular expressions, arrays, hashes, Object Orientation
Session 2: RUBY LANGUAGE ELEMENTS
- Variables and constants
- Operators
- Assignments
- Integer, float and string formats
- Single and double quotes
- Here documents
- Labs
Session 3: CONTROL STRUCTURES
- Blocks and if statement
- Boolean and range operators
- Conditionals - if, unless, case
- Loops - while, for in, until
- break, next, retry and redo
- Labs
Session 4: CLASSES AND OBJECTS
- Objects, classes and methods
- Constructors and attributes
- Instance and class variables
- Local and global variables
- Class and object methods
- Including external files - load and require
- Labs
Session 5: INPUT AND OUTPUT IN RUBY
- Opening and closing files
- Reading from and writing to files
- Labs
Session 6: ARRAYS AND HASHES IN RUBY
- Arrays and hashes
- Building an array
- The %w shortcut
- Nesting arrays
- Hash keys
- Iiterators
- Labs
Session 7: OBJECT ORIENTATION
- Inheritance
- Base classes and subclasses
- What's inherited
- Overriding
- Abstract classes
- Polymorphism
- Multiple Inheritances
- Class structure
- Visibility
- Labs
Session 8: CLASSES AND OBJECT SCOPING
- Public, private and protected visibility
- Singletons and defs
- Inheritance mixins
- Destructors and garbage collection
- Namespaces and modules
- Hooks
- Freezing objects
- Labs
Session 9: OBJECT ORIENTATION TECHNIQUES
- Clusters of classes
- Programming and method standards
- Formal Methods
- Unified Modelling Language (UML)
- Views
Session 10: STRINGS AND REGULAR EXPRESSIONS
- Meta Characters
- Anchors, literals, character groups and counts
- Matching in Ruby
- Modifiers i, o, x and m
- Pattern matching variables
- Labs
Session 11: SPECIAL VARIABLES AND PSEUDO-VARIABLES
- ARGV and $0
- Special variables
- Environment variables
- Pseudo-variables
- Reserved words in Ruby
- Labs
Session 12: EXCEPTIONS
- begin and end
- Raise and rescue
- Throw and catch
- labs