-
When doing introductions, have volunteers write the names of the student on the board? Spatially grouped by experience or background?
-
Remind volunteers to ask students how it's going since they may not all raise their hands when they get stuck
-
Use BridgeTroll to track/group students' skill levels.
-
https://github.com/railsbridge/docs/wiki/Class-level-grouping-guide
-
How much experience is needed for each track?
-
How long do they take?
- Each contain enough to last all day
-
How much flexibility should we offer?
- Easiest to focus entirely on one: Intro to Rails
- Can suggest others if people end up going fast
- Could split off into a small group if people are interested
-
Rails
- Intro to Rails
- Experience required: None
- Uses scaffolds
- Can be student-driven
- Job Board
- Experience required: Some experience with Rails, interested in learning more
- Uses generators but not scaffolds
- Should be guided by TA with time for discussion
- Error-driven
- Explains the request cycle
- Routes
- SQL
- Intermediate Rails
- Experience required: "Decently comfortable" with Rails
- Challenge-driven
- Requires the most TA direction w/Discussion
- Covers adding Devise, Bootstrap
- Most broad in terms of direction, really just requirements
- Intro to Rails
-
Frontend
- Frontend
- Experience required: None
- Covers HTML, CSS, and JS (+ jQuery)
- JS Snake Game
- Experience required: Some JS
- Could take a while to go through
- Best for someone with experience
- Frontend
-
Ruby
- Learn To Code
- Experience required: None
- Topics
- Computers
- Types
- IO
- Conditionals
- Loops
- Arrays/Hashes
- Sinatra
- Probably less satisfying because you don't end up with a finished project
- Ruby
- Experience required: Some Ruby
- More in-depth
- Maybe just use tryruby.org instead?
- Learn To Code
-
Some overlap between these
-
Good basis for building on
-
- Basic terminal commands
- Directories/file system (currently very Unix-centered)
- Text editing
- How Programming Languages work
- Basic overview of hardware (CPU, memory, storage)
- Role of Operating System
- Package Managers
- Version Control, Git
-
- Role of Operating System
- Programming Language
- Application vs Library vs Framework
- Ruby on Rails, Gems
- Interpreted vs Compiled Languages
- Ruby
- Variables
- Types
- Strings
- Numbers
- Collection
- Methods
- Boolean
- Operators
- Loop
- Conditional
- Running Ruby code
- Hello World
- ARGV
- OOP
- Class
- Method
- Variable
- Instance
- Projects
- Personal Chef Lab
- Encryptor Lab
- Event Manager Lab
- Testing
-
- Ruby philosophy
- Versions of Ruby (should be updated)
- irb
- Comments
- Implicit return
- Line breaks
- Parens
- Variable declaration
- String interpolation
- Built-in types
- Functions
- Class/Methods
- Bang/predicate method
- Equality
- Identifiers
- Naming conventions
- Variable scope
- Messages
- Requiring code