weston-bailey / notes

Gitbook Notes

Home Page:https://gasei.gitbook.io/sei/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Intro to SEI

Welcome to GA Seattle! This is the notes repository for our Software Engineering Immersive (formerly known as 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
    • On your terminal, run git remote add upstream git@github.com:WDI-SEA/notes.git
  • 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 SEI 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 cohorts or years.

Covid Era Remote Classroom Updates (2020)

Unit Tech Weeks Topics
Front-End Web Development HTML/CSS/JS 1 - 3 Version control, HTML/CSS, Javascript, Programming fundamentals, DOM manipulation, HTTP, 3rd party APIs/async JS
Full-Stack w/ Templates Node/Express/PostgreSQL 4 - 6 Local auth, RESTful routing, ORMs, EJS, node, Express, 3 tier web applications, Relational data modeling, CI/CD
Front-End Framework React/MongoDB (MERN) 7 - 9 JWT Token Auth, MongoDB, React, Hooks, SPAs
Full-Stack Web Development Python 10 - 12 Data Structures & Algorithms, Whiteboarding, Python fundamentals, OOP, (optional Django or Flask)

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

Recommended Prework

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 legal@ga.co.

About

Gitbook Notes

https://gasei.gitbook.io/sei/


Languages

Language:HTML 60.2%Language:Python 38.2%Language:Ruby 1.5%