Skip to content
 
 

Repository files navigation

Yoga Institute Summer Code Camp 2015

TOC

  • [Install Fest]
  • [Pre-camp Reading]

Install Fest

Estimated time needed: 2 hrs. System requirement: Mac

  • Install Chrome
  • Install Sublime 3 (don't use 2)
    • Symlink subl. Assuming you've placed Sublime Text in the Applications folder, and that you have a ~/bin directory in your path, you can run:
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
  • Install HomeBrew, a useful package manager for Mac
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • Install Node

    • Create Apple ID if you don't have one already
    • Install Xcode from the App Store
    • Open terminal: Command + Space to open Spotlight and type terminal
    brew install node
    
  • Join

  • Git configuration

    • git config your name, email and editor

$ git config --global user.name "Joan Doe" $ git config --global user.email joandoe@example.com $ git config --global core.editor "subl -n -w" ```

TODO: add Sublime setup
  - Node build
  - package manager
  - recommended packages
  - key mappings

Pre-Camp Reading

JS Fundamentals

  • data types: number, string, boolean, object, null, undefined
  • operators: basic, advanced, under-the-hood
  • arrays
  • objects

Functional JS

  • functions
  • higher order functions
  • closure
  • execution context
  • lexical scope
  • callbacks
  • promises
  • ES6 generator
  • ES6 bracket
  • rewrite underscore naive
  • read underscore.js source
  • ES6

jQuery

OO JS

  • instantiation patterns
  • classical inheritance in other languages
  • prototype
  • constructor
  • Ch. 6 of the Definitive Guide
  • JavaScript Design Patterns
    • Constructor Pattern
    • Module Pattern
    • Revealing Module Pattern
    • Singleton Pattern
    • Observer Pattern
    • Mediator Pattern
    • Prototype Pattern
    • Command Pattern
    • Facade Pattern
    • Factory Pattern
    • Mixin Pattern
    • Decorator Pattern
    • Flyweight Pattern

MVC

MEAN

  • Node.js intro
  • Express
  • Angular

Git

  • git basics
  • branching
  • develop & drill workflow
  • merge vs rebase

Testing

  • rewrite mini-testing framework from scratch riot.js bdd
  • mocha chai sinon
  • karma
  • jasmine
  • phantom and casper

Deployment

  • heroku
  • aws

Polymer

  • webcomponents

Data Structures

  • Linked Lists
  • Binary Trees
  • Tries
  • Stacks
  • Queues
  • Vectors / ArrayLists
  • Hash Tables

Algorithms

  • Breadth First Search
  • Depth First Search
  • Binary Search
  • Merge Sort
  • Quick Sort
  • Tree Insert / Find / e.t.c.

Concepts

  • Bit Manipulation
  • Singleton Design Pattern
  • Factory Design Pattern
  • Memory (Stack vs. Heap)
  • Recursion
  • Big-O Time

CS

Brain teasers

Developer Tools

Sublime

My favoriate text editor.

Pros:

  • light-weight
  • fast
  • powerful
  • customizable
  • did I say light-weight?

Cons:

  • no in-editor debugging (I think)
  • nothing else?

Keyboard shortcuts I like

Key mappings I like

Packages I like

Other cool things:

Some under the hood stuff

Good tools

Cool sites

About

Yoga Institute Summer Code Camp 2015

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages