Time to dive deep into Ruby, the language 'designed for programmer happiness.' You'll cover object-oriented design, testing, and data structures – essential knowledge for learning other programming languages, too!


In this section, we'll look at the path ahead and install Ruby.

Basic Ruby

In this section, we'll cover the basic building blocks of Ruby so you have them down cold. Everything else you'll learn in programming builds on these concepts, so you'll be in a great place to take on additional projects and languages in the future.

Basic Ruby Projects

In this section we will solidify your basic Ruby knowledge by practicing with a few small projects.

Object Oriented Programming Basics

You've got tools in your Ruby tool box and now it's time to combine them into more meaningful programs. In this section, you'll learn how to turn your spaghetti code into properly organized methods and classes.

Files and Serialization

What if you want to save the state of your program? How about loading in a file? Some basic operations like these will be covered here.

Advanced Ruby

In this section you'll learn about some of Ruby's most powerful features and how using these techniques can simplify your code.

A Bit of Computer Science

In this section, you'll learn some fundamental computer science concepts that will help you when solving problems with a bit more complexity than just simple web serving. You get to try on your engineering hat and solve some pretty nifty problems.

Intermediate Git

You should be familiar with the basic Git workflow since you've been using it to save your projects along the way (right?!). This section will start preparing you for the more intermediate-level uses of Git that you'll find yourself doing.

Testing Ruby with RSpec

You've been briefly introduced to testing in Ruby a couple of times before in this course, but now you're going to really learn why testing can be hugely helpful and how to apply it to your own projects.


You've come an exceptional distance already, now there's just the matter of wrapping it all together into one coherent package and creating something real. This is your Final Exam and a major feather in your cap. Once you've completed this section, you should have the confidence to tackle pretty much anything.