Giter Club home page Giter Club logo

notes's Introduction

WDI Seattle

Welcome to GA Seattle! This is the notes repository for our Web Development Immersive. You can view the content in a more searchable/friendly format on Gitbook!

GA Logo

Setting up the Notes locally

This is totally optional. If you choose to do this, please update every 3-6 months to get any additions/updates changes we make to the local Seattle curriculum!

  • Fork this repository
  • Clone your fork to your development machine
  • Setup a remote for your fork
  • Install the Gitbook CLI tool by running npm install -g gitbook-cli
  • Preview the Gitbook by running gitbook serve

Updating your local repo

  • On your terminal, run:
    • git fetch upstream master (get the changes from us)
    • git merge upstream/master (add those changes to your local machine's clone)
    • git push origin master (updates your fork on github)

Contributing to the Notes

  • All contributions can be done via pull requests
  • Recommended process:
    • Make changes in your forked repository (use a separate branch)
    • Create a pull request and be sure to be very explicit about the changes you've made
    • Ask someone on the WDI team to look at your pull request

Schedule

Notes below are organized by topic, but they are unordered. This is because we may at any point swap new material in or switch the order of the units.

Something to know is that some of the lessons here are more historical and haven't been used in at least a couple years. For example, the Ruby lessons and the lessons in unit 1 that delve deeper into the guts of ES5 syntax like prototypal inheritance. We've elected to skip that in favor of teaching OOP during the Python unit.

Future Directions

We are considering:

  • Dropping jQuery or doing a much lighter version than we are currently.
  • Dropping AJAX and replacing it with Fetch for APIs
  • Dropping AJAX and replacing it with Method Override for RESTful routing
  • Adding a lesson on Django REST framework
  • Enhancing Django material in general
  • Rewriting portions of the Node/Express unit for more fine grained lessonslabs as opposed to a few very long code-alongs.

Connected Classroom Alteration (Fall 2018)

Connected classroom (SEA and DTLA) used Python/Django as unit 2 instead of unit 4. Also removed much of unit 4 computer science topics.

Unit Tech Weeks Topics
Front-End Web Development HTML/CSS/JS 1 - 3 Version control, DOM manipulation, jQuery, AJAX, fundamentals
Full-Stack Web Development Python/Django 4 - 6 Data Structures & Algorithms, Whiteboarding, Python fundamentals
Second Language Full-Stack Development Node/Express/PostgreSQL 7 - 9 Local auth, RESTful routing, ORMs
Front-End Framework React/Redux/Mongo (MERN) 10 - 12 JWT Token Auth, MongoDB

Fall 2017-Current

Local market demand and the fact that Angular and Ruby content was not up to date led us to the conclusion we should switch from Angular to React, and from Ruby to Python.

Unit Tech Weeks Topics
Front-End Web Development HTML/CSS/JS 1 - 3 Version control, DOM manipulation, jQuery, AJAX, fundamentals
Full-Stack Web Development Node/Express/PostgreSQL 4 - 6 Local auth, RESTful routing, ORMs
Front-End Framework React/Redux/Mongo (MERN) 7 - 9 JWT Token Auth, MongoDB
Second Language + Interview Prep Python/Django 10 - 12 Data Structures & Algorithms, Whiteboarding, Python fundamentals

Early 2017

We began the transition from Angular to React. Some cohorts in this period may have learned either or both.

Additionally, much of the original Python material (locally) was developed at this time.

2016 and Before

Unit Tech Weeks Topics
Front-End Web Development HTML/CSS/JS 1 - 3 Version control, DOM manipulation, jQuery, AJAX, fundamentals
Full-Stack Web Development Node/Express/PostgreSQL 4 - 6 Local auth, RESTful routing, ORMs
Front-End Framework AngularJS (MEAN) 7 - 9 JWT Token Auth, MongoDB
Second Language Ruby/Rails 10 - 12 oAuth

Prework

Unit: Front End Development

Topic Labs + Assignments
Internet Fundamentals Internet Lab
Command Line

Intro to Git
Command Line Murder Mystery

Github 101
HTML

CSS Selectors
CSS Box Model and Positioning Recreate Instagram

Recreate Airbnb
JavaScript Primitives Primitives Exercises
JavaScript Control Flow Control Flow Problems

Google Shopping
JavaScript Functions Functions Problem Set

Google Shopping Functions
DOM and Events Reddit DOM

Temperature Converter
Callbacks and Iterators Iterators Lab

Iterators with Reddit
Intro to jQuery Random Quote Generator

Todo List
jQuery Plugins jQuery UI Lab
AJAX AJAX Pokemons

Reddit AJAX Slideshow
Responsive CSS
Bootstrap Bootstrap Mockups
User Stories and Wireframing Wireframing: Build an Idea
OOP with Constructors/Prototypes

Intro to TDD
Prototype Body Shop
Scopes
JavaScript Inheritance Body Shop 2
Projects and Additional Topics
Tic Tac Toe
Project 1
Code Review

NodeJS/Express

Topic Assignments
Intro to Express Daily Planet
Organization and APIs

Foreman
OMDB Movie Search
Intro to SQL Apartment Lab
Intro to SQL Carmen San Diego Lab
Advanced SQL Booktown
CRUD in Express Cruddy Board Games
Full RESTful Routing w/AJAX Hackathon Teams

Daily Planet with AJAX (old)
Express with Databases via Sequelize Pokedex

Link Shortener
Sequelize 1:M Comments w/BlogPulse
Sequelize M:M Project Organizer
Express Testing with Mocha and Chai Starter code
Express Authentication Theory (Research/Code)
Express Authentication Practice (Codealong) Starter Template
Deploy Node to Heroku Example App
Projects and Additional Topics
Project 2
oAuth
Realtime with Socket.io
Geocoding/Maps
Image Uploads with Cloudinary
Post Project 2
Code Review

Ruby on Rails

Topic Assignments
Intro to Ruby Ruby Exercises

Ruby Challenges
Ruby Classes
Ruby Testing with Rspec Rspec Testing
Ruby Inheritance Rio Grande
Intro to Rails National Parks
APIs with Rest-Client
Data Scraping with Nokogiri Nokogiri CLI Tool
Rails Asset Pipeline
Rails Auth/1:M Link Board
Rails M:M National Parks Part 2: Rangers
Polymorphic Associations Link Board Comments
Projects and Additional Topics
Front End Hackathon
Project 3
Group Collaboration
oAuth
Mailers
Image Uploads with Cloudinary
Static Site Generators (Jekyll)
JS/jQuery Review

Python

Topic Assignments
Intro to Python Intro to Python
Python Exercises Python Exercises
Python Challenges Python Challenges
Arrays and For Loops Convert JS to PY
File Processing Renobet
Python Unit Tests Python Unit Tests
Python Class Examples Python Class Examples
Recursion Python Recursion
Binary Search Python Binary Search
Linked Lists Python Linked Lists
Binary Trees Python Recursion
Graphs Python Graph
Sorting Python Sorting Algorithms

AngularJS 1.x and APIs

Topic Assignments
Intro to Angular Angular Calculator
Directives and Filters Fruits and Veggies
Animation with ngAnimate
Bootstrap Directives
$http (DEPRECATED) Reddit Dashboard

Giphy Search
Angular Services
Angular Routing (UI Router) Route Those Views
Intro to MongoDB

Mongoose
JSON Web Tokens RESTful API
Angular + Express

Starter Code
Angular Authentication Starter Code
Custom Filters Creating Filters
Custom Directives Creating Directives
Angular Components

React

Topic Assignments + Labs
Intro to ES6

Let and Const

Arrow Functions
ES6 Overview
[Intro to ReactJS][] React Video (2m)

React Video (8:30-16:30)

Create React App
React Components

React Virtual DOM
Virtual DOM Video
React Props

Multiple Props
React Props

React Nested Components

LotR Lab
React State React Films

React Calculator

React ATM
React Router pt 1

React Router pt 2
Router Blog
APIs

Data Types
Shakespeare Fetch
Unidirectional Flow Fetch the Weather
Functional Components Functional Components Lab
Redux Intro Lab 1 Lab 2
React Native Set-Up

React Native Lesson
Navigators

Deployment
Projects and Additional Topics
Project 4
MEAN/MERN Hackathon
Interview Questions
ES6 Variables and Strings (Codepen)
ES6 Arrow Functions (Codepen)
Imperative vs Declarative
Deploying React Apps
React-Tac-Toe

Computer Science

Topic Assignments
Recursion/Problem Solving Array Challenge
Binary Search

Algorithm Complexity
Auto Guess
Stacks and Queues Bracket Matching
Linked Lists Singly Linked List

Linked List Methods
Bucket Sort Bucket Sort: Sorting Papers
Bubble Sort
Merge Sort
Quick Sort
Sorting Wrapup
Hashmaps
Trees and Other Topics N/A

Licensing

  1. All content is licensed under a CC-BY-NC-SA 4.0 license.
  2. All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact [email protected].

notes's People

Contributors

bhague1281 avatar geluso avatar taylordarneille avatar brandiw avatar connorjclark avatar xingped avatar srobertson421 avatar dnuzum avatar shway250 avatar samypesse avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.