DevMountain / ft-syllabus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DevMountain Immersive Syllabus

Week 1

Day 1 - Orientation & Version Control

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:
  • Assessment

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:
  • Assessment

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:
  • Assessment

Day 5 - JavaScript Fundamentals I

  • 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
    • Closures
  • Projects:
  • Additional Reading:
  • Assessments

Week 2

Day 1 - JavaScript Fundamentals II & III

  • Pre-Reading:
  • Learning Objectives
    • Objects
      • 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)
    • 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:
  • Assessment

Day 2 - JS Fundamentals IV

  • Pre-Reading:
  • Learning Objectives
    • the purpose of the ‘this’ keyword
      • 4 rules for determining what ‘this’ is bound to
        • Implicit Binding
        • Explicit Binding
          • call
          • apply
          • bind
        • new binding
        • Default Binding
  • Projects:
  • Additional Reading:
  • Assessment

Day 3 - JS Fundamentals V

  • 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 what prototypes are in JavaScript
    • Students will be able to add a method on a function’s prototype and create instances of that function that invoke the prototypes method
  • Project:
  • Additional Reading:
  • Assessment

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:
  • Assessment

Day 5 - jQuery II

Week 3

Day 1 - AngularJS I

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:
  • Assessment

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:
  • Assessment

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:
  • Assessment

Day 5 -Angular Review I

In-class practice project : Angular Drills

Week 4

Day 1 - Angular V

  • Pre-Reading:
  • Install these before class!:
  • 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 UI-Router
    • Students will be able to use resolve to resolve data and pass in data to their controller before theirn controller initializes
    • Students will be able to use stateParams to gather data from the URL
  • Project:
  • Weeklong Project:
  • Additional Reading:
  • Assessment

Day 2 - Angular VI

Day 3 - Firebase

  • Pre-Reading:
  • Learning Objectives
    • Students will understand the term CRUD
    • Students will be able to use Firebase in angular to persist data to a server
  • Mini-Project : CarFire
  • Project:
  • Additional Reading:

Day 4 - Firebase II & No Server Project

  • Learning Objectives
    • Students will understand how to use Firebase's authentication system
    • Students will start on their no server project

Day 5 - Angular & Firebase Review II

  • Review & No server project Day

Week 5

Day 1 - No Server Project

  • Requirements
    • At least 3 routes
    • At least 2 directives
      • 1 directive can be just a templateUrl for code re-use
      • 1 directive needs to do some javascript (event if it's just elem.css({}) in the link function)
    • [Bonus] Use Firebase or an API
      • This should take a back seat to making a solid project with angular
    • [Bonus 2] Make it look nice! Styling is important to employers. It's important to practice. Feel free to Google for 'inspiration' to mimic.

Day 2 - No Server Project

Day 3 - NodeJS I

  • Mini Project:
  • Learning Objectives
    • Students understand what Node is and that it can be used as a server
    • Student will understand how HTTP works to communicate between client & server
    • Student will understand the need for a module like express
    • Student can use require to import a Node module
    • Student will understand the basic utility of a package.json file
    • Student can create a HTTP NodeJS server using express
    • Students can explain endpoints and create basic ones testing them with Postman
  • Project:
  • Additional Reading:

Day 4 - NodeJS II

  • Mini Project:
    • Rewrite in Progress
  • Learning Objectives
    • Student can require other .js files in the project
    • Student can use bodyParser to get data out of the body
    • Student can use req.params
    • Student is introduced to req.query
    • Student understands the request response lifecycle in express including the order in which functions are called
    • Student can utilize middleware
  • Project:
  • Additional Reading:

Day 5 - NodeJS III

  • Mini Project:
    • Rewrite in Progress
  • 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:

Week 6

Day 1 - MongoDB I

  • Before class:
    • Make sure you've installed MongoDB (Mac or PC)
  • Mini Project:
  • Learning Objectives
    • Understand the DB's place in the web app landscape (MongoDB vs DBaaS like Firebase)
    • Understand DBs, Collections, and Documents
    • Understand CRUD operations with MongoDB
  • Project:
  • Additional Reading:

Day 2 - MongoDB II

  • Mini Project:
  • Learning Objectives
    • understand what object modeling is and why it’s used
    • understand the difference between Mongoose and MongoJS
  • Project:
  • Additional Reading:

Day 3 - MongoDB III

  • Mini Project:
  • Mini-Birds Related
  • Learning Objectives
  • Understand the concept of relationships
  • Understand the different types of relationships, and when to use them
  • Understand how and when to use embedded and referential schemas
  • Project:
  • Additional Reading:

Day 4 - NodeJS IV

  • 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 5 - Personal Projects

Week 7 (INTERIM WEEK)

Day 1 - Personal Projects

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 - Personal Projects

Day 2 - Personal Projects

Day 3 - Personal Projects

Day 4 - Personal Projects

Day 5 - Personal Projects

Week 10

Day 1 - React I

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Understand how React compares to Angular
    • Understand how to use Webpack to set up a build process for your React App
    • Understand how to build a component which modifies and maintains it’s own state
    • Understand how to pass data into child components as props
    • Understand how to use CSS with React as well as “inline” styles CSS in React
    • Understand how to keep your components state up to date as well as invoke other methods in your component.
  • Project:
  • Additional Reading:

Day 2 - React II

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Understand the Life Cycle of a Components
    • Understand how to use propTypes and getDefaultProps
    • Understand what Mixins are and how they’re useful
    • How to use React w/ jQuery and specifically to make Ajax requests
  • Project:
  • Additional Reading:

Day 3 - React III

  • Pre-Reading:
  • Mini Project:
  • Learning Objectives
    • Understand the purpose and benefits of Flux
    • Understand how to architect a Flux app with the following
      • actions
      • stores
      • constants
      • dispatcher
      • components
  • Project:
  • Additional Reading:

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 Projects

Day 3 - Group Projects

Day 4 - Group Projects

Day 5 - Group Projects

Week 13

Day 1 - Group Projects

Day 2 - Group Prjects

Day 3 - Job Prep I

Day 4 - Job Prep II

Day 5 - Job Prep III

About