Back-End
Web Development

10-Week Technology Course

Apply Now Request Syllabus

Learn Core Skills

Learn Ruby

Learn the fundamentals of an object‐oriented programming language (Ruby)

Build Rails web apps

Complement front‐end skills by building functional web applications using Rails

Use database solutions

Implement your web applications using database solutions

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

Embrace The Details

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
What really sets General Assembly apart is the support they offer students beyond the classroom.

Giselle Abinader, Web Developer / Designer, American Express OPEN

Teacher helping a student

Upcoming in 

Jul 28 – Oct 1


Tue & Thu

6:30pm - 9:30pm

$3,500 USD

Payment plans available

Instructor

Nathan Hessler
Software Engineer, CustomInk

In the last five years at Customink Nathan has served in several ways moving from Software Engineer to Technical Lead at Customink. A jack of all trades, he’s helped with Infrastructure changes, built out ruby on rails web applications and delved into client side javascript applications. Currently, he helps on-board new developers joining the team where he is affectionately known as 'The Profhessler’.


Apply Now

Fund Your Future

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

¹Must be a US citizen; approval pending state of residency.

Financing options differ in each market. Contact a local admissions officer for more info.

We’re holding an info session on Tuesday, May 26 at 6:30pm

  • Meet the GA team and potential classmates
  • Get an overview of the curriculum and course objectives
  • Get your questions answered about the course and GA
  • Discover the perks of being a student at GA

GA Washington D.C. (1776 8th Floor)

1133 15th Street NW, 8th Floor
Washington , DC 20005

You’re on the list!

Keep an eye on your inbox for your ticket and we’ll see you at the event.

Get Answers

We love questions, almost as much as we love providing answers. Here are a few samplings of what we’re typically asked, along with our responses:

Q: 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.

Q: 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.

Q: Who 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

Q: 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.

View all FAQs

Ask Admissions

Call us at +1 (877) 348-5665
or email us.

Dig Deeper Into The Curriculum

Your syllabus is on its way.

Meanwhile, we’d love to know a little more about you.

Thank you!

We have sent you a copy of our course syllabus to your email. Click here to view the document now.

If you have any other questions about the course, please call us at +1 (877) 348-5665 or email admissions.

Speak with admissions about your options.

Thanks!

Our admissions team will be in touch soon.

Let’s keep you updated.

On Notice.

We’ll be reaching out once a new session is scheduled in your city.