Topics
Explain what they installed last night
The Friday night install process is very cut-and-paste, and people new to Ruby don't understand any of the things that they did. Show them the components (git, github, ruby, rails, heroku) and explain what each is for and how they fit together in plain language and ''why'' each one is important. Diagrams can help. Don't assume beginners have any context: for example, git is not the only version-control software out there, it is just one way to do it.
Make sure they know basic *nix commands
- Remember that some people don't yet know that when you're at the command line, you're actually sitting in a folder, and when you change a directory it's like moving into a folder with a GUI. This is NOT obvious if you've never used it before.
- If they are learning this for the first time, give them a little challenge like: go into the Desktop folder, create a subfolder and then cd into it. Use pwd to prove you're in the right place.
- Check in to make sure everyone knows at least the following unix commands:
cd, ls, mkdir, irb, pwd
. - Explain what an argument and a flag are. curl -O http://whatever.com/text.txt
- (Someone who knows DOS should write the equivalent of this section for DOS)
Explain other foundational concepts.
- How does a web server work?
- What is versioning? Why would you need to use it?
- What is the difference between running code at the command line and running code out of a file?
- What is the difference between Ruby and Rails?
See Foundational Skills for a slide set describing the basic skills required to be a programmer that don't involve writing code.
Slides
The Railsbridge Workshop curriculum lives on http://docs.railsbridge.org, which is backed by the code in http://github.com/railsbridge/docs
Here's a whiteboarded roadmap/flowchart of the old slides:
Contact Sarah Allen (sarah at ultrasaurus dot com) and send your github name if you want to be a collaborator. Or just fork the github project and send a pull request when you've made changes.
Ruby Language
- For novices group: Ruby for Beginners
- Ruby for Programmers
Key Concepts
- everything is an object
- everything returns something
- open classes
- blocks
- symbols
Additional Notes for Programmers
- http://gist.github.com/190567
- http://betterexplained.com/articles/starting-ruby-on-rails-what-i-wish-i-knew/