https://github.com/dbz/app-academy-exercises
App Academy Daily Exercises
https://github.com/dbz/app-academy-exercises
Last synced: about 1 year ago
JSON representation
App Academy Daily Exercises
- Host: GitHub
- URL: https://github.com/dbz/app-academy-exercises
- Owner: Dbz
- Created: 2014-10-08T16:25:24.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-11-21T07:26:35.000Z (over 11 years ago)
- Last Synced: 2025-02-05T19:12:31.371Z (over 1 year ago)
- Language: Ruby
- Size: 4.69 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
App-Academy-Exercises
=====================
Week 1
======
Day 1
---
**Main Project**: Convert an Integer to itself in words (up to 1,000,000!)
Partner: Jeff Caves
Focus:
* arrays
* hashes
* enumerable
* strings
Day 2
---
**Main Project**: Tic-Tac-Toe (with an AI)
Minor Project: Reverse Polish Notation calculator
Partner: Peter Eliot
Focus:
* methods
* file I/O
* symobls, options hashes
* iteration/Loops
* classes
Day 3
---
**Main Project**: Hangman (with an AI)
Minor Project: Mastermind
Partner: Linh Bui
Focus:
* class design, class interactions
* method design (brief and focused: 28 out of 37 methods in hangman.rb are one or two lines)
Day 4
---
**Main Project**: Word Chainer (eg.:neat > beat > belt > bolt > bole > bode > code)
Partner: Llorenc Mutaner
Focus:
* blocks, procs, and lambdas
* recursion
Day 5
---
**Main Projects**: Knight's Travails, Tic-Tac-Toe AI
Partner: Travis Herrick
Focus:
* tree data structures
* breadth-first search
* depth-first search
* recursion
Week 2
======
Day 1
---
**Main Project**: Minesweeper
Partner: Travis Herrick
Focus:
* serialization, persistence, YAML
* class design, method design
Days 2 and 3
---
**Main Project**: Chess
Partner: Smith Freeman
Focus:
* using git
* class inheritance
* raising & handling errors
* deep duping a complex object
Day 4
---
**Main Project**: Checkers
Partner: None (solo day)
Focus:
* modules
* error handling
Day 5
---
**Main Project**: Poker (TDD)
Partner: John Ochs
Focus:
* RSpec
* test-driven development
Week 3
======
Day 1
---
**Main Project**: [SQLZoo](sqlzoo.net)
Partner: Isis Wenger
Focus:
* SQL basics
No work uploaded to GitHub; just did problems at SQLZoo.
Day 2
---
**Main Project**: App Academy Questions app
Partner: Anastasia Zorko
Focus:
* Object-relational mapping
* more SQL
* a little metaprogramming
Day 3
---
**Main Project**: URL Shortener
Partner: Erik Strom
Focus:
* database migrations
* models
* validations (at both the database and model levels)
* database indexes
* associations
Day 4
---
**Main Project**: Survey app
Partner: Weihao Li
Focus:
* optimizing ActiveRecord/SQL (avoiding N+1 queries with eager loading)
* the border between SQL and ActiveRecord (```find_by_sql```, ```#joins```, ```#select```, ```#where```)
Day 5
---
**Main Project**: ActiveRecord Lite
Partner: None (solo day)
Focus:
* metaprogramming
* scope
* modules
week 4
======
Day 1
---
**Main Project**: Contacts (store your contacts, share them with others)
Partner: Ryan Ngai
Focus:
* routes (nested resources)
* controllers (handling invalid data/requests)
* params (stong params, nested params)
Day 2
---
**Main Project**: Cats99 (a cat rental app)
Partner: David Runger
Focus:
* views
* HTML forms
Day 3
---
**Main Project**: Cats99 continued
Partner: Aaron Cordovez
Focus:
* authentication
* authorization
* CSRF protection
* `session`/cookies
Day 4
---
**Main Project**: Record Label app (Bands/Album/Tracks/Users)
Partner: none (solo day)
Focus:
* practice concepts learned earlier this week (auth, routes, controllers, views)
Day 5
---
**Main Project**: reddit clone
Partner: Jayson Virissimo
Focus:
* practice concepts learned earlier this week (auth, routes, controllers, views)
Week 5
======
Day 1
---
**Main Project**: Goal Tracker app
Partner: David Hamme
Focus:
* Behavior-Driven Development/Test-Driven Development in a Rails app
* RSpec, Capybara, FactoryGirl, Faker
Day 2-3
---
**Main Project**: Rails Lite
Partner: None (solo days)
Focus:
* HTTP fundamentals
* cookies
* regular expressions
* deeper understanding of Rails routes, controllers, `params`, `session`, and `flash`
Day 4
---
**Main Project**: JavaScript Exercises
Partner: Aaron Strick
Focus:
* JavaScript basics (objects, functions, prototypes, constructors, `this`)
* avoiding classic JavaScript gotchas
Day 5
---
**Main Project**: Tic Tac Toe (human players only)
Partner: Marie Hepfer
Focus:
* callbacks
* asynchronicity
* ```this``` and ```that```
* ```bind```
* different ways to call a function in JS