This tutorial will introduce you to Ruby, an object-oriented scripting language you can use on its own or as part of the Ruby on Rails web framework.
Lesson: Putting the Form in Formatter
Now that you know a little bit of Ruby, let's put together your first project! In this one, we'll write a small program that will format a user's input.
Unit 2: Control Flow in Ruby
Lesson: Control Flow in Ruby
Now that we know how to write simple programs, let's learn how to write more complex programs that can respond to user input.
Lesson: Thith Meanth War!
Using control flow, we can modify a user's input and return it to them. In this project, we'll make them sound like Daffy Duck!
Unit 3: Looping with Ruby
Lesson: Loops & Iterators
Using loops and iterators, Ruby can automate repetitive tasks for you quickly and easily.
In this project we'll make a program that searches a string of text for your name and, if it finds it, replaces it with the word "redacted." Just like that, you're a spy!
Unit 4: Arrays and Hashes
Lesson: Data Structures
You already know a little bit about arrays. This lesson will teach you more about arrays, about a new data structure called a hash, and how Ruby can iterate over both to help you build better programs.
Lesson: Create a Histogram
In this project, we'll write a program that reads a block of text and tells us how many times each word appears.
Unit 5: Blocks and Sorting
Lesson: Methods, Blocks, & Sorting
In this lesson, we'll cover how to define our own methods in Ruby, as well as how to use blocks to develop powerful sorting algorithms.
Lesson: Ordering Your Library
In this project, we'll design a single Ruby method to sort large quantities of data in either ascending or descending order.
Unit 6: Hashes and Symbols
Lesson: Hashes and Symbols
As we've seen, hashes are an important Ruby data structure. Here, we'll learn about the (chunky) bacon to hashes' eggs: symbols!
Lesson: A Night at the Movies
In this project, we'll use our knowledge of Ruby hashes and symbols to construct a program that displays, adds, updates, and removes movie ratings!
Unit 7: Refactoring
Lesson: The Zen of Ruby
In this course, we'll look at the best practices and conventions that make Ruby unique.
Lesson: The Refactor Factory
In this project, we'll use step-by-step refactoring to vastly improve the readability and structure of a program.
Unit 8: Blocks, Procs, and Lambdas
Lesson: Blocks, Procs, and Lambdas
In this course, we'll cover three of the most powerful aspects of the Ruby programming language: blocks, procs, and lambdas.
Unit 9: Object-Oriented Programming, Part I
Lesson: Object-Oriented Programming I
Ruby is an object-oriented language. In this lesson, we'll cover objects, classes, and how they're used to organize information and behavior in our programs.
Lesson: Virtual Computer
Often programmers use virtual machines to simulate real computers. While we won't be building a real VM, in this project, we'll use Ruby classes to create our own imaginary computer that stores data!
Unit 10: Object-Oriented Programming, Part II
Lesson: Object-Oriented Programming II
In this lesson, we'll cover more advanced aspects of OOP in Ruby, including information hiding, modules, and mixins.
Lesson: Banking on Ruby
Now that we know all about hiding information in Ruby, let's apply our new skills to write a program that can store, update, and display a bank account balance.
RUBY FINAL PROJECT
Exclusive for Pro: Ruby Final Project
Finished all our Ruby content? This self-guided project will help you apply your skills and prepare you for real world Ruby development.
You'll leave Codecademy's learning environment for your own machine to build a to-do list application that you'll use via the Command Line.