Skip to content

Instantly share code, notes, and snippets.

@jdmaresco
Created April 14, 2014 22:24
Show Gist options
  • Save jdmaresco/10687058 to your computer and use it in GitHub Desktop.
Save jdmaresco/10687058 to your computer and use it in GitHub Desktop.

#WDI

##Week 1

  • Intro to web development
    • Languages (and their unique strengths)
    • Frameworks
    • The Internet from FE to BE
  • Command line & hidden files
  • Version control with Git & Github
  • Programming Concepts (Ruby)
    • What is functional vs. imperative
    • Data types
    • Variable assignment
    • if/else
    • case/switch
    • Blocks (yeild)
    • Arrays
    • Hashes
    • Interation
    • while loops
    • String manipulation
    • RegEx Lite
  • Intro to OOP
    • Object + object IDs
    • Everything is an object
    • Functions/methods
    • Scope
    • Encapsulation
    • Classes
    • Class vs. Instance
    • Inheritance (classical)
    • self

##Week 2

  • Advanced OOP
  • Intro to testing
    • User stories
    • Unit testing
    • TDD
    • RSpec
  • Persistance
    • Memory vs. persistant storage
    • File I/O
    • Intro to SQL?

##Week 3

  • Data modeling/ERD
  • Database
    • SQL
    • Relationships
    • Constraints
    • Validation
    • Sanitization/injection
    • NoSQL
    • ACID
  • Active Record
    • Validations
    • Relationships
  • CRUD

##Week 4

  • Intro to web apps
    • HTTP Requests
    • Routing
    • Params!
    • REST
    • JSON
    • APIs
  • HTML/CSS basics
    • Document outline
    • Box model
    • CSS selectors
  • Package Management
    • gem (!)
    • pip
    • npm
  • Sinatra
  • Server-side templating
    • ERB
    • HAML
  • Intro to Rails

##Week 5

  • Rails
    • rake
    • Rails console
    • Fat models, skinny controllers
    • Migration files
    • Asset pipeline
    • View helpers
    • Modules
  • Testing
    • Capybara
    • Acceptance testing
    • Test coverage
    • Continuous integration
    • Factory girl
    • Shoulda matchers
  • Authentication
    • bcrypt
    • User roles
    • Sessions
    • STI (single-table inheritance)
  • Advanced HTML
    • HTML5
    • Cross-browser
    • Accessibility

Memorial Day 5/26

##Week 6

  • Deployment
    • Rails environements
    • Heroku
  • PROJECT 1

##Week 7

  • Programming Concepts (JS)
    • Functional vs. imperative
    • Data types
    • Variable assignment
    • Hoisting
    • if/else
    • case/switch
    • Arrays
    • Objects/Hashes
    • Interation
    • for & while loops
    • String concatenation
    • Console debugging
    • Timers
  • Functions
    • Invocation methods
    • Scope
    • Context
    • Prototypal inheritance
  • UnderscoreJS (functional programming)
  • Testing (JS)
    • Mocha
    • Chai
    • Spies (Sinon)
    • Stubs (Sinon)
  • DOM
    • Degradation (noscript)
    • Vanillia (getElementById, querySelector)
    • jQuery ($)
    • Performance

##Week 8

  • Advanced CSS/SCSS
    • Cross-browser considerations
    • CSS animations
    • Responsive design
  • Async Programming
    • Callbacks
    • Events
    • Promises
    • Ajax/XHR
  • Agile/Teams
    • Requirements gathering
    • Pivitol Tracker, Jira
    • Productive disagreement
    • Github Collab
    • Workflows
      • Waterfall
      • Agile
      • SCRUM
    • Design / UX / Wireframes
    • Paired programming
  • MINI-GROUP PROJECTS
  • PROJECT 2 KICKOFF

##Week 9

  • PROJECT 2

Day of Reprieve 6/23 (job shadowing?)

##Week 10

  • Model/View Separation
    • MV* tools (Backbone, Angular, Ember, Knockout)
  • Backbone Models
    • Validation
    • REST
    • FE-persistance (local storage, cookies)
  • Model testing

##Week 11

  • Backbone Views
  • Client-side routing
  • Client-side templating
  • Testing views
  • Modular architecture (RequireJS)

Independency Day 7/4

##Week 12

  • ComSci 101
    • Big O
    • Sorting
    • Recursion
  • Sweet-lib day
  • PROJECT 3

##Week 13

  • PROJECT 3

##Misc Lessons

  • Tools
    • Chrome dev tools
    • Sublime workflows
    • Debugging (Pry)
  • Learning
    • Reading & understanding docs
    • Read your errors!
    • Realism / object reflection
    • Taking notes vs. paying attention
    • Symantic Googling
    • Whiteboarding ideas & software designs
    • Paper & pencil
    • Answers via Google & Stack Overflow
    • Comfortable being uncomfortable
    • Asking good questions
    • Github Issues
  • Design Patterns
    • Refactoring/DRY
    • Naming conventions
    • Singleton
    • Factory
    • Observer
    • MVC: Rails, Django, Express, etc.
    • SOLID
  • Networking
    • curl
    • Web servers
      • Apache
      • Nginx
    • Web sockets
  • FE Tools
    • Node & NPM
    • JS libs
    • Grunt
    • Build processes
  • Jobs
    • Portfolio
    • Interview process/questions
    • Presenting yourself
    • Networking
    • Behavioral interview
    • Where to find jobs
    • Code challenges
    • Negotiation
  • RegEx
  • Exception Handling
  • Caching & invalidation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment