Back-End
Web Development

10-Week Technology Course

Apply Now Request Info

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 

Mar 11 – May 20


Mon, Wed

6:30pm - 9:30pm

$3,500 USD

Payment plans available

Instructor

Brooks Swinnerton

Brooks Swinnerton is a software engineer at General Assembly where he develops internal applications to support the business. In his life previous to code, his career was as a systems administrator at New York University where he was responsible for supporting and designing fault tolerant hardware infrastructures. He has a fond appreciation for people who can ride fixies, and a rather unhealthy love of cats.

DTLA

Mar 28 – May 30


Sat

10am - 5pm

$3,500 USD

Payment plans available

Reserve your spot

Apply now as this course is already filling up. Contact us for more information and dates.

Apr 8 – Jun 17


Mon, Wed

6:30pm - 9:30pm

$3,500 USD

Payment plans available

Instructors

Bill Transue
Senior Web Developer, Contactually

Bill Transue is currently a senior engineer at Contactually where he does full stack web development. Previously he developed software for some of the country's biggest defense contractors working on stuff you can never know about. He served five years in the US Navy as a Cryptologic Technician which involved more passageway cleaning then one would think. Bill and his wife live outside of Annapolis with their three children and a dog that can jump super high. There is a Youtube video of this if you search "Chewie Boy."

Andrei Bondarev
Software Engineer, Wedding Wire

Andrei is a full-stack Software Engineer at WeddingWire, where he divides his time between AngularJS and Ruby on Rails applications. He has experience in a wide range of industries, from news media, to e-commerce, to the public sector. Andrei is passionate about business and technology and spends much his time identifying and predicting emerging trends. He’s constantly working on perfecting his craft and adapting to rapid technological changes.

Apr 27 – Jul 6


Mon, Wed

6:30pm - 9:30pm

$3,500 USD

Payment plans available

Reserve your spot

Apply now as this course is already filling up. Contact us for more information and dates.

Apr 30 – Jul 9


Tue, Thu

6:30pm - 9:30pm

$3,500 USD

Payment plans available

Reserve your spot

Apply now as this course is already filling up. Contact us for more information and dates.

Jul 28 – Oct 1


Tue, Thu

6:30pm - 9:30pm

$3,500 USD

Payment plans available

Instructor

Shane Brown
Communications, Marketing, & Branding Strategist, Proof Integrated Communications

Shane Brown is a seasoned marketing strategist specializing in brand management, digital strategy and advertising. He has spent the last seven years helping brands connect with their target audiences using every aspect of online and offline marketing. He currently manages large-scale integrated marketing campaigns for Proof Integrated Communications and occasionally makes delicious cocktails.

We don’t currently have any sessions scheduled in London. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Austin. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Atlanta. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Sydney. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Hong Kong. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Boston. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Melbourne. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Seattle. Request more info to be the first to know when we put something on the calendar!

We don’t currently have any sessions scheduled in Chicago. Request more info to be the first to know when we put something on the calendar!

We’re holding an info session on Tuesday, March 10 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.

We’re holding an info session on Tuesday, March 31 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 +44 (0) 20 3818 3251
or email us.

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

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

Call us at 1300 779 580
or email us.

Call us at 852 9473-3608
or email us.

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

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

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

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

Call us at 1300 779 650
or email us.

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

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

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.

Great!

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