|Learning to Progam (module Q100) What is programing?
Why are there so many langauges?
Which language for what purpose?
How to plan your progamming project.
Making best use of existing resources.
|Introduction (module R101) What is Ruby?
What is it used for?
Where do I get and install Ruby?
Core facilities, built-in library and standard library.
Basic concepts - object orientation, regular expressions, arrays, hashes, etc.
|Hello Ruby Objects (module R102) A first piece of working Ruby.
What is object orientation and why is it important?
Introduction to the terminology of objects.
|Basic Ruby Language Elements (module R103) Structure of statements and comments.
Variables and constants.
Assignments, calculations, etc.
Integer, float and string formats.
Single and double quotes, here documents, general strings.
|Control Structures (module R104) Blocks and the if statement.
Comparative, boolean and range operators.
Conditionals - if, unless, case, etc.
Loops - while, for in, until, etc.
break, next, retry and redo.
defined? and ternary operators.
|Object Orientation: Design Techniques (module Q907) OO Design - some basics.
Start with a good understanding of OO.
And also a good understanding of the buzz words and design cycle..
Micro or Macro?.
Specifying classes and methods.
Specifying extended classes.
Clusters of classes.
Generalise it out.
Programming and method standards.
Unified Modelling Language (UML).
Project management and design issues.
|Classes and Objects (module R105) Objects, classes and methods.
Constructors and attributes.
Instance and class variables.
Local and global variables.
Class and object methods.
Including files - load and require.
|Object Orientation: Individual Objects (module Q906) A History.
Subroutines, functions, procedures.
Object Oriented Programming.
A note on political, or religious issues.
Introduction to OO Programming.
Static and Nonstatic.
Accessing members of a class.
Direct access to variables.
Encouraging class use.
|Input and Output in Ruby (module R106) Opening and closing files.
Reading and writing from files.
|Collections (Arrays and Hashes) in Ruby (module R107) What is a collection?
Arrays and hashes.
Constructing an array. The %w shortcut.
Hash keys, iterators, etc.
|More Classes and Objects (module R108) Public, private and protected visibility.
Singletons and defs.
Inheritance mixins, and super.
Destructors and garbage collection.
Namespaces and modules.
Calling methods with code blocks.
Looking inside objects - reflection.
|Strings and Regular Expressions (module R109) Anchors, literals, character groups and counts.
Matching in Ruby.
Modifiers i, o, x and m.
Pattern matching variables.
|Special Variables and Pseudo-Variables (module R110) ARGV, $0 and friends - the command line.
Other special variables from $: through $$ to $<.
Reserved words in Ruby.
|Exceptions. (module R111) begin and end (and a mention of BEGIN and END).
Raise and rescue.
Throw and catch.
|Object Orientation: Composite Objects (module Q909) Revision.
Base classes and subclasses.
|Object Orientation: Design Patterns (module Q908) What are design patterns?
Attributes, properties and accessors.
Factory methods, Comparators, etc.
Printing and serialising.
|Test Driven Development and Behaviour Driven Development (module Q456) What is test driven development?
What is behaviour driven development?
Comparison and specificational development.
An example of TDD.
An example of BDD using Cucumber and Ruby.
|RSpec (module R211) The RSpec command.
Flexible and customizable reporting.
Extensible expectation language.
Built-in mocking/stubbing framework.
|Test::Unit (module R212) Assertions, Test methods and test fixtures.
Test Runners and Test Suites.
|Introduction to Cucumber (module R221) Given, When and Then.
Where Cucumber fits - RSpec, Test::Unit, watir-webdriver, Capybara, and Gherkin.
Hello Behaviour Driven Ruby Objects.
how to write better scenarios.
|Cucumber / web site testing with watir webdrivers and capybara (module R222) The web site testing issues.
Using watir-webdrivers to automate your test.
Specifying Behaviour in Gherkin.
Translating to tests in the step definitio.
|Ruby GUIs, XML, SQL Database Connectivity (module R117) Ruby/Tk, Ruby/GTK, Glade, etc.
FOX and FXRuby.
VisualuRuby, SWin and VRuby.
SAX and DOM - XMLParser and others.
SQL and ODBC connection.
Using Ruby/DBI to connect to MySQL, Oracle, etc.
|Final Exercise (module R223) A complete but straightforward application.
Writing code to match the behaviours.
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
($5496.00 inc VAT) or
(£3192.00 inc VAT)
($4440.00 inc VAT) or
(£2520.00 inc VAT)
| With hotel rooms
($10872.00 inc VAT) or
(£6264.00 inc VAT)
($8760.00 inc VAT) or
(£4920.00 inc VAT)
| With hotel rooms
($16248.00 inc VAT) or
(£9336.00 inc VAT)
($13080.00 inc VAT) or
(£7320.00 inc VAT)
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.