• Skip to primary navigation
  • Skip to main content
  • Skip to footer
Code The Dream School
Code the Dream Labs Logo

Code The Dream School

Main hub for class materials for Code the Dream’s classes

  • Code the Dream Home

Search Code The Dream School

Red Eel: Ruby on Rails Back End Class

Welcome to the Ruby on Rails Back End Class!

Below is a quick outline of this course. Remember to keep pace with the
mentor groups, and don’t hesitate to ask lots of questions! Slack is the best place for your questions, and you have a Slack channel for the purpose. Get oriented on the Student Resources page. Sign up for mentor sessions on the Google sign-up sheet will will be sent out every Monday via Slack.

Course Calendar

The calendar below shows the start date of each week of the course and includes breaks and special events.

Course Sections

WeekStartDue DateLessons
Pre-ClassMachine set-up
Pre-ClassGit-hub Cookbook
108/11/2108/17/21Back End Lesson 1.1
SQL Basics
208/18/2108/24/21Back End Lesson 1.2
More SQL, Introduction to Ruby
308/25/2108/31/21Back End Lesson 2.1
Ruby Collections, Loops, and Conditional Statements
409/01/2109/07/21Back End Lesson 2.2
Ruby Methods, Classes, and Blocks
509/08/2109/14/21Back End Lesson 2.3
Ruby Test First Development
609/15/2109/21/21Back End Lesson 3.1
Rails Basics
709/22/2109/28/21Back End Lesson 3.2 
Rails Active Record Associations
809/29/2110/05/21Back End Lesson 4.1
Additional Rails Topics
910/06/2110/12/21Back End Lesson 4.2
Rails Testing with RSpec
1010/13/2110/19/21Back End Lesson 4.3
Bringing it All Together
10/20/2110/26/21
Catch Up week
1110/27/2111/02/21Back End Lesson 4.4
Bootstrap 4 Basics; Bootstrap in Rails.
1211/03/2111/09/21Back End Lesson 5.1
Building an API, Swagger
1311/10/2111/16/21Back End Lesson 5.2
Calling the API Using AJAX
1411/17/2111/23/21Final Project work begins
—11/24/2111/30/21HOLIDAY – use this time to review/catch up
1512/01/2112/07/21Final Project work continues
1612/08/2112/14/21Final Project work completed
FINAL PROJECT PRESENTATIONS!

What You Will Be Learning

Rails is a widely used production grade web application framework. You will be learning to develop applications within that framework, which is based on the Ruby language. You will also learn some SQL, which is used by most back end frameworks to store and retrieve data. You will learn about

  • Basic SQL operations: Select, Insert Into, Update, Delete
  • Combining SQL table data using joins
  • Ruby syntax, variables, conditional statements, arrays, hashes, and loops
  • Ruby methods, classes, and blocks
  • Ruby test driven development
  • Rails simple applications using scaffolds
  • The Model/View/Controller organization of functions within Rails
  • Routes, and how you associate route URLs with controller methods
  • REST principles and operations: GET, POST, PUT, DELETE
  • Communicating with the database using the ActiveRecord Object/Relational Mapping
  • How data models affect the structure of your controllers and views
  • Assocations between data models: one to many, many to many.
  • Views that show dynamic web pages with embedded Ruby
  • Diagnosing problems and debugging
  • Communicating messages to the user
  • Logging
  • Testing
  • Styling your application using the Bootstrap framework
  • How to build a back end API
  • How to enable the back end API for Swagger testing/documentation
  • How to call the API from Ajax

Before You Begin

Please set up your machines for Ruby and Rails development, as described Here.

Submitting Your Assignments

For each lesson, you will have one or several assignments. Each assignment is provided to you as a git repository, and a link will be provided to you for that git repository. You should have basic familiarity with git before starting this course, but if you aren’t confident in your git skills, see this Github Cookbook. For each assignment, you will do the following steps:

  1. Fork the repository into your own git account. The fork should be public.
  2. Clone your fork onto your workstation. Important: Clone your fork, not the original repository.
  3. Create a branch for your lesson. Commit changes to that branch periodically, and push them to github.
  4. When the lesson is complete and all your work has been pushed to github, open a pull request for your branch.
  5. Then put a notification in Squibby, with a link to your pull request. This is how we know to review your assignment.

Some of the git repositories will be used for several lessons. You should create a separate branch for each lesson. Each time you will create the new branch from the branch for the previous lesson, so that your work builds on previous steps.

Here is a video in which mentor John McGarvey takes you through the steps for submitting assignments: https://youtu.be/mGwVNoeeVoE .

When Submitting Your Code

When you submit your code, it should be working. If you are not able to get your code working, ask for help on Slack, or bring up questions in a mentor session, or ask for a special mentor session.

Ruby code should be readable. There are many aspects to good Ruby code style, but the most important for right now is indentation! The content of blocks, methods, and classes should be indented two spaces. The end statement should line up, being indented the same number of spaces, with the statement that begins the block, method, or class. Here’s an example:

def my_method(my_array,my_boolean)
  if my_boolean
    my_array.each do |entry|
      puts(entry)
    end
  else
    puts("The boolean was false.")
  end
end

We need proper indentation in order to be able to review your assignments. You need proper indentation to make sure your code is structured correctly.

Footer

Copyright © 2025 Code the Dream School | All Rights Reserved | Privacy Policy