Skip to content

tiyd-rails-2015-05/crash_course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Crash Course v0.2

Discussion

First, start the hour with a general discussion to get the students thinking.

  • What brings you here tonight? What convinced you to give up a perfectly good evening? Could be:

    • Want to know more about the Iron Yard
    • Want to know more about Ruby
    • Want to decide between classes
  • Answer any Iron Yard-specific questions.

  • What is programming?

  • What good is it?

  • How many programs do you think have you relied on so far today?

    • Alarm Clock
    • Coffee Maker
    • Email
    • Phone Call
    • Microwave
    • Credit Card
    • Car
    • Elevator
    • Door lock
    • All the apps and websites you use ALL THE TIME.
  • We're not going to teach you how to program an elevator, but once you've finished one of our classes, you're equipped to move in that direction next if you want to.

  • You WILL be equipped to write websites and some kinds of apps by the end of one of our classes, and if you REALLY want to program an elevator, we'd probably let you do it for part of your final project.

Ruby

  • Anyone know the difference between Ruby and Rails?
  • History of Ruby
    • Matz
    • MINASWAN
  • The first part of the class will be focused on fundamentals of programming, and the second part will be on building web apps.
  • Let's write a program that can guess a number between 1 and 1,000,000.
  • Start by live coding a guess-in-order game.
  • Ask the students to talk about how they'd do it in their heads.
  • See if we can turn that into a binary search program together.
  • Are there any ways that we could make this faster? Given that we know that humans will be playing the game?
  • Sample target numbers from the audience. Talk about using psychology to write better programs.

Rails

  • So why bother with a number guessing game? It's cool that we built it, granted, but after killing a few minutes with it, it gets boring really fast.
  • How can I send this program to my mother?
  • Describe the Web
    • isitchristmas.com
    • findtheinvisiblecow.com
    • kickstarter.com
    • github.com
  • Who here has a LOT of something in their life. Any collectors? Anything else you can't manage to keep track of on your own?
  • Get a student idea, hopefully one which many of them would like to use.
  • Build a Rails app based on that idea.
    • Make a quick scaffold app and bring it up
    • Use something like rails_admin to make it semi-pretty
    • Deploy to Heroku. Show them all the web address.
  • If crazy time left, add Devise and multi-tenancy.

So Why Do This?

  • First off, it's fun to build something that does work for you.
  • Second, you're not just making your life easier, you often make things possible that weren't possible at all before. Talk through the possible implications of self-driving cars.
  • The world is only moving more in this direction. Technology is making it easier and easier to automate repeated tasks, so this is where the job growth will be.
  • It's also possible that we'll end up in a Star Trek situation, where everyone in the world can bring up a terminal and write some quick code to help them out, regardless of whether they're called "an engineer."
  • Local companies are doing really cool and important things, and this is a way to get involved with them:
    • Medical devices that can detect things which doctors cannot.
    • Home monitoring that will tell you if your fridge is about to break based on how much energy your whole house is using.
    • Software for increasing learning opportunities for low-income children.
    • ... the list goes on.
  • Get links to these companies
  • Get links to prior class projects

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published