- Getting Node.js running
- Install
- REPL
- Your first Hello World
- Reference material (documentation, channels, etc)
- JS 101
- Console
- Strings
- Values and variables
- Using functions
- Built in JS functions
- Writing new functions
- Loops
- Arrays
- Objects
- Closures
- Why Node.js (green threads)
- RAM vs. I/O latency
- Blocking vs. Non-Blocking
- Event-driven Programming
- Understanding the Event Loop
- Node.js Philosophy (userland vs. core)
- Understanding npm ecosystem (modules vs npm modules)
- Unix philosophy
- Core modules vs npm modules
- module.exports and exports
- Using npm tools
- Use a third party module
- Async I/O
- Callbacks
- Event emitter
- Node.js Streams
- Callback pattern
- Debugging your Node.js application
- With an hammer (console.log)
- node debugger
- node inspector
- Testing your Node.js application
- TDD with tape
- HTTP
- What happens when we open a URL in a browser (request lifecycle)
- Common Headers
- HTTP module
- Set up a HTTP server (test with cURL)
- Use HTTP client
- Use request
- HTTP router
- path, query string and request body
- Web Frameworks
- Hapijs
- Templating Engines
- RESTful APIs
- Understand the common language
- Design an API
- Connect to third party services
- APIs
- Drivers
- Connect to a DB
There was also, peer lectures about front end development
What I also would love to have included more in depth (wich there was more time! :D)
- The Web Platform, how it eveolved
- The transition to SPA/CA/NWA world
- MVC/MVVM/MVW
- JavaScript Framework Explositon (Angular.js, Ember, React, etc)
- Asset Management (gulp, Makefile, grunt, npm scripts)
- WebSockets
- P2P applications WebRTC
- Microservices Arquitectures (modern SOA)
- Deployment + Horizontal Scaling
- Continuous Integration
- Team Best Practices (Code Review et. al)