Learn to Code with Ruby

31h 31m 25s
English
Paid

Course description

The most comprehensive Ruby course available on Udemy! An in-depth overview of coding with Ruby, a popular programming language renowned for its simplicity and elegance. Whether you've never written a line of code before or are looking to learn a brand new language, this course covers all bases!

Read more about the course

Learn to Code with Ruby offers more than 30+ hours of video tutorials, 250+ lectures, and dozens of quizzes and exercises to test your knowledge as you proceed through the course.

Lessons include:

  • Installation and configuration for both Mac OS and Windows systems
  • Common programming concepts (variables, arithmetic, output)
  • Objects and methods
  • Strings
  • Numbers
  • Booleans
  • Methods and Conditionals
  • Ranges
  • Arrays
  • Hashes
  • Blocks, Procs, and Lambdas
  • Dates and times
  • File Input and Output
  • Regular Expression
  • Classes, Modules, and Inheritance

and more!

Ruby is a language released by Yukihiro Matsumoto in 1995 that bills itself as "a programmer's best friend". Every aspect of Ruby is designed to make programming easier for the developer. There is no better first language if you're interested in learning how to program.

Ruby also serves as the foundation for Ruby on Rails, a popular web framework that powers over 1.2 million websites worldwide. The course offers an extensive introduction to the base language you'll need to know if you intend to tackle web development in the future.

Check out the sample videos below to get a taste of what the course has to offer!

So if you're ready to commit yourself, if you're eager to expand your knowledge of programming, if you're ready to discover what makes this elegant language so loved by developers, you are ready to Learn to Code with Ruby!

Thanks for checking out the course!

Requirements:
  • Basic text editing skills
  • Basic computer skills (web browsing, app installation, file navigation)
Who this course is for:
  • Beginning programmers who want to start with an easy, human-friendly language
  • Intermediate coders who are interested in exploring the Ruby language in greater depth
  • Web development folk curious about the foundation of Ruby on Rails

What you'll learn:

  • Code in the Ruby programming language
  • Utilize common objects like Strings, Arrays, Hashes, and more
  • Solve popular coding challenges with Ruby

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 258 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Learn to Code with Ruby

0:00
/
#1: Introduction to Ruby

All Course Lessons (258)

#Lesson TitleDurationAccess
1
Introduction to Ruby Demo
13:07
2
About Me
00:57
3
MacOS - Access and Work with the Terminal
10:41
4
MacOS - Install Homebrew, rbenv and Ruby
18:03
5
MacOS - Download Atom Text Editor
04:25
6
MacOS - Install atom-runner Package and Visual Theme
08:20
7
MacOS - Write First Ruby File and Run with Atom Runner
06:01
8
MacOS - Run Ruby File from Terminal
03:32
9
Windows - Download and Install Ruby
10:41
10
Windows - Download Atom Text Editor
04:31
11
Windows - Install atom-runner Package and Custom Theme
06:02
12
Windows - Write First Ruby File and Run with Atom Runner
06:15
13
Windows - Run Ruby File from Command Prompt
06:56
14
Interactive Ruby (IRB)
07:28
15
The puts Method
10:21
16
The print Method
03:19
17
The p Method
04:35
18
Basic Arithmetic in Ruby
09:58
19
Comments
06:35
20
Variables
13:40
21
Parallel Variable Assignment and Swapping Variable Values
06:52
22
Constants
04:03
23
Intro to Object Methods
08:08
24
Return Values and the nil Object
09:15
25
String Interpolation
10:25
26
The gets Method and the chomp Method
15:25
27
Intro to Numbers and the .class Method
07:50
28
Convert Numbers to Strings and Vice Versa
08:35
29
Intro to Booleans
04:51
30
The .odd? and .even? Predicate Methods
05:50
31
Comparison with the Equality (==) Operator
06:43
32
Comparison with the Inequality (!=) Operator
04:35
33
Less than and Greater than Operators
05:17
34
Arithmetic Methods and Basic Arguments
09:08
35
Intro to Object Methods with Parameters (The .between? Predicate Method)
08:23
36
Float Methods
06:49
37
Assignment Operators
07:55
38
Introduction to Blocks with the .times Method
14:34
39
The .upto and .downto Methods
09:44
40
BONUS - The .step Method
07:40
41
Create a String
07:26
42
Multiline Strings
04:03
43
Escape Characters
08:05
44
Single Quotes vs Double Quotes
02:22
45
Equality and Inequality Operators with Strings
07:13
46
Concatenate Strings
07:46
47
The .length and .size Methods
06:03
48
Extract Single Characters from String with Bracket Syntax
07:46
49
Extract Multiple Characters from String with Bracket Syntax
04:11
50
Extract Multiple Characters with Range Objects
05:55
51
Overwrite Characters in String with Bracket Syntax
05:15
52
Case Methods
05:44
53
The .reverse Method on a String
03:11
54
Bang Methods on Strings
07:21
55
The .include? Method on a String
05:33
56
The .empty? and .nil? Methods on a String
04:02
57
Intro to Methods
12:58
58
Local Variables
04:17
59
Parameters and Arguments
09:18
60
Return Values I
07:24
61
Return Values II - Default Return Values and the Return of the puts Method
06:15
62
The if Statement
10:20
63
Truthiness and Falsiness
07:07
64
if elsif
09:03
65
The else Keyword
08:02
66
Multiple Conditions with && Operator
12:49
67
Multiple Conditions with || Operator
05:11
68
Parentheses and Precedence
08:34
69
Nested if Statements
08:05
70
The .respond_to? Method
09:30
71
Ternary Operator
12:37
72
Default or Optional Parameters
06:26
73
Call A Method from Another Method or Interpolated String
10:36
74
The case Statement
12:05
75
Negation with !
06:10
76
The unless Keyword
07:45
77
The while Keyword
15:39
78
The until Keyword
04:21
79
CHALLENGE: FizzBuzz
11:58
80
Statement Modifiers / Inline Modifiers
05:37
81
Conditional Assignment
06:35
82
Intro to Ranges
07:46
83
Alphabetical Ranges
05:38
84
The .size Method on a Range
01:46
85
Check if Value Exists in a Range with .include? Method or ===
04:25
86
Generate A Random Number with the rand Method
05:59
87
Introduction to Arrays
04:01
88
Create An Array with Bracket Syntax
09:19
89
Shorthand %w Syntax to Create an Array of Strings
02:12
90
Create an Array with Array.new Method
03:32
91
Access Single Array Element by Index Position
11:59
92
Access Single Array Element with .fetch Method
04:10
93
Extract Sequential Array Elements with Bracket Syntax
06:12
94
Access Sequential Array Elements with a Range Object
04:02
95
Access Multiple Array Elements with the .values_at Method
05:02
96
The .slice Method
02:34
97
Overwrite One or More Array Elements
08:07
98
The .length, .size and .count Methods on an Array
04:58
99
The .empty? and .nil? Methods on an Array
05:18
100
The .first and .last Methods
11:12
101
The .push Method, the Shovel Operator, and the .insert Method
07:05
102
The .pop Method
05:16
103
The .shift and .unshift Methods
03:17
104
Equality and Inequality Operators with Arrays
05:06
105
The Spaceship Operator
06:16
106
Convert Ranges to Arrays with the .to_a Method
04:20
107
The .is_a? Predicate Method
12:47
108
The ri Program
07:50
109
Review of Blocks
05:21
110
The .each Method on an Array
07:01
111
More Practice with the .each Method
13:01
112
each within each
04:03
113
The For Loop
09:32
114
The .each_with_index Method
06:36
115
CHALLENGE: The .each_with_index Method
07:03
116
The .map and .collect Methods on an Array
12:15
117
Iteration over Array with while or until Loops
05:36
118
The break Keyword
06:21
119
The next Keyword
03:39
120
The .reverse Method on an Array
02:26
121
The .sort Method on an Array
05:18
122
The .concat Method on an Array
04:47
123
The .max and .min Methods on an Array
09:07
124
The .include? Predicate Method on an Array
02:13
125
The .index and .find_index Methods on an Array
02:52
126
The .select Method on an Array
06:46
127
The .reject Method on an Array
02:54
128
Unpack a Multidimensional Array
05:45
129
The .partition Method on an Array
05:06
130
The .split Method on a String
05:29
131
Iterate over String Characters
04:41
132
The .join Method on an Array
10:32
133
The .count Method on a String
06:45
134
The .index and .rindex Methods on a String
12:37
135
The .insert Method on a String
02:31
136
The .squeeze Method
11:22
137
The .clear Method on a String
01:27
138
The .delete Method on a String
05:37
139
Object Pointers and Object Copies
10:31
140
Splat Arguments
03:51
141
The .any? and .all? Methods on an Array
04:43
142
The .find and .detect Methods on an Array
05:43
143
The .uniq Method on an Array
05:29
144
The .compact Method on an Array
04:43
145
The .inject and .reduce Methods on an Array
11:53
146
The .flatten Method on an Array
03:49
147
The .zip Method on an Array
07:05
148
The .sample Method on an Array
03:51
149
Multiply an Array with Asterisk Symbol
06:00
150
Union - Combine Arrays and Exclude Duplicates
06:34
151
Remove Array Items that Exist in Another Array
05:52
152
Array Intersection with the Ampersand Symbol
06:07
153
Intro to Hashes
07:09
154
Create Hash and Extract Values from Hashes by their Keys
09:55
155
Intro to Symbols and Symbols as Hash Keys
08:18
156
Convert Symbols to Strings and Vice Versa
03:52
157
The .fetch Method on a Hash
05:01
158
Add a Key Value Pair to a Hash with Bracket Syntax or the .store Method
05:03
159
The .length and .empty? Methods on a Hash
03:22
160
The .each Method on a Hash
07:19
161
The .each_key and .each_value Methods
07:18
162
Retrieve Keys or Values from Hash as an Array
02:12
163
Create Hash with Default Value
05:37
164
Convert Hash to Array and Vice Versa
05:12
165
The .sort and .sort_by Methods on a Hash
06:46
166
The .key? and .value? Methods on a Hash
04:35
167
Hashes as Method Arguments
10:21
168
The .delete Method on a Hash
03:09
169
The .select and .reject Methods on a Hash
06:47
170
The .merge Method to Combine Hashes
08:00
171
CHALLENGE: Word Frequency in a Sentence String
09:30
172
Introduction to Blocks
07:51
173
The yield Keyword
09:55
174
Procs I
17:27
175
The .block_given? Method
03:29
176
Yielding with Arguments
08:38
177
A Custom .each Method
08:54
178
Procs II
04:15
179
Pass a Ruby Method as Proc
05:54
180
Methods with Proc Parameters
06:36
181
Intro to Lambdas
12:53
182
Lambda Efficiency Example
13:12
183
Intro to the Time Object
06:47
184
Instance Methods on a Time Object
04:23
185
Predicate Methods on Time Objects
04:33
186
Add or Subtract Time by Seconds
08:59
187
The Comparable Methods on a Time Object
06:22
188
Convert Time Object to Other Objects
05:03
189
Convert Time Object to Formatted String
05:32
190
The .parse and .strptime Methods
07:41
191
Read from a Text File with Ruby
04:18
192
Write to a Text File with Ruby
04:49
193
Rename and Delete a File with Ruby
03:40
194
Command Line Arguments (ARGV)
03:42
195
The load Method
04:54
196
The require and require_relative Methods
07:36
197
The .start_with? and .end_with? Methods
15:55
198
The .include? Method
10:32
199
Intro to Regular Expressions
10:17
200
The .scan Method I
06:27
201
The .scan Method II
06:18
202
The Wildcard Symbol
06:30
203
The Backslash
05:32
204
RegEx Anchors
04:08
205
Exclude Characters
04:40
206
The .sub and .gsub Methods with Regular Expressions
10:00
207
Rubular.com
07:21
208
Intro to Classes
11:25
209
Review of the .class Method on Ruby Objects
02:55
210
The .superclass and .ancestors Methods on a Class
14:33
211
The .methods Method
08:28
212
Create A Class
12:07
213
Object Aliases
05:15
214
Instance Variables and the .initialize Method
13:35
215
Instance Methods
10:05
216
Override the .to_s Method
05:43
217
The self Keyword in an Instance Method
05:45
218
Getter Methods
10:36
219
Setter Methods
10:54
220
Shortcut Accessor Methods
08:37
221
Add Parameters to initialize Method
07:59
222
Intro to Modules
10:36
223
Modules with Identical Methods
08:08
224
Import Modules into the Current File
03:43
225
The Math Module
02:53
226
Mixins I - The Comparable Module
18:04
227
Mixins II - Custom Mixins
15:25
228
The .ancestors Method in Depth
09:55
229
The prepend Keyword
04:13
230
The extend Keyword
04:55
231
Mixins III - The Enumerable Module
14:52
232
Private Methods
10:29
233
Protected Methods
11:41
234
Add Validation to Setter Methods
09:40
235
Prefer Instance Methods to Instance Variables
10:42
236
Calling Multiple Setter Methods within one Method
07:57
237
Structs
12:17
238
Monkey Patching I
13:05
239
Monkey Patching II
15:11
240
Monkey Patching III
06:05
241
Class Variables and Class Methods
14:27
242
Review of Inheritance
04:03
243
Create Subclasses
06:22
244
Check Inheritance Hierarchy
06:55
245
The .is_a? and .instance_of? Predicate Methods
05:23
246
Exclusive Instance Methods in Subclasses
05:23
247
Override Methods in a Subclass
04:53
248
The super Keyword I
10:30
249
The super Keyword II
08:00
250
Class Variables across Subclasses
07:53
251
Singleton Classes and Singleton Methods
08:29
252
Hash as initialize Argument I
07:07
253
Hash as initialize Argument II
09:09
254
Intro to Rubydoc Documentation
05:46
255
Class Method Documentation on RubyDocs
05:18
256
Use rdoc to Generate Your Own Documentation I
08:28
257
Use rdoc to Generate Your Own Documentation II
05:48
258
Conclusion
02:04

Unlock unlimited learning

Get instant access to all 257 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Ruby Programming

Ruby Programming

Sources: pragmaticstudio
Ruby is a versatile object-oriented programming language that's an absolute delight to use. It's been around for over 30 years, and Ruby is still going strong. It's used by comp...
3 hours 46 minutes 23 seconds
Deployment from Scratch

Deployment from Scratch

Sources: Josef Strzibny
"Deployment from Scratch" is an introduction to web application deployment that covers the entire process from basic concepts to complex server and database...
Web Framework from scratch

Web Framework from scratch

Sources: destroyallsoftware
We give the "from scratch" treatment to an entire web framework. It will do HTTP request routing, template rendering, database access, form validation, and more. Each piece of t...
37 minutes 36 seconds