|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.
|Programming Principles (module Q101) Stored programs - running from file.
Very fast, but an IQ of zero.
Variable and variable types.
Conditions and conditional code.
Loops and named blocks of code.
Pointers and references.
Compilers and Interpretters.
Program and system design.
|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.
|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.
|Behaviour Driven Development (module Q456) What is behaviour driven development?
Comparison to test driven and specificational development.
An example using Cucumber and Ruby.
|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.
|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.
|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.
|Introduction to Cucumber (module R221) Given, When and Then.
Where Cucumber fits - RSpec, Test::Unit, Capybara, and Gherkin.
Hello Behaviour Driven Ruby Objects.
|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.
|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.
|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.
|More about Cucumber (module R222) Acceptance criteria.
how to write better scenarios.
|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.
|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.
|Ruby Miscellany (module R119) Singletons.
The comparator interface.
Additional standard functions and operators.
|Parallelism (module R112) Parallel assigments. Yield.
Threads, the thread scheduler and thread exceptions.
Thread critical, Mutex and Condition variables.
Spawning processes and controlling children.
Allowing your children to go independent.
|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
($5304.00 inc VAT) or
(£3096.00 inc VAT)
($4440.00 inc VAT) or
(£2520.00 inc VAT)
| With hotel rooms
($10488.00 inc VAT) or
(£6072.00 inc VAT)
($8760.00 inc VAT) or
(£4920.00 inc VAT)
| With hotel rooms
($15672.00 inc VAT) or
(£9048.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.