Programming Foundations with Ruby: Intermediate


In this course, we'll delve a little deeper into working with data structures such as strings, arrays, and hashes. We'll also learn how to work with blocks, particularly in conjunction with the widely-used iterative methods such as #each, #map, #select, #reduce, and others. Finally, we'll fine-tune our problem-solving process and learn to use it by working on more complex program, and get familiar with using debugging tools.

Major Topics

  • Ruby data structures and when to use them: strings, arrays, and hash tables
  • Iteration in Ruby: #each, #map, #select, and more
  • Debugging larger programs with pry
  • The PEDAC process for problem solving
  • Nested data structures
  • Working with blocks


Programming and Back-end Development


Detailed Syllabus

Problem Solving

  • The PEDAC Problem Solving Process
  • Debugging With Pry

Data Structures and Collections

  • Strings, Arrays, and Hash Tables
  • Nested Data Structures


  • Working With Blocks
  • Looping
  • Selection and Transformation
  • Other Iterative Methods
  • Sorting

Slightly Larger Programs

  • Rubocop configuration
  • Decomposition of bigger problems
  • Build a Tic Tac Toe game
  • TTT game bonus features
  • Build a Twenty-One game
  • Twenty-One game bonus features