
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
In this lecture we get our introduction to what programming is, what it represents, and what it takes to program.
We discuss the central role of programming in the modern world and how technology is part of every aspect of our lives.
Programming is not just for computer scientists. Understanding code and how programs work is relevant in many modern professions.
We take a look at the application that we will be building in this final project for this course.
Build a log parser for an Apache style access log to extract emails and cross-reference them with users data, revealing patterns in directories and browser info.
In this video, we go over the installation of RVM and using it to run the Ruby interpreter on our MacOS environment.
The commands are available in the resources section.
We go over the Windows installation options for Ruby
We go over the installation options for Ruby on Linux
A guide to how troubleshoot errors and resources for looking for answers online.
An overview of some of the popular editors that we can use for programming in Ruby.
We go through the installation of the Atom editor
We go over what the terminal is, and some useful commands we can use in this environment.
We start learning how to use the terminal for our programming.
We review how to create directories through the command line and move between different directories.
We look at how to create files on the command line and open them for editing.
Use code commenting in Ruby to document code and guide future readers, noting that comments do not run and can temporarily disable lines to test outputs.
Explore interactive ruby (irb) by launching irb, running quick expressions like puts and 2+2, and seeing immediate outputs, with tips on when to use files instead.
We set up our environment for the programming that we will be doing.
Use Ruby to calculate and print your age in these three ways - in days, in hours, and in minutes
Discover how ruby strings work and how to interpolate ruby code inside a string to insert variables like a and b, enabling templating and dynamic output with puts.
Explore string manipulation in Ruby by reversing strings, using non-mutating and mutating methods, and understanding how index positions and bang methods change the original data.
Explore branching logic with else if in Ruby, moving beyond a simple if to handle multiple conditions from command-line input, including a catch-all fallback.
Learn how to find text inside strings using include, compare with equals, and apply conditionals like if, else, and case to user input such as days.
This is the introduction to the Codealong Exercise for this section.
This video shows the step by step coding of the Guess the Number game
In this assignment, you will build an input analyzer that will return different messages based on the validation of input from the user.
This is the introduction to the Codealong Exercise for this section.
We will be building a contacts directory that can be added to from the command line.
In this assignment, you will be building a collection of usernames and passwords based on user input.
Understand how the bubble sort algorithm works and its order of complexity
In this optional video, we are going to implement a sorting algorithm for arrays, which will take an array as input and return it with the numerical elements sorted from smallest to largest.
There is a PDF file and a Ruby file with the source code in the resources for this video
We will use the Bubble Sort algorithm - https://en.wikipedia.org/wiki/Bubble_sort
Learn how to iterate over ranges in Ruby using inclusive and exclusive syntax, reverse ranges, and the times method to process numbers without creating arrays.
explore enumerators in ruby, including how each with index yields item and position, calling without a block, and converting indices to strings to run array methods.
This is the introduction to the Codealong Exercise for this section.
We create filter functionality for a products catalog.
Open a file in Ruby, assign the file object to f, and print it with puts; explore existing versus non-existent files and future read, write, and close operations.
Learn how to write to a new file and append to it in Ruby, creating Bar.txt, demonstrating append mode versus overwrite, and verifying the file contents.
Learn how to guard file reads in Ruby by checking if a file exists before opening, then read and print its contents using conditionals and user input.
This is the introduction to the Codealong Exercise for this section.
We create a todo note collector which writes to a file.
We begin our journey with Object-Oriented Programming by learning about Classes
We learn about Objects and how they are different from Classes
We take a look at the Ruby techniques for instantiating objects from classes.
In this video we go through the displaying of Objects and how it can be customized
This is an introduction to object comparison, and implementing custom equality methods.
We find out what the term "Duck Typing" means, where it comes from, and what it looks like in Ruby.
We review methods belonging to objects, and learn a surprising thing about all methods in Ruby.
In this video, we explore the very important Object-Oriented concept of inheritance.
We learn about overriding methods on Objects.
We review the use of attributes on objects and different ways of adding attribute functionality in Ruby
We go over Class Methods and how they are different from Instance Methods and have a different use in Object-Oriented Programming.
We take a closer look at something very powerful in Ruby - Modules
In this video, we learn about how we can include Modules in our classes from other files, and how the different ways of loading in module code have different purposes.
We take a look at the difference between inheritance and composition in Object-Oriented Programming, and how the two can be used to great effect in Ruby
This is the introduction to the Codealong Exercise for this section.
Explore binary trees as ordered data structures with a root node and left and right branches, enabling fast searches and scalable O(log n) performance in Ruby.
We will take a look at how to implement a binary tree using classes and recursion in Ruby
The source code is available in a PDF file and a Ruby file in the Resources section for this video
Explore domain modeling by translating real-world concepts into domain models and model classes, using a health insurance plan to illustrate interactions among payer, provider, and patients. Engage with domain driven design and the domain layer to build software that accurately represents complex business rules and relationships.
Save a person record to one per-employee file by opening the file in write mode and writing the first and last name, using a unique id in the filename.
This is the introduction to the Codealong Exercise for this section.
Preview a solution to automate car shopping by extracting data from a car listings site and saving relevant results to a JSON file.
In Ruby, extract data from a car listings object by iterating with each through eight cars, using CSX to select make and year, retrieve text, and assemble a new collection.
Install and use Adam beautify to format JSON for clearer viewing; compare non beautified vs beautified output, run it to cast values to correct types, and save changes.
Explore how ruby gems work, from browsing ruby gems dot org and gem specs to versioning, licenses, dependencies, and the role of lib files in a gem’s structure.
Extract emails from server logs in Ruby by parsing a user agent string, applying regular expressions and match data captures, and assembling a user data structure with browser and email.
This lecture demonstrates building a flexible data pipeline for access logs by decoupling file discovery from processing, using pattern matching to load each file and output formatted results.
Become a programmer with Ruby and learn one of the most fundamental skills in any industry - today and the future.
This is the most comprehensive course for learning how to program using the Ruby programming language. Why did we choose Ruby to teach programming? Not only is Ruby one of the easiest programming languages to get started with, but it is also extremely powerful and provides tools for learning and using all the fundamentals of programming that can be used in any language - with its own flair for programmer happiness. Whether you are a complete beginner or already know the basics but want to know and apply advanced concepts in programming like OOP, automation using web scraping, data engineering and algorithms built from scratch - this is the course for you!
Ruby is also the programming language behind Ruby on Rails which is one of the most popular and in-demand web development frameworks, with the highest paying jobs in the world today.
This course will teach Ruby, and programming in general, in a practical manner - you will be presented with concepts in screencast videos which you can code along with; followed by quizzes and coding exercises to test your understanding; along with programming assignments which will bring it all together to seal your knowledge. We go over the practical details of programming, issues that programmers face daily and build up your understanding in an efficient way. And with unlimited access - you can learn at your own pace!
By the end of this course, you will be able to write complete programs that can take input from users, build interactive menus, interact with formatted data files, automate life tasks like car shopping online using web scraping and engineering complex data from web server logs to your own specifications, among many other skills!
We will cover a wide variety of topics, including:
Installing Ruby - Mac, Windows and Linux
Command Line basics
Ruby basics
Basic data structures - Strings, Ints, Floats and more
Compound data structures - Arrays, Hashes and more
Algorithms and implementation - Sorting, Binary Search Trees and more!
Print Formatting
Methods
Built-in methods
Debugging and Error Handling
Object Oriented Programming concepts
- Classes, Inheritance, Polymorphism, Modules
File I/O in-depth
Web scraping
Automation of daily life tasks (car shopping online as an example)
Data Engineering - project with web server logs
Ruby specific methods
and much more!
You will get lifetime access to all the videos, text lectures, code repos, assignments and more!
This course comes with a 30 day money back guarantee! If you are not satisfied in any way, you'll get your money back.
So what are you waiting for? Get going with the Complete Ruby Programmer and introduce fun into learning an advanced, on-demand skill!