Fall 2018


Week 0

Course Logistics

Welcome to the Rails Decal! Class will be every Thursday in Kroeber 160 from 5-7PM. Check out the syllabus and HW0: the course entry survey below :)

Fall 2018 Course Syllabus

Week 1

Introduction to Ruby and The Web

This week, we will be discussing class logistics, the basics of the Ruby language, and a cursory overview of how the mysterious entity that is "The Web" works!

Online Ruby Interpreter
Online ruby interpreter
Lecture Guide
A walkthrough of what happened in Lecture 1

Week 2

Intro to Rails

An introduction to how Rails, a web server, receives and handles requests.

Lecture Slides
Follow along here!
Ruby on Whales Install Guide
A technical guide to installing Ruby on Whales!
Lecture Guide
A lecture guide walking you everything that happened this week!

Week 3

Rails Lab + Models

Now that we've dipped our feet into the world that is Rails, we're going to spend some time in-class trying it out and getting comfortable with it. Towards the end, we will introduce models and databases.

Lecture Slides
Lecture Slides!
Lab for Week 3!
In-Class Mini-Lab
Check this out for the code from what we did in class!
Lecture Guide
Lecture Guide 3: Forms + In-Memory Models

Week 4

Models and Databases

Today, we're going to dive into how to represent data and how Rails makes this as easy as possible for us!

Lecture Slides
Lecture Slides!
Week 4 Lab!
Lecture Guide
Models and Databases!

Week 5

More on Models and Rails

We're finally bringing it all together! This is the lecture where we'll finally have talked about the entire process of building a robust Rails app! We'll learn more about creating models and the scaffolding Rails generates for us :)

Lecture Slides
Lecture slides!
Project 1
Project 1!
Lecture Webcast
Make sure you're logged into your Berkeley account :)
Lecture Guide
This week's guide is in 2 parts. Check them out here!

Week 6

Advanced Models and Conventions Revisited

Now that we've finished learning the core fundamentals of Rails. We're going to take a step back and look at it all again. We will also discuss advanced model relationships so that you can create even more powerful applications

Lecture Slides
Follow along with this week's lecture!
This week's lab: practicing building a rails app
Project Checkoffs
Sign up for a project checkoff!

Week 7

Using Ruby Gems

Power up your rails projects by including code written by other people to help make things simpler! Today we will discuss some important gems that everyone should know about as well as talking about how to tell if a gem is stable enough to use.

Lecture Guide + Lab
This week's in-class instagram demo!

Week 8

Integrating into the Web Ecosystem: APIs

In this lecture, we will discuss how to interact with outside API's in your Rails application so you can extend it's functionality! This lets you do what we did in HW 2: getting the current weather from a weather service and so much more. We will be doing this through some fun examples and using an important Gem called Faraday.

Project 2
Project 2: Build your own web app! This is an open-ended project group project where you will build out a fun idea from scratch
Lecture Slides
Lecture Slides!
Project 2 Team Registration
Every person on the team must fill this out!

Week 9

Schema Diagrams and WebHooks

In this lecture, we're going to be spending some time discussing some tips for starting a fresh project from scratch (like in project 2!) as well as talking about the three typical ways you will interact with API's: Read, Write, and Hooks!

Lecture Slides
This week's lecture slides
Week 9 Messenger Bot Guide
Messenger Bot Guide!
Project 2 Team Checkoff
Please create a project plan, find times your team can meet with TA's and submit this by Sunday November 11!

Week 10

Webhooks and Deployment

We're finally going to finish off the semester by talking about webhooks and how to deploy your websites onto the internet!

Lecture Slides
Lecture Slides!
Messenger Bot Guide
Learn how to build your own facebook messenger bot!

Week 11

Project Presentations

We made it to the end! Today we'll just be going through everyone's projects. Make sure to submit!

Project 2 Submission
Project 2 Submission Link. One per group