1. Week 1
1.1. RSpec
1.1.1. Cheering Mascot
1.1.2. Roman Numerals
1.1.3. Debugging Drill: Use a REPL
1.1.4. RSpec Basics
1.1.5. Review Revisit Roman Numeral
1.2. Debugging
1.2.1. Design Drill: Method Chaining
1.2.2. Debugging Drill: Read the Error
1.2.3. Design Drill: Code Style
1.2.4. Debugging
1.3. Psuedocode
1.3.1. Pseudocode Example
1.4. Regular Expressions
1.4.1. Regular Expressions
1.4.2. Pig Latin
1.4.3. Ruby Drill: Regular Expressions
1.4.4. Benchmarking with Blocks
1.5. Enumerables
1.5.1. Ruby Drill: Enumerable Methods
1.5.2. Implementing Enumerable Methods
1.5.3. Ruby Drill: Destructive Methods
1.5.4. Algorithm Drill: Shuffle
1.5.5. Words in a File
1.6. Data Structures
1.6.1. Data Drill: Nested Arrays
1.6.2. Data Drill: Nested Arrays 2
1.6.3. Ruby Racer
1.6.4. Word Search
1.6.5. Review: Abstract Data Structures
1.6.6. Data Drill: Linked List
1.6.7. Build an Abstract Data Structure
1.7. Iteration vs Recursion
1.7.1. Algorithm Drill: Calculate a Factorial
1.7.2. Algorithm Drill: The Fibonacci Sequence
1.7.3. Benchmarking Iteration and Recursion
1.7.4. Algorithm Drill: Linear Search
1.7.5. Algorithm Drill: Binary Search
1.7.6. Anagrams 1: Detecting Anagrams
1.7.7. Anagrams 2: Generating Anagrams
1.7.8. Algorithm Drill: Prime Factors
1.7.9. Benchmarking Search Algorithms
1.7.10. Ruby Drill: Control Flow when Iterating
1.7.11. Algorithm Drill: Calculating Count of Subsets
1.7.12. Algorithm Drill: Calculating Count of Subsets
1.7.13. Review Reflect And Iterate
1.8. Single Responsibility
1.8.1. Numbers in Words
1.8.2. Single Responsibility Methods
1.8.3. Sudoku
1.9. Refactoring
1.9.1. Combating Smells: Extract Method
1.10. Extras
1.10.1. 99 Bottles
1.10.2. Battleship
1.10.3. Writing Readable Code
1.10.4. Data Drill: Stack and Queue
1.10.5. Stage Directions for Quad
1.10.6. Sieve Of Eratosthenes
1.10.7. Review Reflect On Learning
1.10.8. Ruby Scope
1.10.9. Reflect on Learning
1.11. Tools
1.11.1. Pry
1.11.2. Rubular
2. Week 2
2.1. Object-Oriented Programming (OOP)
2.2. Classes
2.2.1. Ruby Drill: Accessor Methods
2.2.2. Designing an Object's Interface
2.2.3. Ruby Drill: The Self Keyword
2.2.4. Ruby Drill: Exploring Scope
2.2.5. Model an Orange Tree
2.2.6. Inheritance
2.2.6.1. Design Drill: Classical Inheritance
2.2.6.2. Orange Tree 2: Groves
2.2.7. Mixins
2.2.8. Composition
2.2.8.1. Cookies and Ovens: Model a Bakery
2.2.9. Parsing Data: CSV to Ruby to CSV
2.2.10. Hospital Interface
2.2.11. From HTML to Ruby Objects
2.2.12. Design Drill: Argument Order Dependency
2.2.13. Display a Webpage
2.2.14. Hacker News HTML to CSV 2
2.2.15. Rational Numbers: Operators as Methods
2.3. Command Line
2.3.1. Ruby Drill: Command Line Arguments
2.4. Procs, Lamdas and Closures
2.4.1. An Introduction
2.4.2. Lamda vs. Proc
2.5. Driver Code
2.5.1. Guessing Game
2.6. Formats for storing data
2.6.1. Parsing Data 2 CSV In Anything Out
2.7. Single Responsibility
2.7.1. Command Line Todo List
2.7.2. Todo List: Additional Features
2.8. Boggle
2.9. Model View Controller
2.9.1. Ruby Flashcards
2.10. Managing Dependencies
2.11. Databases
2.11.1. Database Drill: A Table for Students
2.11.2. Schema Design: One-to-many Schema
2.11.3. Schema Design: One-to-one Schema
2.11.4. Schema Design: Many-to-many Schema
2.11.5. Schema Design: Address Book
2.11.6. Working in the SQLite Shell
2.11.7. SQLite Databases Intro
2.11.8. Database Fundamentals
2.11.9. Relational Database Concepts
2.12. Extras
2.12.1. Mastermind
2.12.2. KataBowling
2.12.3. P5 OO Inheritance
2.12.4. P6 OO Terminology
3. KEY
3.1. Monday
3.2. Tuesday
3.3. Wednesday
3.4. Thursday
3.5. Friday
3.6. Weekend
3.7. Stretch Assignment
3.8. Reading Source
3.9. Video Source
3.10. Watching - Use for when you want to consider doing a task or want to watch how other people solve it.
3.11. Rate your comfort with the task
3.12. Yay! You've completed this!
3.13. You worked on it, but didn't finish it...
3.14. Would like to do this one
3.15. Questions about something on this task
3.16. Would like to refactor
3.17. Low Priority
4. Week 3
4.1. Databases
4.1.1. Database Drill: SQL Tutor
4.1.2. Database Drill: Intro to SQLite
4.1.3. Poll Database Design
4.1.4. Poll DB 1: Queries
4.1.5. Poll DB 2: Modifying Data
4.1.6. Design Your Own Database
4.1.7. IMDB Database Design
4.1.8. Reddit Jr Database Design
4.1.9. Forum Database Design
4.1.10. Database Drill: SQLite Shell Part 1
4.1.11. Database Drill: SQLite Shell Part 2
4.1.12. Schema Design
4.1.13. SQLite Commands
4.1.14. A Visual Explanation of SQL Joins
4.1.15. Write a Class Backend by a Database
4.1.16. Prepared Statements
4.1.17. University Course Database Design
4.1.18. Address Book DB from Schema
4.1.19. ActiveRecord Jr 1 A Basic ORM
4.1.20. Many To Many Schema To Database
4.1.21. Active Record Intro: Creating Tables
4.1.22. Congress Database 1 from CSV to SQLite with Ruby
4.1.23. Family Tree Database Design
4.2. Object Relational Mappers
4.2.1. Object Relational Mappers
4.3. Ruby Gems
4.3.1. Rake
4.3.2. Bundler and Gemfiles
4.4. Active Record
4.4.1. Active Record Intro: Code Base
4.4.2. Active Record Intro: Editing Tables
4.4.3. Active Record Intro: Retrieving Records
4.4.4. Active Record Intro: Inserting Records
4.4.5. Active Records Intro: Objects
4.4.6. RailsGuides on Active Record
4.4.7. Active Record Intro: belongs_to Association
4.4.8. Active Record Intro: has_many Association
4.4.9. Active Record Intro: Validations
4.4.10. ActiveRecord Student Schema
4.4.11. ActiveRecord Congress DB 1
4.4.11.1. Congress Database 2 Scrub and Analyze with Ruby
4.4.12. ActiveRecord Congress DB 2
4.4.13. Active Record Jr Part 2
4.4.14. Active Record Jr Part 3
4.4.15. Active Record Jr Part 4
4.4.16. Congress Database 3
4.4.17. Congress Database 4
4.4.18. DB Drill: ActiveRecord Associations
4.4.19. DB Drill: AR Symmetric Migrations
4.4.20. Advanced Active Record Migrations
4.4.21. Active Record Todos 1
4.4.22. Active Record Todos 2