Lambda School Computer Science Academy Syllabus

Week 1

Project 1 - Orientation & Basic JavaScript Review

  • Topics

    • ES6
      • arrow functions
      • const & let + block scope
      • template literals
      • default parameters
    • Understand linting and the AirBnB linter
    • if statements
      • logical operators
        • &&
        • ||
        • !
      • boolean values
    • for loops
    • arrays
      • .push & .pop
      • .length
      • .shift & .unshift
      • .slice & .splice
      • .split & .join
      • .reverse
      • .indexOf
      • iteration over an array using a for loop
      • .forEach
    • objects
      • key value pairs
      • dot notation
      • bracket notation
      • iteration with Object.keys()
      • methods
      • delete
    • functions
      • parameters and arguments
      • scope
      • anonymous functions
      • return
  • Project:

Advanced JavaScript

  • Topics
    • Advanced JavaScript
      • higher order functions
        • closure
        • callback functions
      • recursion
      • classes
        • inheritance
      • this
        • 4 rules
          • constructor binding
          • binding in methods
          • global/window object
          • .call, .apply, .bind
  • Project:

Week 2

Data Structures I

  • Topics

    • Big O Notation and complexity analysis
    • Stacks
    • Queues
    • Linked lists
    • Hash tables
      • Resizing
  • Project:

Data Structures II

Week 3

DOM

  • Topics

    • Document Object Model
    • Chrome dev tools
    • File structure
    • HTML elements
      • script
      • ul
      • li
      • p
      • a
        • href
      • img
        • src
      • ol
      • link
        • rel
        • href
      • div
      • head
      • html
      • body
      • title
    • JavaScript DOM interaction
      • document
        • getElementById
        • getElementsByClassName
        • event listeners
  • Project:

React I

  • Topics

    • React
      • components
      • functional vs class components
      • state
      • props
      • JSX
      • lifecycle methods
    • React dev tools
    • SASS
    • npm
    • webpack
    • babel
  • Project:

Week 4

React II

  • Topics

    • create-react-app
    • .map
    • nested component composition
    • propTypes
    • onClick
  • Project:

Redux

  • Topics

    • redux
    • react-redux
    • state
    • reducers
    • containers / smart components
    • connect
    • mapStateToProps
    • mapDispatchToProps
    • functional application design
  • Project:

Week 5

HTTP/AJAX

  • Topics

    • redux-thunk
    • axios
    • AJAX
    • promises
    • redux middleware
    • applyMiddleware
  • Project:

SPA/Routing

  • Topics

    • react-router
      • RouteProvider as Route
      • Link
      • Switch
    • componentDidMount
  • Project:

Week 6

Client Testing

  • Topics

    • jest
    • unit testing
    • snapshot testing
    • describe
    • it
    • expect
  • Project:

Node/Express

  • Topics

    • Node
    • express
    • RESTful APIs
    • req
      • req.body
    • res
      • res.send
    • route parameters
    • query parameters
    • Postman
    • body-parser
    • app.use
    • app.listen
    • app.get
    • app.post
  • Project:

Week 7

MongoDB I

  • Topics

    • Databases
    • relational vs non-relational
    • ORM
    • collections
    • documents
    • mongod
    • daemons
    • models
    • mongoose
    • mongoose.connect
    • mongoose.Schema
    • mongoose.model
    • module.exports
    • Model.find
    • Model.findById
    • Model.find().remove()
    • .save
    • error first callback
    • _id
  • Project:

MongoDB II

  • Topics

    • File structure
    • HOFs
    • Controllers
    • Models
    • Schema.methods
    • Schema.statics
    • Schema.pre('save', cb);
    • required: true
    • validate: {}
    • Nested Schema
  • Project:

Week 8

MongoDB III

Repo coming soon

Auth

  • Topics

    • bcrypt-nodejs
    • jwt-simple
    • passport
    • passport-jwt
    • passport-local
    • bcrypt
    • salt
    • rainbow tables
    • never store plain-text passwords
    • JWT
    • token-based authentication
    • stateless authentication
    • JWT secret
  • Project:

Week 9

Client Auth

  • Topics

    • localStorage
    • axios's config object
    • http headers
    • CORS
  • Project:

Server Testing

Repo coming soon

Week 10

DevOps & Deployment

Repo coming soon

React Native I

  • Topics

    • React Native
    • iOS
    • Android
    • Text
    • View
    • Image
    • StyleSheet
    • Expo
    • flexbox
  • Project:

Week 11

React Native II

  • Topics

    • AsyncStorage
    • TextInput
    • Button
    • react-navigation
    • this.props.navigation
    • this.props.navigation.navigate('Route')
    • StackNavigator
    • static navigationOptions
    • ListView
  • Project:

React Native III

  • Topics

    • localStorage
    • axios's config object
    • http headers
    • CORS
  • Project:

Week 12

Break Week & Personal Project

Week 13

Computer Architecture I

  • Topics
    • logic gates
    • binary
    • binary arithmetic
    • machine code
    • CPU
    • memory
    • RAM
    • storage

Computer Architecture II

  • Topics
    • kernels
    • shells
    • bash
    • bash scripting
    • file systems

Week 14

Intro to C

  • Topics
    • data types
      • int
      • double
      • long
      • float
      • char
      • string
      • bool
    • functions
    • control flow
      • if
      • for
      • boolean logic
    • pointers

Intro to Operating Systems

  • Topics
    • OS basics
    • Memory management
    • Processes
    • Filesystems

Week 15

Operating Systems: Processes

  • Topics
    • More details about processes and threads
    • Creating processes
    • Interprocess communication

Operating Systems: Scheduler

  • Topics
    • How scheduling works in the kernel
    • Implementation of a scheduling system

Week 16

Theory of Computation

  • Topics
    • Turing
    • Grammars
    • State machines
    • Regular expressions

Algorithms Refresher

  • Topics
    • Big-O
    • Algorithms so far

Week 17

Algorithms I

  • Topics
    • Permutations
    • Traveling Salesman Problem

Algorithms II

  • Topics
    • Dijkstra's
    • Graphical version of Traveling Salesman Problem

Week 18

Security

  • Topics
    • Writing secure code
    • Encryption
    • SQL injection
    • Avoiding common pitfalls

Cellular Automata

  • Topics
    • Implementation of the Game of Life
    • Applicates of cellular automata
    • Implications for computability

Week 19

Industry

  • Topics
    • Interviewing
    • Online persona

Industry

  • Topics
    • Being effective in the workforce

Week 20

Personal Project

Week 21

Personal Project

Personal Project

Week 22

Capstone Project

Capstone Project

Week 23

Capstone Project

Capstone Project

Week 24

Capstone Project

Capstone Project

Week 25

Capstone Project

Capstone Project

Week 26

Interview Prep

Repo coming soon

Job Search Prep

Repo coming soon