Jumpstart Lab Curriculum

Tutorials

Ruby and Rails

Setting up Ruby and Rails

Check out our tutorial to setup Ruby 2.1 on OS X, Linux, or Windows

Ruby

  • Ruby in 100 Minutes - Your first exposure to Ruby, focusing on the most important concepts and syntax elements.
  • Encryptor - An introductory project building a rotation-based encryption/decryption program, written for middle or high school students.
  • EventManager - An introduction to Ruby for new programmers doing "Extract-Translate-Load" operations against a large dataset.
  • MicroBlogger - A second introductory Ruby tutorial building a rudimentary Twitter client

Ruby-Processing

  • ProcessArtist - An introduction to using Ruby Processing where you’re tasked with creating an art program similar to the old MS Paint.

Sinatra

  • WebGuesser - A very gentle introductory Sinatra number guessing game written for high school students.
  • IdeaBox - A step-by-step tutorial for developers comfortable with Ruby but new to Sinatra. You’ll build a simple system for recording ideas.

Rails

Blogger

An introduction to Rails by building a blog application with posts, comments, tagging, and authentication. This first Rails project basic model associations, templating, and RESTful routing.

Blogger - Advanced Topics

This is a series of extension topics from a completed blogger project. This project is a cousin of the original with a number of different implemented features to serve as a jumping off point to build proficiency with:

Contact Manager

A test-driven approach to developing a contact management application with people, companies, emails and phone numbers. This project uses RSpec and capybara for testing for models and entire features. This project employs tools like git and Heroku to save and deploy your work.

Merchant

A second level Rails project with more complex relationships and techniques.

Independent Work Projects

Ruby

  • EventReporter - A follow-up to EventManager focusing more on Ruby object decomposition and working with Command Line Interfaces and program control flow.
  • SalesEngine - This project supplies a set of CSV datafiles and challenges you to build a query/reporting API. It’s an excellent opportunity to practice TDD and manipulating collections. Also, several developers have used it as a test-bed for performance ideas like threads, distributed Ruby, and integrating with a SQL database.

Sinatra

  • TrafficSpy - The objective is to build a HTTP traffic service like Google Analytics. Your application will allow clients to submit traffic data for that application which you will extract, store, and visualize. This project emphasizes skills in handling web requests, data management, and data visualization.
  • JetFuel - The objective is to build a URL shortening service like Bit.ly. Your application will allow anonymous users and registered users to create shortened URLS. The main goal of your application is to redirect a request at the shortened URL to their long URL equivalent. Your secondary goal is to track URL usage and provide valueable statistics which you can use to share with your users and/or with advertisers.

Rails

  • Dinner Dash - A very challenging first Rails project, it represents 2-3 weeks work for a pair of new Rails developers. You’re asked to build a fully functioning online ordering system for a restaurant with items, categories, a cart, login/permissions, checkout, etc.
  • Fourth Meal - A three week project working with a "legacy" codebase adopting a version of Dinner Dash that you didn’t write. You’re challenged to add new features like multi-tenency, products being in and out of stock, subdomains, and serving requests in under 100ms.
  • FeedEngine - You’re probably familiar with Tumblr. In this project you’re challenged to build a service that can post text, image, and link content like Tumblr. But it also needs to hook into a user’s Twitter, Instagram, and GitHub accounts to pull content from those services. Oh, and you’ll need to build an API and accompanying rubygem so your background workers can run independent from the primary application.

Paths

Paths are groupings of tutorial topics, generally put together for an event or class.

Topic Tutorials

A collection of about 50 tutorials on special topics, more specific and generally more advanced than the tutorials. These are the building blocks used to create the Paths above and Hungry Academy curriculum.

Go to the Topics Index

Arduino & Dino

Arduino Programming with Dino

Workshops

Workshops

Workshops are short, self-contained sessions focused on a single topic:

Assessment Workshops

The following workshops can be used to gauge a developer’s mastery level of core concepts:

Ruby
Rails

Reading

Structured Reading Assignments

Technical

Non-Technical

Feedback

Have Feedback?

Did you find an error? Something confusing? We'd love your help:

Thanks!