An open API service indexing awesome lists of open source software.

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

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