I think it would be helpful to have objectives outlined for major sections of curriculum, That would give a help give shape to a course outline. I'll start the brainstorming and hopefully it will grow from there.
- Hello World using an online REPL such as repl.it
- Objective: Get a taste of programming Ruby
- Installing Ruby
- Objective: Have Ruby running:
- On Windows OR
- On Mac OR
- On Linux
- Hello World on your own computer using IRB
- Run through the same scenario as lesson 1 but on your own computer
- Hello World using
ruby main.rb
- Run through the same scenario as 1 & 2 but using a ruby file
- Basic data types
StringandInteger
- Introduction to basic data types
- perform some simple methods using the data types
- Use REPL
- Local Variables
- Storing strings and integers in variables in repls
- Storing strings and integers in variables in a Ruby file
- Exercise: Madlibs
- Using
gets.chomp&putsto make a simple application. - Learn about string interpolation
- Find a madlib on the internet
- save all blank spaces as variables
- run the program that out puts the madlib
- Loops
- Learn about loops (I think iterators is a difficult concept to understand as a newcomer)
- perform some simple loop operations using a Ruby file
- Arithmetic in IRB
- Learn about the
-,+,/, and*operators using IRB
- Exercise - Make a calculator CLI program
- create a simple Ruby program that runs user inputted math operations
- Arrays & Hashes
- Learn about different types of data storage.
- Methods
- By now we should have learned about some methods for each basic data type
- Write our own methods and run them with the Ruby command
- Exercise - Make a simple game (war, tic-tac-toe, go fish)
- Utilize all skills learned so far to create a game
- Use methods & arrays to keep track of game state
- Use a begin/end loop to create a game engine
- Exercise - Make a more complex game (game of life, blackjack)
- Build on skills practiced in 13 to perform more complex operations.