Huw Collingbourne is the technology director at SapphireSteel Software, developers of the “Sapphire” Ruby IDE for Visual Studio and the “Amethyst” IDE for the Adobe Flash Platform. He is author of The Book Of Ruby from No Starch Press. He runs Bitwise Courses and teaches courses on a range of programming topics.
Huw has been a programmer for more than 30 years. He is a well-known technology writer in the UK. For over ten years he wrote the Delphi and Java programming column for PC Plus Magazine. He has also written numerous opinion and programming columns (including tutorials on C#, Smalltalk, ActionScript and Ruby) for a number of computer magazines, such as Computer Shopper, Flash & Flex Developer’s Magazine, PC Pro, and PC Plus. He is the author of the free ebook The Little Book of Ruby and is the editor of the online computing magazine Bitwise.
In the 1980s he was a pop music journalist and interviewed most of the New Romantic stars, such as Duran Duran, Spandau Ballet, Adam Ant, Boy George, and Depeche Mode. He is now writing a series of New Romantic murder mysteries.
At various times Huw has been a magazine publisher, editor, and TV broadcaster. He has an MA in English from the University of Cambridge and holds a 2nd dan black belt in aikido, a martial art which he teaches in North Devon, UK. The aikido comes in useful when trying (usually unsuccessfully) to keep his Pyrenean Mountain Dogs under some semblance of control.
Take your courses with you and learn anytime, anywhere.
Learn and practice real-world skills and achieve your goals.
Learn Ruby today!
Ruby is famous for being easy to learn but most users only scratch the surface of what it can do. While a typical Ruby tutorial or book focuses on Ruby's trendier features this course reveals the secret inner workings of one of the world's most popular programming
languages. It helps you learn Ruby in one of the easiest ways possible through 10 simple steps that will have you writing clear maintainable code in no time. Rather than bog you down with a lot of theory this course takes a hands-on approach and focuses on helping you learn Ruby so that you'reproductive on day one.
Whether you're new to programming or just new to Ruby this Ruby tutorial is your guide to rapid real-world software development withthis unique and elegant language.
Who uses Ruby?
Ruby is an incredibly powerful and highly scalable object-oriented language. Leading technology companies & startups around the world use Ruby or the Ruby on Rails framework to power their websites & web applications. They include:
* Electronic Arts
* New York Times
* 37 Signals
* And many many more...
Welcome to the course! This is a short introduction to the Ruby language and a few words abiout what you can expect from this course.
This is the 'course text'. It covers all the topics in this course in ten chapters. Be sure to download the code archive too. This contains all the ready-to-run Ruby programs from each chapter.
This code archive contains all the programs from The Little Book Of Ruby.
First install a Ruby interpreter and a text editor or IDE. In this video I'll explain how to find and install the right interpreter for your operating system and I’ll show a couple of ways in which you can edit and run your Ruby programs.
If you are a Mac user, this video will guide you through the steps needed to write and run your first Ruby programs.
Here’s a quick tip that could save you a lot of time if you are running Ruby on a Mac. It explains how to use Finder to open a Terminal (for running Ruby programs) in any folder. Easy when you know how!
If you haven’t done much (or any) programming before or if you need a quick revision of the basics of programming, start with this video. This explains the fundamental features of computer programming – how to use variables, constants, methods, arguments and more.
Ruby can delimit strings with single quotes 'like this' or double quotes "like this". It turns out that double-quoted strings can do a special trick – they can evaluate embedded Ruby code. This lesson explains the fundamentals.
An introduction to objects and methods. How to use the standard methods of Ruby objects and how to create objects with methods of their own.
Hands-on sessions are where I encourage you to get at your keyboard and try out bits of Ruby. This hands-on session doesn't introduce new concepts but it does give you some guidance on how to experiment with Ruby as an aid to your study.
Now we’ll look at how multiple objects can be created from a class and we’ll see how to create and access ‘instance variables’ to store different data for each object.
How to initialize an object’s data at the time of creation using the initialize() method and how to look inside objects using the inspect() and p() methods.
In this step you will learn how to create class hierarchies in Ruby so that descendent classes inherit the features of their ancestors.
This video summarizes the essentials of class inheritance in which different ‘branches’ of subclasses can descend from a common ancestor.
We look at simple ways of creating 'attributes' to access instance variables without having to write 'getter' and 'setter' methods.
What is the difference between an @instance_variable and a @@class_variable? This video explains...
An introduction to creating arrays in Ruby, including arrays of mixed types. How to index a single array item and how to append arrays.
How to index multiple sequential elements in an array, how to specify ranges of elements, and how to iterate over array items.
Time to get back to your keyboard and do some hands-on coding. In this video I suggest that you copy and paste code from the documentation of Ruby's class library. That's a great way to learn about the classes and methods available!
Hashes (or 'dictionaries') let you create lists of objects indexed using a key – for example, a string key such as "chocolate cake" may index a value such as the cake’s recipe. This step explains the fundamentals of hashes.
Ruby can return arrays of all the keys and values found in a hash. You can then use array methods to add, delete, reverse and append one array to another.
How to repeat actions and iterate over collections using for and while loops and some special Ruby methods.
Ruby uses Blocks to perform iterative actions. But there is more to Blocks than meets the eye. In a sense, a Ruby Block is like a method without a name. This video explains.
How to perform tests using 'if', 'elseif' and 'case' statements along with a number of operators to determine whether test conditions are true or false.
Ruby has quite a few Boolean operators to test true/false values. They may look simple enough at first sight but be careful. They may not always work quite as you expect!
Modules let you wrap up code for easy reuse – they also provide some of the features of multiple inheritance without the complexities.
What is the difference between a local and a global variable? And when is a constant not a constant?
This step explains how to save data in YAML format and subsequently reconstruct objects initialized with the saved data.
Now you’ve finished this course, what next? Here I look at some sources of information to take your Ruby skills to the next level.
We've learnt a lot about classes and objects in this course - including constructing new objects and using class and instance methods and variables. This Hands-on session revises the essential features and explains how classes can have their own instance variables.
A short explanation of what Ruby On Rails is and how to create a very simple Rails application.
So how do you program Rails with Ruby? This explains the fundamentals...
RubyExtras code archive - some small programs showing file handling and recursion.
A quick look at the file handling programs in the RubyExtras code archive and a debugging session to illuminate the effects of recursion.
What are :symbols and why do they matter? This lecture uses some sample programs from Chapter 11 of my paperback advanced Ruby programming book, The Book Of Ruby. Download the text of Chapter 11 here. If you want to download the code archive for the entire
Book of Ruby, you can do so from http://www.nostarch.com/boruby.htm
This is the chapter explaining Symbols taken from The Book Of Ruby. Subscribers to this course are entitled to a discount on a purchase of The Book Of Ruby. See the online Chapter 1 (Introduction) for more information.
Code archive for a simple exploring-style Ruby text adventure game. You are free to use this as the basis for a game of your own!
This video explains what's in the Adventure Game code archive and it should give you some ideas of ways to use the code as a fun way of extending your Ruby programming expertise by writing an adventure game of your own.
Huw's step by step approach clearly illustrates lots of confusing concepts in Ruby where the other tutorials fail. I found it useful and I would recommend to anyone at beginner level
Great introduction course, classes are short and got straight to the topic.
I am very new to programming language, having only a smattering of knowledge about SQL and HTML. This course did a very good job of explaining the basics of computer programming, and then bringing me up to speed within the context of Ruby. Additionally, the instructor includes practical (real-world) examples to help you practice. If you utilize all of the material provided (the videos, book, and codes), you will feel pretty confidant in your abilities to code. If you are already familiar with another language (like PHP), you could definitely skip a few sections.
Thanks Huw, for the right speed of the course!! Even to rethink my existing ruby knowledge. A right place to be. Best regards, Andreas
Simply great for beginner. I am working on it. Great resources!