Skip to content

Latest commit

 

History

History
771 lines (651 loc) · 10.8 KB

README.md

File metadata and controls

771 lines (651 loc) · 10.8 KB

Code-Boot-Camp-Curriculum

Table of Contents

Week 1

Communication Accts

  • Slack
  • professional Email Address

fs basics

  • Drive folders
  • User folder
  • Important Sub Folders (Desktop, Documents, Downloads)

Editor (VS Code)

  • CRUD file system (fs)
  • Folder/file naming conventions
  • VS Code Specifics
    • Command Pallete
    • Keyboard Shortcuts cheat sheet

CLI Basics

  • navigate fs
  • CRUD fs
    • i.e. cd, dir, mkdir, nano, ls, touch, echo, cat

Git Basics

  • setup Github acct
  • diff b/w GitHub & git
  • basic Git workflows
    • clone -> add -> commit -> push/pull
    • status

Markdown Basics

  • importance for jobs

HTML Basic Terms

  • elements
  • tags
  • attributes
  • HTML document structure
    • html head body
  • self closing elements

CSS Basic Terms

  • selectors
  • properties
  • values
  • type selectors
  • class selectors
  • id selectors
  • additional selectors
    • psuedo-selectors
    • children

CSS Basic Concepts

  • Referencing CSS
  • CSS Resets
  • Cross Browser Compatibility

HTML Basic Concepts

  • block vs. inline (div vs span)
  • comments
  • headings
  • bold/italics
  • HTML5
    • header, nav, article, section, footer, aside

HTML Basic Concepts II

  • creating hyper links
    • relative vs absolute path
    • wrapping elements with anchors
    • link to new window
    • link to part of same page
  • mailto
    • special character encoding
    • URL encoding

CSS Basic Concepts II

  • Calculating Specificity
  • combing Selectors
  • Layering styles with multiple classes

CSS Colors

  • rgb
  • hsl
  • keyword
  • hexadecimal
  • rgba
  • hsla

CSS Lengths

  • Absolute Lengths
    • pixels
  • Relative Lengths
    • percentages
    • em/rem

CSS Box Model

  • display
    • block
    • inline
    • inline-block
    • none
  • width/height
  • margin
  • padding
  • borders
    • border-width
    • border-style
    • border-color
    • border-radius
    • box-sizing
      • vendor prefixing
        • -moz- : Firefox
        • -ms- : IE
        • -webkit- : Chrome/Safari

HTML/CSS Developer Tools Basics

  • how to open
  • elements tab
    • html
    • styles
    • box-model

Git Branches

  • Changing branches
  • Pull Requests

Git Github Pages

  • Deployment

CSS Positioning

  • floats
  • clearing
  • containing
    • :before and after
  • inline-block
  • relative
  • absolute
  • fixed

CSS Typography

  • typeface vs. font
  • color
  • font properties
    • font-family
    • font-size
    • font-style
    • font-variant
    • font-weight
  • line-height
  • text properties
    • text-align
    • text-decoration
    • text-indent
    • text-shadow
    • text-transform
  • web safe fonts
  • web fonts
  • citations & quotes

CSS backgrounds & gradients

  • background-color
  • background-image
    • background-repeat
    • background-position
  • designing gradient backgrounds
    • linear background gradient
    • radial background gradient
  • background-size
    • cover
    • contain

HTML lists

  • unordered lists
  • ordered lists
    • start
    • reversed
    • value
  • description lists
  • nesting lists
  • list item styling
    • list-style-type

HTML/CSS adding media

  • images
    • supported image formats (gif, jpg, png)
    • background-image vs img tag
  • audio
  • video
  • inline frames
  • figure
  • caption

HTML form

  • form tag
    • method
    • action
  • input types
    • text
    • color
    • email
    • range
    • time
    • date
    • month
    • search
    • url
    • datetime
    • number
    • tel
    • week
  • textarea
  • name
  • multiple choice
    • type
      • radio
      • checkbox
  • drop down list
    • select > option
  • submit button
  • hidden input
  • form organization
    • label
      • for
    • fieldset
      • legend
  • placeholder

HTML tables

  • table tag
  • table row
  • table data
  • table head
  • table structure
    • caption tag
    • table head
    • table body
    • table footer
  • combining multiple cells
    • scope
    • colspan
    • rowspan
  • table borders
    • border-collapse
    • border-spacing
  • aligning text
    • text-align
    • vertical-align

Week 2

CSS Scaleability and Performance

  • BEM
  • performant selectors
  • reusable code

CSS Positioning II

  • overflow
  • offset
    • top right bottom left
  • z-index

CSS Complex Selectors

  • direct/indirect descendent selectors
  • sibling selectors
  • attribute selectors
  • pseudo classes

CSS Responsive Web Design

  • relative viewport lengths
  • media queries
  • mobile first
  • viewport
  • flexible media

CSS Transforms

  • 2d transforms
  • transform origin
  • perspective
  • 3d transforms
  • transform style
  • backface visibility

CSS Transitions & Animations

  • transitions
  • keyframes
  • animation calls

HTML/CSS Polyfills

  • HTML5 Shiv
  • conditional linking
  • Modernizr
  • cross browser testing

HTML Semantics & Accessibility

  • WAI-ARIA
  • structural/text semantics
  • microdata

Bonus CSS Flexbox

  • history
  • parent/child properties

Bonus CSS Grid

  • history
  • parent/child properties

Week 3

JS Intro

  • history
  • in-browser vs on-server

JS Setup

  • referencing (internal, external, console)
  • use strict

JS Basics

  • strings
  • console log
  • variable assignment
  • integers
  • undefined/null
  • boolean

JS Operators

  • arithmetic
  • assignment
  • comparison
  • increment/decrement
  • logical

JS Conditional Statements

  • statements ({};)
  • if/else if/else syntax

JS Loops

  • why loops
  • while/do while/for loop syntax
  • ++
  • break
  • continue

JS Functions

  • why functions
  • definition vs. expression
  • execution
  • arguments
  • return
  • scope

JS User Input

  • prompt

JS Math Methods

  • floor
  • ceil
  • round
  • random
  • min
  • max
  • pow

JS Characters

  • escape
  • character encoding

JS String Methods

  • length
  • charAt
  • toUpperCase
  • toLowerCase
  • indexOf
    • square bracket accessor
  • startsWith || endsWith
  • includes
  • slice

JS Array Basics

  • construction
  • accessing indexes
  • length
  • push
  • pop
  • array iteration

JS Arrays II

  • splice
  • slice
  • concat
  • find
  • sort
  • reverse
  • split
  • join
  • filter
  • reduce

JS Data Types

  • type checking
  • type casting

JS Object Basics

  • literal syntax
  • method definition
  • value storage
  • value accessing
  • for key in object

Bonus JS Object II

  • new
  • this
  • bind
  • call
  • apply

Week 4

JS Polyfills

  • ECMA/TC39
  • ES versions
  • babel

JS Testing With Mocha and Chai

  • loading Mocha/Chai
  • describe
  • it
  • assert.equal

JS Coding Style

  • Egyptian style
  • vertical indents
  • linting
    • Bonus ESLint
  • nesting levels
  • commenting strategies
  • variable naming

JS DOM Basics

  • intro to concept of api
  • selecting elements
  • HTML collection vs node list
  • node navigation

JS DOM Manipulation

  • style
  • innerHTML vs textContent
  • classList

JS DOM Events

  • addEventListener
  • event delegation

JS User Input

  • input onChange
  • form handling

JS Validation

  • regex

JS Timing

  • setTimeout
  • setInterval
  • requestAnimationFrame

JS AJAX

  • status codes
  • GET
  • XHR
  • readyState
  • response text

JS JSON

  • syntax
  • parse
  • stringify

Week 5

Node Basics

  • history/why
  • server environment
  • asynchronous programming

Node Basics II

  • run from CLI
var http = require('http');

http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('Hello World!');
}).listen(8080); 

Node Modules

  • require
  • exports
  • built-in

Node http Module

  • createServer
  • writeHead
  • write
  • http.IncomingMessage.url

Node url Module

  • query strings
  • url parsing

Node fs Module

  • read
  • append
  • open
  • write
  • delete
  • rename

Node Package Manager

  • history/why
  • package.json
  • global vs dependency vs dev-dependency
  • install/uninstall
  • update
  • list
  • audit/ audit fix
  • nvm

Node events Module

  • EventEmitter
  • emit

Node Bonus

  • file upload with Formidable
  • email sending with NodeMailer

Week 6

MySQL SQL Basics

  • connect to database
  • create database
  • list databases
  • create a table
  • constraints
    • VARCHAR
    • AUTO_INCREMENT
    • PRIMARY KEY
    • INT
  • list tables
  • alter table
  • Inserting rows
  • select data
    • *
    • columns
    • WHERE
    • LIKE
      • %
    • ORDER BY
      • DESC
  • delete row
  • delete table
    • IF EXISTS
  • foreign keys
  • joins

Node MySQL

  • mysql module
  • multiple insertions (?)
  • result object
  • last inserted id
  • escaping query values
  • prepared statements
  • transactions

JS ES6

  • Babel
  • let/const
  • template literals
  • fat arrow functions
  • exports/imports
  • class/constructor

Week 7

Server Basics

  • Linux
  • Apache
  • World Wide Web

Server Cloud

  • virtual machines
  • TCP/IP
  • SSH

Server Linux Basics

  • Aptitude
  • services
  • systemctl
  • network diagnostics

Server Basics II

  • user/group permissions
  • environment variables

Server SFTP

  • public vs private SSH keys
  • RSA encryption
  • PuTTY

Server Deploy to Production

  • connect Heroku to Github

Server Bonus Deploy to Production II

  • Docker
  • CI/CD
  • Google Cloud/AWS/Azure

Week 8

API Basics

  • introduction
  • REST

API JAM Stack

  • introduction

CS Security

  • code/data separation
  • authentication
  • cryptography
  • password hashing
  • config files
  • error reporting

CS Design Patterns

  • Constructor
  • Module
  • Factory
  • Singleton
  • MVC

Week 9

Career Basics

  • technologies
  • technical roles
  • workflows
  • testing
  • iteration
  • team-work
  • conflict resolution

PM Agile Basics

  • introduction
  • Manifesto

PM Scrum

  • Product Backlog
  • Release Planning
  • Sprint Planning Meeting
  • Sprint Backlog
  • Backlog tasks
  • Daily Scrum
  • Sprint Review
  • Sprint Retrospective

PM Git

  • Kanban
  • Git Flow
  • issues

JS Tooling

  • npm scripts
  • Pug
  • SASS

Week 10

CS Basics

  • Big O
  • Recursion
  • Psuedo Code

CS Data Structures

  • linked list
  • doubly/circular linked list
  • stack vs queue
  • hash tables

CS Search Algos

  • linear search
  • binary search
  • interpolation

CS Sorts

  • selection
  • bubble
  • insertion

CS Bonus Algos

  • merge/shell/quick sort
  • bfs vs dfs
  • trees

Week 11

Design Basics

  • history
  • UI
  • UX

Design Languages

  • Material Design
  • Flat Design
  • Human Interface Guidelines

Design Resources

  • Dribbble
  • Awwwards
  • Material
  • Smashing Magazine

Design Principles

  • Hick's Law

Design Patterns

  • Interactive Design
  • User Centered Design

Design System

  • Component Library
  • Style Guide

Week 12

Job Web Presence

  • Portfolio
  • Linkedin
  • Code Pen
  • Blog
  • Github

Job Search

  • Indeed
  • Google
  • Monster

Job Application

  • resume
  • cover letter

Job Interview

  • technical
  • culture
  • phone vs in-person