##WDI Syllabus
####Week 0: PREWORK
- Prework
- Installfest
####Week 1: INTRO TO PROGRAMMING
- Command line (UNIX)
- Git basics
- Ruby
####Week 2: INTRO TO THE WEB (HTTP)
- How the web works (HTTP request/response, TCP)
- Sinatra
- HTML/CSS
- Forms and POST
- File I/O
####Week 3: SINATRA MVC
- SQL
- Sinatra & SQL
- Sinatra & ActiveRecord
- ActiveRecord Associations
- Intro to MVC
- Bundler/gemfile
- Deployment (Heroku)
####Week 4: RAILS MVC
- Scaffold
- Generators
- Routes, Controllers and Views
- ActiveRecord Associations
- Form helpers
- Partials
- Project brainstorming (individual project)
####Week 5: Individual Project week
- Potential Modules:
- APIs
- Front End Framework (Bootstrap / Foundation)
- Authentication (Fundamentals, Devise, OmniAuth)
- Markdown
- Config overview, initializers & environment
- Styleguides
- File Upload (Carrierwave, AWS/S3)
- Scraping (nokogiri, mechanize)
- Project Presentations
####Week 6: JavaScript
- Programming fundamentals in JS
- First class functions
- Prototypical Inheritance
- DOM Manipulation
- Events/Animation
- Jasmine
- Underscore.js
####Week 7: JavaScript Frameworks
- Comprehensive JavaScript Lab
- jQuery
- Advanced DOM manipulation/traversal
- Events / Animation
- Plugins
- AJAX
- Project Management & Project Planning
####Week 8: Group Project Week
- Potential Modules:
- Advanced git
- Charting
- D3
- CoffeeScript
- Pagination
- Emailing
- Project Presentations
####Week 9: Client Side JavaScript Frameworks
- JavaScript Templating
- Choose one client-side MVC:
- Ember
- Angular
- Backbone
- Ember
- Portfolio Project
####Week 10: Performance, Optimization, Advanced Rails
- Rake
- SCSS
- Mongo
- Group Lab
####Week 11: Computer Science
- Binary, Hex
- Linked lists
- Recursion
- Time Complexity
- Sorting
- Group Lab
####Week 12: Final Projects
- Interview Questions
- Project Presentations