- Why are we here? Who am I? Who are you?
- Structure of class, policies
- grades, exercises, assignments, submission, etc
- hypertext
- WWW
- servers
- static vs dynamic
- HTML
- tags
- images
- inline vs block
- doc structure
- links, fragments
- demo HTML generation
- demo simple styling
- inclass who am I page
- Play grounds
- Chrome Dev Tools
- Javascript Hello World in Console
- demo
- script tag
- Javascript Hello World in Page
- variables, arrays, functions, object
- control structures
- demo
- the DOM
- interval
- timeout
- demo javascript calculation in debugger
- inclass get text from box and validate
- HTTP (fundamental understanding)
- request process
- GET / POST
- response headers
- demo telnet
- status codes
- query parameters
- demo form processor
- stateless servers
- cookies
- demo cookie
- inclass cookie page
- inclass exercise post and get to control output
- simple inline style
- size
- desktop vs mobile
- colors
- fonts
- css files
- selectors, tags, ids, classes
- computation
- floating, visibility, display
- state selectors
- compound, inheritance, grouping
- demo something with css
- demo devtools
- inclass spiff it up
- the window, new ones, closing
- click events
- mouse on,over,hover,out events
- DHTML
- hidden forms
- Image object and caching
- DOM access
- menus
- demo devtools
- inclass follow the mouse game
- inclass dynamic menus, nav, bars
- more forms
- inputs, buttons
- selectors, lists
- javascript built-in objects
- custom objects
- prototype
- strings
- regex
- array slicing
- closures
- scope
- demo devtools
- inclass do something hard
- tour
- audio/video
- web workers
- drag and drop
- indexeddb
- FileReader
- Camera API
- touch events
- geolocation
- svg
- canvas
- WebGL
- inclass game
- favicon
- Bootstrap, Semantic, Less, jQueryUI
- network considerations
- CDN, DNS prefetch
- library fallback
- screen readers
- viewport
- demo Dev Tools Mobile
- desktop/mobile mode, jQuery mobile
- inclass beautify simple page
- jQuery: selectors, events, transition
- jQuery: callback, chaining
- AJAX
- Modernizr
- polyfill
- QUnit
- inclass tdd on simple page
- model
- view
- controller
- front-end frameworks
- Handlebars, Mustache, Ember, Underscore
- Backbone, Angular, Knockout
- Kendo, D3
- inclass Design Project
- Why Angular
- file structure
- style
- modules
- model
- controller
- dependency injection
- template
- angular API
- directives
- scope
- factory
- service
- routes
- partial views, includes
- digest watchers
- angular forms and validation
- ajax
- inclass Angularize simple page
- (see above)
- inclass implement custom directive
- Protractor, Jasmine, Karma
- ngMock
- benchmarking
- inclass add tests
- Headless?
- PhantomJS
- CasperJS
- inclass field testing
- TCP/IP http port
- Apache
- Nginx
- Jetty
- Servlets, ASP, JSP
- NodeJS
- WAMP, XAMPP, MAMP, LAMP
- inclass nginx server
- CGI and PHP
- WSGI and Python
- mod_wsgi
- Werkzeug, Tornado, Twisted
- Gunicorn, uWSGI, CherryPy
- Frameworks galore
- Flask
- inclass Flask hello world
- Service Oriented Architecture (SOA)
- SOAP
- Principles of REST
- HATEOAS
- Methodologies of Separation
- Limitations of REST
- inclass implement local app
- Serving locally
- Shared hosting
- Dedicated hosting
- Cloud hosting
- Domain name registration
- PaaS offerings
- Amazon Web Services
- Heroku, DigitalOcean, etc
- inclass hosted app
- unittest
- mocking
- dev vs qa/staging vs production
- continuous integration
- Jenkins
- inclass add unit tests
- Databases 101
- demo SQLite
- PostgreSQL, MySQL
- Amazon RDS
- Alternatives noSQL and newSQL
- redis
- MongoDB
- Elasticsearch
- Cassandra
- Amazon DynamoDB
- inclass SQL exercise
- User Authentication
- Hashing
- Rainbow Tables
- Add some salt
- Add some pepper
- Sessions
- Captcha
- inclass add user authentication
- Cross origin resource sharing (CORS)
- SQL injection
- Man in the Middle
- Transport Layer Security and HTTPS
- Encryption
- Cross-site scripting (XSS) and inclusion (XSSI)
- Cross-site request forgery (CSRF)
- Throttling and DOS
- inclass some aforementioned security exercise
- OAuth
- OAuth 2.0
- More security topics: WS-Security, Kerberos
- inclass add OAuth2 authentication
- Scalable Web Services
- Server Caching, memcache
- Google Ape Engine design
- Amazon Web Services design
- Google APIs
- Google Analytics
- Web metrics
- S3 Storage
- Leveraging Hadoop and Spark
- uglifyjs