Prework:
- Install node
 - Download repo and get it running
 - Sign up for trial account for lambda service
 
- 
20m 9:00-9:20 | Lecture
- Introductions
 - Brief history, current maintainers
 - V8 JavaScript Engine
 - Web APIs vs. JavaScript APIs
 - Linters / Prettier
 
 - 
20m 9:20-9:40 | Code along
- Read a file w/ readFileSync, print the information to the console as JSON
 
 - 
10m 9:40-9:50 | Break
 - 
30m 9:50-10:20 | Lecture
- map (readdir, map over file, print it out)
 - package.json, npm and node_modules
 - promises, async/await
 - what non-blocking means
 
 - 
30m 10:20-10:50 | Exercises
- Install 
isomorphic-fetch - Make a request with 
isomorphic-fetch- write it to a file w/ writeFileSync
 
 - Parse a CSV file, transform it, log it
- use stdin to pass the file name to the script
 
 
 - Install 
 - 
10m 10:50-11:00 | Break
 - 
30m 11:00-11:30 | Lecture
- callbacks
 - callbacks vs promises
 - error handling in both
 
 - 
30m 11:30-12:00 | Exercise
- Redo previous exercises with callbacks instead of "sync" methods
 - Add error handling
 - ??? extra exercise for those who finish early
 
 - 
60m 12:00-1:00 | Lunch
 
- 
30m 1:00-1:30 | Code Along
- create an http server
- hand rolled routes
 
 
 - create an http server
 - 
30m 1:30-2:00 | Exercise:
- render CSV files as html tables at different routes
 
 - 
10m 2:00-2:10 | Break
 - 
50m 2:10-3:00 | Lecture
- the request and response objects
 - static assets
 - middleware
 - body parser
 - gzip
 - templating libs
 
 - 
10m 3:00-3:10 | Break
 - 
40m 3:10-4:00 | Exercise
- Build a flat file markdown blog
 
 
- 
30m 9:00-9:30 | Lecture
- nodemon
 - now / heroku and friends
 
 - 
10m 9:30-9:40 | Code-a-long
- Run nodemon
 - Deploy using now
 - tail logs
 
 - 
10m 9:40-9:50 | Break
 - 
40m 9:50-10:30 | Lecture
- lambda / cloud functions (aws, azure, gcf)
 
 - 
30m 10:30-11:00 | Exercise
- Build cloud function that sends an email
 - Deploy it to a cloud provider
 
 - 
10m 11:00-11:10 | Break
 - 
50m 11:10-12:00 | Code-a-long
- poke around in the cloud provider console
 
 - 
60m 12:00-1:00 | Lunch
 
- 
30m 1:00-1:30 | Lecture
- introduction to graphql
 
 - 
40m 1:30-2:10 | Code-a-long
- Build a graphql server/lambda
 
 - 
10m 2:10-2:20 | Break
 - 
30m 2:20-2:50 | Lecture
- Hasura
 - Fetching data from the browser
 
 - 
30m 2:50-3:20 | Exercise
- Connect a React UI to Hasura
 
 - 
10m 3:20-3:30 | Break
 - 
30m 3:30 | Exercise
- Server rendered React