Web Development

10-Week Part-Time Course

Talk to Admissions +1 (917) 722-0237
Learn Ruby

Skills & Tools

Use the command line, Sublime Text, GitHub, and Ruby on Rails in concert.

Build authentication

Production Standard

Build a web application that authenticates login, responds to user input, and connects to services like Reddit and Facebook.

discover modern web apps

The Big Picture

Gain a working knowledge of what powers modern web applications: databases, routing, web views, APIs, and more.

Meet your support team

Our educational excellence is a community effort. When you learn at GA, you can always rely on an in-house team of experts to provide guidance and support, whenever you need it.

  • instructor


    Learn industry-grade frameworks, tools, vocabulary, and best practices from a teacher whose daily work involves using them expertly.

  • teaching assistant

    Teaching Assistants

    Taking on new material isn’t always easy. Through office hours and other channels, our TAs are here to provide you with answers, tips, and more.

  • producer

    Course Producers

    Our alumni love their Course Producers, who kept them motivated throughout the course. You can reach out to yours for support anytime.

See What You’ll Learn

Unit 1: Ruby

Introduction to Web Programming and GitHub

  • Configure a Ruby development environment
  • Use basic UNIX commands for file manipulation
  • Describe and use the Ruby Shell (irb) to execute simple code scripts
  • Define the basics of git and the version control workflow
  • Add, commit, push, and pull code from GitHub

Ruby Basics

  • Define computational thinking and translate instructions into basic pseudo code
  • Define variables and data types
  • Utilize conditional logic and variables to create a simple Ruby program
  • Define arrays, hashes and differentiate between the two
  • Describe iteration in computational thinking and relate to loops
  • Apply loops to manipulate collections (arrays and hashes)

Everything is an Object

  • Write and call parameterized custom methods
  • Describe and use object­-oriented programming
  • Apply instances of built­-in classes
  • Create and implement custom classes in your program
  • Control the scope of class functions and variables

Using Modules, Mixins, and Exception Handling

  • Define modules and apply them to a Ruby program
  • Apply built-in modules as mixins to extend class behavior
  • Create custom modules as a method library

Unit 2: Ruby on Rails

My First Rails App

  • Define how DNS servers, web servers and web browsers work together to deliver a Rails app
  • Describe HTTP URI structure and Rails request handling cycle
  • Define MVC framework and explain how Ruby works with Rails
  • Generate a basic Rails application using scaffolding
  • Review Rails application file structure

Routing, Controllers, and Views

  • Explain the MVC structure and differentiate between model, view, and controller
  • Describe and generate routes that map to various actions
  • Generate controller actions and embed Ruby code in Rails
  • Create and render a simple view based on a controller action

Creating Models and Migrations, and Active Record

  • Describe the model’s function in the MVC framework
  • Define the CRUD operations in the context of models
  • Define Rails migration and apply rake:db to implement a model defined in a migration
  • Operate ActiveRecord to save and access model data

Databases and Associations

  • Experiment further with ActiveRecord to retrieve and display data in an app
  • Implement database associations such as one­-to­-many, many-to-many relationships in models backed by SQLite
  • Describe in simple terms primary and foreign keys

Creating Forms

  • Create a form and relate models
  • Create form field elements with helpers
  • Create custom helper methods

Putting It All Together – Models, Views, and Controllers

  • Create a simple Rails app that integrates all three components of the MVC framework

Twitter Bootstrap Framework

  • Utilize the Twitter Bootstrap template to create a simple front­end to an application
  • Learn how to apply and use basic Ruby gems to an application
  • Apply additional HTML/CSS skills to provide more visual appeal to an application

Project Lab Session

  • This session serves as a checkpoint into students’ final project progress

Creating User Profiles

  • Differentiate between sessions and cookies
  • Translate process of authentication into Rails program
  • Implement basic authentication ­- username/password
  • Practice storing identities and user data
  • Survey available authentication gems (Devise, Omniauth)

Precious Gems

  • Understand Ruby file I/O
  • Provide capability for file uploads in an application using the Paperclip Gem
  • Investigate and experiment with other useful Ruby Gems that can be applied to a Rails application

Third Party APIs

  • Call external APIs such as Flickr, Twilio, or Google Maps
  • Digest and sort through information that is returned from various APIs

Publishing Your App

  • Deploy your web application to Heroku
  • Consider adding various assets to an application such as JavaScript, CoffeeScript, etc

Request a Detailed Syllabus

Get Syllabus

Learning to program is a journey that successful developers travel for their entire careers. I love being at the beginning of someone else’s journey and making it the most promising start possible.

Joe Leo / President, Def Method

Joe Leo, Def Method

Meet your instructors

Learn from skilled instructors with professional experience in the field.

Nathan Hessler

Washington, D.C.

Nathan Hessler

Software Engineer,


Kisha Richardson

San Francisco

Kisha Richardson


Andrew Buntine


Andrew Buntine

Technical Director,

Hard Hat Digital

Brooks Swinnerton

New York City

Brooks Swinnerton

Platform Engineer,


Bill Transue

Washington, D.C.

Bill Transue

Senior Web Developer,


David Ladowitz

San Francisco

David Ladowitz

Web Developer,

Omada Health

back-end web development student working

Financing Options

Need payment assistance? Our financing options allow you to focus on your goals instead of the barriers that keep you from reaching them.

Let's figure out the best option for you.

*Must be a U.S. citizen or permanent resident; approval pending state of residency.
†Must be a U.S. citizen or permanent resident; approval pending state of residency.

Get Answers

Have questions? We’ve got the answers. Get the details on how you can grow in this course.

  • Why is this course relevant today?

    A web developer that creates client-side web sites can only go so far without back-end logic.

    This course introduces students to web application programming which allows one to create robust, back-end Rails applications that communicate with both the front-end of a site, and back-end data stores.

    Students will learn how to integrate with third party APIs and write the logic required to drive customized solutions on the web.

  • What practical skill sets can I expect to have upon completion of the course?

    This course is an introduction to web development with Ruby on Rails. By taking this course you will gain the skills necessary to build and deploy a Rails web application with user logins and sign-ups.

    This course will first teach you core programming fundamentals, in Ruby, that are essential for building web apps. In addition, you will learn how to approach and solve a problem like a developer. Students also leave this course with a better understanding of how the Internet works.

  • Whom will I be sitting next to in this course?

    This is a beginner level course, and therefore a wide range of people sign up. In the past we’ve had:

    • Designers
    • Journalists
    • Front End Web Developers
    • Bloggers
    • Entrepreneurs
    • Project Managers
    • Students
  • Will there be any pre-work?

    We’d prefer that students have a basic knowledge of HTML and CSS. If you are interested in taking the course but don’t know anything about HTML and CSS, we can set you up with tutorials prior to class.

    Also students will have to go through a command line tutorial before the first day of class.

Dig Deeper Into The Curriculum

By providing us with your email, you agree to the terms of our Privacy Policy and Terms of Service.

Speak with admissions about your options.

By providing us with your email, you agree to the terms of our Privacy Policy and Terms of Service.

Let’s keep you updated.

By providing us with your email, you agree to the terms of our Privacy Policy and Terms of Service.