DevMountain Immersive Syllabus

Index

Week 1

Day 1 - Orientation & Version Control

  • Pre-Reading:
  • Learning Objectives
    • Students will understand and be able to use the command line for
      • creating a folder
      • creating a file
      • editing a file
      • changing directories
    • Students will understand what Git and Github are and how they fit into the web app landscape
    • Students will be able to Fork a repo and know it’s purpose
    • Students will be able to clone a repo and know it’s purpose
    • Students will be able to add, commit, and push files to github
    • Students will understand branching and it’s purpose
    • Students will understand how to use github in a group setting
    • Students will know how to create an upstream to master
    • Students will be able to handle merge conflicts
    • Students will be able to minimally manage vim to escape merge conflict messages
    • Students will know how to make a Pull Request
    • Students will be able to pull changes from the master repo
  • Project:
  • Additional Reading:

Day 2 - HTML & CSS Fundamentals

  • Pre-Reading:
  • Learning Objectives
    • Students will understand the purpose of HTML
    • Students will understand the purpose of CSS
    • Students will from scratch, be able to create a skeleton for their html and css page
    • understand and be able to use the following HTML Elements
      • p
      • footer
      • header
      • h1 - h6
      • ul
      • li
      • div
    • Understand and be able to use the following CSS properties
      • id (#) vs class(.) and specificity
      • width px & %
      • height px & %
      • background-color
      • background-image
      • color
      • font-size
      • text-align: center
      • line-height
      • box-model (margin, padding, border)
      • float
      • clear
  • Project:
  • Additional Reading:

Day 3 - HTML & CSS Positioning

  • Pre-Reading:
  • Learning Objectives
    • Students will be able to use Chrome Dev Tools to inspect their HTML/CSS
    • Students will understand the purpose of CSS
    • Students will be able to compare and contrast fixed, relative, absolute, and static positioning in CSS
    • Students will be able to compare and contrast display block, inline-block, inline, and none
    • Students will be able to compare and contrast overflow hidden, auto, scroll
    • Students will understand and be able to use max/min-width and max/min-height
  • Projects:
  • Additional Reading:

Day 4 - Advanced HTML & CSS

  • Pre-Reading:
  • Learning Objectives
    • Students will understand and be able to explain the box model to someone else
    • Students will understand media queries and be able to implement them
    • Students will understand when and when not to use floating elements
  • Project:
  • Additional Reading:

Day 5 - JavaScript Fundamentals I & II

  • Pre-Reading:
  • Learning Objectives
    • Students will understand how the web works:
      • front-end vs back-end
      • the web app landscape
    • Students will understand JavaScript vs jQuery
    • Students will understand what the DOM is
    • Students will understand conditional statements and how they’re used
    • Students will understand functions:
      • invocation vs definition
      • parameters vs arguments
      • global and local scope
      • anonymous functions
      • return values and how to save the returned value to another variable
    • Students will understand Arrays:
      • purpose
      • how to get values from arrays
      • array properties (length, push/pop, shift/unshift, split/join, splice/slice, reverse, indexOf)
      • how to create an array
      • how to loop through an array
  • Projects:
  • Additional Reading:

Week 2

Day 1 - JavaScript Fundamentals III

  • Pre-Reading:
  • Learning Objectives
    • Students will understand how Objects differ from Arrays
    • Students will understand use cases for objects
    • Students will understand how to create and add properties/values to objects
    • Students will understand how to loop through objects
    • Students will understand how to create and invoke a method
    • Students will understand bracket notation vs dot notation
    • Students will understand how to remove keys/props from objects (delete)
  • Projects:
  • Additional Reading:

Day 2 - Advanced JavaScript I & II

  • Pre-Reading:
  • Learning Objectives
    • Students will understand synchronous vs asynchronous programming
    • Students will be able to talk about what a callback is
    • Students will understand the use cases of callbacks
    • Students will be able to identify and use callbacks
    • Students will understand the difference between the maker pattern and constructor pattern
    • Students will understand what the ‘this’ keyword does and be able to use it
    • Students will understand what the ‘new’ keyword does and what the JavaScript compiler does when a function is called with the ‘new’ keyword
    • Students will understand what prototypes are in JavaScript and be able to add a method on a functions prototype and create instances of that function that invoke the prototypes method
  • Projects:
  • Additional Reading:

Day 3 - Advanced JS III & JS Review

Day 4 - jQuery I

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will understand the DOM
    • Students will be able to make basic manipulations to the DOM
    • Students will understand visual and functional purpose of the jQuery
  • Project:
  • Additional Reading:

Day 5 - jQuery II

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will Understand CRUD
    • Students will be able to make GET and POST requests
    • Students will understand why AJAX is important
  • Project:
  • Additional Reading:

Week 3

Day 1 - AngularJS I

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will understand the difference between jQuery and Angular and how Angular fits into the web app landscape
    • Students will understand what a module, controller, directive, and service is in angular
    • Students will be able to, from scratch, build a basic angular application, put data on a controller's scope, and bind that data to the view
    • Students will be able to ng-repeat over data
    • Students will be able to filter data
  • Project:
  • Additional Reading:

Day 2 - AngularJS II

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will understand the purpose of Services in Angular
    • Students will know how to inject services into their controllers
    • Students will know how to call methods on their services from in their controllers and put the response on $scope
    • know the difference between factories and services
  • Project:
  • Additional Reading:

Day 3 - AngularJS III

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will be able to explain what JSON is
    • Students will be able to explain was REST is
    • Students will be able to explain what AJAX is
    • Students will make an ajax request with angular, call .then on the promise and add that data to the $scope
  • Project:
  • Additional Reading:

Day 4 - AngularJS IV

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will be able to make $http requests to various APIs
    • Students will be able to use outside directives and know how to inject those modules into their application
    • Students will be able to create, return, and resolve their own promises with $q
  • Project:
  • Additional Reading:

Day 5 -Angular Review I

Week 4

Day 1 - Angular V

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will understand the methodology behind routing and templating
    • Students will be able to set up a basic routing system with multiple views and controllers using ngRoute
    • Students will be able to use resolve to resolve data and pass in data to their controller before their controller initializes
    • Students will be able to use routeParams to gather data from the URL
  • Project:
  • Additional Reading:

Day 2 - Angular VI

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Students will understand how Directives fit into the Angular ecosystem
    • Students will be able to create a custom directive and use it in a view
  • Project:
  • Additional Reading:

Day 3 - Angular Review II / Panel

Day 4 - Parse & Firebase

  • Pre-Reading:
  • Learning Objectives
    • Students will understand the term CRUD
    • Students will be able to use Angular’s $http service to make ajax requests to Parse’s RESTful endpoints, then put that data on $scope
  • Project:
  • Additional Reading:

Day 5 - NG Review III & No Server Project

Week 5

Day 1 - No Server Project

Day 2 - No Server Project

Day 3 - No Server Project

Day 4 - NodeJS I

  • Mini Project:
  • Learning Objectives
    • Student will understand how HTTP works to communicate between client & server
    • Student can create a basic HTTP NodeJS server
    • Student can use basic REST verbs (GET, POST)
    • Student understands and can implement basic CORS headers
    • Student can use "require" to import a Node module
  • Project:
  • Additional Reading:

Day 5 - NodeJS II

  • Mini Project:
  • Learning Objectives
    • Student can install express
    • Student can use express to create REST endpoints
    • Student can use bodyParser to examine POST data
    • Student can use middleware to add CORS headers
    • Student can access URL parameters in a web request
  • Project:
  • Additional Reading:

Week 6

Day 1 - NodeJS III

  • Mini Project:
  • Learning Objectives
    • Student can use Express to serve static files
    • Student can use routing in Express to create basic API endpoints
    • Student can use route params to make dynamic endpoints
    • Student can build a front-end Angular application that connects to a back-end NodeJS API
  • Project:
  • Additional Reading:

Day 2 - NodeJS IV

  • Mini Project:

    • [None]
  • Review

  • Project:

    • Finish previous projects
  • Additional Reading:

Day 3 - NodeJS V

  • Mini Project:

  • Learning Objectives

    • Student can distinguish between Basic Auth, Form-based Auth, Token-based Auth, and OAuth
    • Student can use express sessions to restrict access to resources
    • Student can use passport to authenticate users with providers like Twitter, Facebook, etc.
  • Project:

  • Additional Reading:

Day 4 - MongoDB I

  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Day 5 - MongoDB II

  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Week 7

Day 1 - NodeJS / MongoDB Review

  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Day 2 - Personal Projects

Day 3 - Personal Projects

Day 4 - Personal Projects

Day 5 - Personal Projects

Week 8

Day 1 - Personal Projects

Day 2 - Personal Projects

Day 3 - Personal Projects

Day 4 - Personal Projects

Day 5 - Personal Projects

Week 9

Day 1 - React I

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Day 2 - React II

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Day 3 - React III

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Day 4 - React IV

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Day 5 - React V

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • LEARNING OBJ
    • LEARNING OBJ
    • LEARNING OBJ
  • Project:
  • Additional Reading:

Week 10

Day 1 - Group Projects

Day 2 - Group Projects

Day 3 - Group Projects

Day 4 - Group Projects

Day 5 - Group Projects

Week 11

Day 1 - Group Projects

Day 2 - Group Projects

Day 3 - Group Projects

Day 4 - Group Projects

Day 5 - Group Projects

Week 12

Day 1 - Group Projects

Day 2 - Group Prjects

Day 3 - Job Prep I

Day 4 - Job Prep II

Day 5 - Job Prep III