Learning Ruby: The Basics of Programming

Online kursy

It is a starting point for creating a solid background for Ruby programming, and for programming in general. After taking the course, you can study further and became Ruby on Rails developer, or data scientist who works with complicated data, or devops professional. Or you can just use the knowledge for your everyday digital life, small automation of routine tasks, experimenting and fun.


Quest tasks

  • First Program
  • Getting Started With The Real Data
  • Data Structures and Algorithms
  • Using The Standard Library
  • Object-Oriented Programming
  • Object-Oriented Programming: Inheritance
  • Object-Oriented Programming: Composition
  • Functional Programming
  • Metaprogramming and DSL
  • Interaction With The Outside World
  • Code Quality And Organization
Enough talking, let’s train already!

Mentors who give this quest

«Ruby expert with ten years of experience, open source and open data enthusiast, author of several quite popular gems, mentor for Google Summer of Code. Currently, Victor is proud to work Toptal core team.»

What doing a quest looks like

In fact, it will look something like this:

  1. Once you've made the decision to start training, you will get access to the magic "Start quest" button form "Training" menu.

    00 start en
  2. Then you will see a list of tasks. The number of tasks will be different depending on the quest you choose, but one thing would remain the same: you will get access to new tasks only after you have completed the previous one (as in a computer game). No spoilers!

    00 task1 en
  3. Then you read the task description and start this quest. This is actually where all your "Why?", "Where?", and "How?" questions start, and your mentor will be ready to answer them. And although the task provides links to other pages you need to check out to understand how to complete it, feel free to ask your mentor if you are doing it right.

  4. Done? Good for you! Send the results for the review and wait for the result, while your mentor is carefully checking your code. Current status of the task is shown in the task log. You will find all necessary info on how and where to send you tasks in the description of your quest.

    00 success en
  5. After the first task have been reviewed, you will take the next one and so on until you reach your goal which is to build a complete and successfully running web application.

    00 next task en

During the training you will receive e-mails notifying you about the successful completion of the tasks. You will also get an e-mail if you have been inactive for some time. We have a lot of different ways to poke you with a stick and make sure that you're making progress with the task. You mentor will not leave you alone, but in the end, the process and progress of training depends only on you.


Wait, I still have a question...

They say, Ruby developer should use Linux or Mac, can I take course if I am a Windows user?

Yep! All excersises designed the way that do not require some particular operating system. But probably you'll run against some complications while installing Ruby and libraries.

I already read some Ruby books and even have written a bit of code, will the course still be useful for me?

If it is "a bit", then it definitely will. But if you already know how to write Ruby classes and their interactions, not afraid of metaprogramming, blocks and iterators, had used some Ruby gems and know how to select the best for the task— well, in this case it would be hardly something new for you in this course.

Is it possible to find the work right after the course?

It depends! We suppose that course is introduction into Ruby programming, providing solid foundation for further professional studies. But if you'll feel that you love to program, and able to write something interesting, and feel adventurous... Well, with this foundation you probably can pretend for some internship or even junior position, and study everything else in a battlefield.