Ruby on Rails (Spring 2019)

Welcome! The course meets on Wednesdays from 4:30pm to 6:00pm in Towne 305.

Course Description

This course will cover the Ruby language and web development using Ruby on Rails. We'll learn how to build webapps/websites from the ground up, including database design, API usage and integration, and complex front-end design (UI/UX). Additionally, we'll cover popular software architecture patterns, the internet's client-server model, and version control (Git) amongst other topics. We'll build webapps every week as we go along this course, culminating in a final project at the end.

Prerequisites

Please reach out to us if you don't have the prerequisites or if you have any other concerns, we have worked with students from various different backgrounds to help them get the most out of this class.

Helpful Readings

Schedule

Week Lecture Homework Resources
1 Basic Ruby - 1/23/19 Finger Exercises
Due: 1/30/19 at noon
- Command Line
- Git
- Ruby Version Manager (RVM)
- Ruby Docs
- Ruby Style Guide
2 Object Orientation - 1/30/19 Object Orientation
Due: 2/6/19 at noon
- Practical Object-Oriented Design in Ruby
3 Miscellaneous Ruby & Testing - 2/5/19 Song Library
Due: 2/13/19 at noon
- RSpec API Documentation
- RSpec Matchers
- Better Specs
- Example from class
4 Ruby on Rails - 2/13/19 Twitter Clone
Due: 2/20/19 at noon
- Ruby on Rails Guides
- Ruby on Rails API
5 Active Record - 02/26/19 Evernote Lite
Due: 03/13/19 at noon
- Active Record Migrations
- Active Record Basics
- Active Record Associations
6 Active Record Associations - 3/13/19 Penn InTouch Lite Pt. 1
Due: 3/20/19 at noon
- Active Record Migrations
- Active Record Associations
- Routing from the Outside In
7 Action View, Bootstrap & Deploying - 03/20/19 Penn InTouch Lite Pt. 2
Due: 03/27/19 at noon
- Action View
- Layouts and Rendering in Rails
- Bootstrap Documentation
- W3Schools Bootstrap 4 Tutorial
- Heroku Deployment Guide
8 Validations & Sessions - 03/27/19 Facebook Lite
Due: 04/3/19 at noon
Project Proposal
Due: 04/3/19 at 11:59pm
- Scopes for Has Many Relationships
- Active Record Query Interface
- Active Record Validations
- Ruby on Rails Sessions
9 Forms & APIs - 4/3/19 Spotify Jukebox
Due: 4/10/19 at noon
Project Proposal
Due: 4/3/19 at 11:59pm
- Form Helpers
- Spotify Web API
- RSpotify Gem