Learn to Code with Ruby
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!
More
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!
- Basic text editing skills
- Basic computer skills (web browsing, app installation, file navigation)
- 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 Learn to Code with Ruby
# | Title | Duration |
---|---|---|
1 | Introduction to Ruby | 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 |