Complete Ruby Course

Chapter 1: Introduction to Ruby
  • Lesson 1: What is Ruby?
  • Lesson 2: History and Evolution of Ruby
  • Lesson 3: Ruby's Philosophy and Features
  • Lesson 4: Installing Ruby (RVM, rbenv, RubyInstaller, etc.)
  • Lesson 5: Setting Up the Ruby Environment
  • Lesson 6: Writing Your First Ruby Program
  • Lesson 7: Running Ruby Code (IRB, Interactive Ruby, and Scripts)
Chapter 2: Variables and Data Types
  • Lesson 1: Declaring and Using Variables in Ruby
  • Lesson 2: Understanding Ruby’s Dynamic Typing
  • Lesson 3: Data Types: Strings, Numbers, Symbols, Booleans, Arrays, Hashes
  • Lesson 4: Type Conversion in Ruby
  • Lesson 5: Constants and Global Variables
  • Lesson 6: Special Variables in Ruby ($_, $?, $~, etc.)
Chapter 3: Operators in Ruby
  • Lesson 1: Arithmetic Operators
  • Lesson 2: Comparison Operators
  • Lesson 3: Logical and Boolean Operators
  • Lesson 4: Assignment Operators
  • Lesson 5: Range Operators
  • Lesson 6: Ternary Operator
  • Lesson 7: Safe Navigation Operator (&.)
Chapter 4: Control Structures
  • Lesson 1: Conditional Statements (if, else, elsif, unless)
  • Lesson 2: Case Statements (Pattern Matching in Ruby 2.7+)
  • Lesson 3: Looping Constructs (while, until, for)
  • Lesson 4: Iterators (each, map, select, reject, reduce)
  • Lesson 5: The break, next, and redo Keywords
Chapter 5: Methods and Blocks
  • Lesson 1: Defining and Calling Methods
  • Lesson 2: Method Arguments and Default Values
  • Lesson 3: Return Values and return Keyword
  • Lesson 4: Yielding to Blocks (yield keyword)
  • Lesson 5: Lambda Functions and Procs
  • Lesson 6: Closures in Ruby
Chapter 6: Strings and Regular Expressions
  • Lesson 1: String Basics and Manipulation
  • Lesson 2: String Interpolation and Formatting
  • Lesson 3: Multi-line Strings and Here-documents
  • Lesson 4: Working with Regular Expressions (Regexp)
  • Lesson 5: Pattern Matching in Ruby 3+
Chapter 7: Arrays and Hashes
  • Lesson 1: Creating and Manipulating Arrays
  • Lesson 2: Multi-dimensional Arrays
  • Lesson 3: Array Methods (push, pop, shift, unshift, etc.)
  • Lesson 4: Working with Hashes (Dictionaries)
  • Lesson 5: Hash Methods (keys, values, merge, etc.)
Chapter 8: Object-Oriented Programming in Ruby
  • Lesson 1: Introduction to OOP in Ruby
  • Lesson 2: Creating Classes and Objects
  • Lesson 3: Instance and Class Variables (@var, @@var)
  • Lesson 4: Getters, Setters, and Attribute Accessors (attr_reader, attr_writer, attr_accessor)
  • Lesson 5: Understanding self in Ruby
  • Lesson 6: The initialize Method (Constructors)
Chapter 9: Inheritance and Polymorphism
  • Lesson 1: Understanding Inheritance
  • Lesson 2: Method Overriding
  • Lesson 3: Using super to Call Parent Methods
  • Lesson 4: Duck Typing and Dynamic Typing in Ruby
Chapter 10: Modules and Mixins
  • Lesson 1: What Are Modules?
  • Lesson 2: Using require and include
  • Lesson 3: Namespaces in Ruby
  • Lesson 4: Creating and Using Mixins (extend and include)
Chapter 11: Error Handling in Ruby
  • Lesson 1: Exception Handling Basics (begin, rescue, ensure, else)
  • Lesson 2: Creating Custom Exception Classes
  • Lesson 3: Ensuring Cleanup with ensure
  • Lesson 4: Retrying Failed Operations
Chapter 1: Metaprogramming in Ruby
  • Lesson 1: Introduction to Metaprogramming
  • Lesson 2: method_missing and respond_to?
  • Lesson 3: Defining Methods Dynamically (define_method)
  • Lesson 4: Open Classes and Monkey Patching
  • Lesson 5: Using eval, instance_eval, and class_eval
Chapter 2: File Handling and I/O
  • Lesson 1: Reading and Writing Files
  • Lesson 2: Working with Streams (IO and StringIO)
  • Lesson 3: File Permissions and Metadata (chmod, chown, stat)
Chapter 3: Asynchronous Programming in Ruby
  • Lesson 1: Threads in Ruby
  • Lesson 2: The Thread Class and Synchronization
  • Lesson 3: Using Fibers for Lightweight Concurrency
  • Lesson 4: EventMachine and Async Libraries
Chapter 4: Advanced Collections and Enumerators
  • Lesson 1: Understanding Enumerables
  • Lesson 2: Lazy Evaluation in Ruby 2.0+
  • Lesson 3: Custom Enumerators (Enumerator class)
Chapter 5: Web Development with Ruby
  • Lesson 1: Introduction to Ruby Web Frameworks (Sinatra, Ruby on Rails)
  • Lesson 2: Working with HTTP Requests and Responses
  • Lesson 3: RESTful APIs in Ruby
Chapter 6: Networking and Socket Programming
  • Lesson 1: TCP and UDP Sockets in Ruby
  • Lesson 2: HTTP Client with Net::HTTP and Faraday
  • Lesson 3: Building a Simple Chat Application
Chapter 7: Database Connectivity
  • Lesson 1: Working with SQLite, PostgreSQL, and MySQL
  • Lesson 2: Object-Relational Mapping (ORM) with ActiveRecord
  • Lesson 3: Querying Databases with SQL in Ruby
Chapter 8: Cryptography and Security
  • Lesson 1: Hashing and Encryption with Digest
  • Lesson 2: Secure Password Storage (BCrypt, Argon2)
  • Lesson 3: Secure API Authentication
Chapter 9: Testing and Debugging
  • Lesson 1: Introduction to Testing in Ruby (Minitest, RSpec)
  • Lesson 2: Writing Unit and Integration Tests
  • Lesson 3: Debugging with pry and byebug
Chapter 10: Ruby Design Patterns
  • Lesson 1: What are Design Patterns?
  • Lesson 2: Creational Patterns | Singleton, Factory Method, Abstract Factory, Builder, Prototype
  • Lesson 3: Structural Patterns | Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
  • Lesson 4: Behavioral Patterns | Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
Chapter 11: Building and Deploying a Ruby Gem
  • Lesson 1: What Are Ruby Gems?
  • Lesson 2: Creating a Ruby Gem (gem build)
  • Lesson 3: Hosting Gems on RubyGems.org
Chapter 12: GUI Development with Ruby
  • Lesson 1: Creating GUIs with Tk, FXRuby, and Shoes
  • Lesson 2: Working with GTK and Qt
Chapter 13: Embedded Systems with Ruby
  • Lesson 1: Using Ruby for IoT and Embedded Development
  • Lesson 2: Working with Raspberry Pi
Course Duration: about 100+20 hours

The online class is held via Skype (or Zoom or Microsoft Teams) and the cost per hour of tutoring is only $15. At the end of this long course, you will master all the required basic and advanced concepts of Ruby and we will develop a real-world application together for about 20 hours which fully prepares you to find a job as a Ruby developer.
To book this class, message or call my telegram or WhatsApp:
+98 (912) 490-8372 or +98 (935) 490-8372
You can also send email to me:
abolfazl.mohammadijoo@gmail.com

Your Message






























Introductory Course of Ruby


Chapter 1: Introduction to Ruby
Chapter 2: Variables and Data Types
Chapter 3: Operators in Ruby
Chapter 4: Control Structures
Chapter 5: Methods and Blocks
Chapter 6: Strings and Regular Expressions
Chapter 7: Arrays and Hashes
Chapter 8: Object-Oriented Programming in Ruby
Chapter 9: Inheritance and Polymorphism
Chapter 10: Modules and Mixins
Chapter 11: Error Handling in Ruby

Advanced Course of Ruby


Chapter 1: Metaprogramming in Ruby
Chapter 2: File Handling and I/O
Chapter 3: Asynchronous Programming in Ruby
Chapter 4: Advanced Collections and Enumerators
Chapter 5: Web Development with Ruby
Chapter 6: Networking and Socket Programming
Chapter 7: Database Connectivity
Chapter 8: Cryptography and Security
Chapter 9: Testing and Debugging
Chapter 10: Ruby Design Patterns
Chapter 11: Building and Deploying a Ruby Gem
Chapter 12: GUI Development with Ruby
Chapter 13: Embedded Systems with Ruby
Course Duration: about 100+20 hours

The online class is held via Skype (or Zoom or Microsoft Teams) and the cost per hour of tutoring is only $15. At the end of this long course, you will master all the required basic and advanced concepts of Ruby and we will develop a real-world application together for about 20 hours which fully prepares you to find a job as a Ruby developer.
To book this class, message or call my telegram or WhatsApp:
+98 (912) 490-8372 or +98 (935) 490-8372
You can also send email to me:
abolfazl.mohammadijoo@gmail.com

Your Message