CR: Stack II Topics Outline: Difference between revisions
No edit summary  | 
				|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
==Title==  | ==Title==  | ||
==Learning Objectives==  | |||
* learn basics of modern web applications?  | |||
* basics of dynamic languages  | |||
** first class functions  | |||
** functional programming concepts (non-mutability)  | |||
* basics of databases  | |||
** data representation  | |||
** query languages  | |||
* basics of distributed applications  | |||
** latency vs. bandwidth  | |||
** reliability concerns  | |||
** state vs. stateless  | |||
==Weekly Topics==  | ==Weekly Topics==  | ||
| Line 11: | Line 25: | ||
* Dynamic memory management (garbage collection)  | * Dynamic memory management (garbage collection)  | ||
* lexical and dynamic scoping  | * lexical and dynamic scoping  | ||
* functions as first-class objects  | * functions as first-class objects, functions that generate other functions  | ||
* eval, JSON  | * eval, JSON  | ||
* domain-specific languages: SQL  | * domain-specific languages: SQL  | ||
* embedded interpreters  | * embedded interpreters  | ||
* scalability for data: NoSQL approaches, database caches  | |||
* mapreduce  | |||
==Assignments==  | ==Assignments==  | ||
| Line 24: | Line 40: | ||
# first-class functions for dynamic code generation (JavaScript) + DB  | # first-class functions for dynamic code generation (JavaScript) + DB  | ||
# closures, scoping + DB  | # closures, scoping + DB  | ||
# JavaScript  | # JavaScript interpreter in Java (Rhino?)  | ||
#   | # scalable database? (BigTable-like?)  | ||
Latest revision as of 16:33, 9 February 2011
Title
Learning Objectives
- learn basics of modern web applications?
 - basics of dynamic languages
- first class functions
 - functional programming concepts (non-mutability)
 
 - basics of databases
- data representation
 - query languages
 
 - basics of distributed applications
- latency vs. bandwidth
 - reliability concerns
 - state vs. stateless
 
 
Weekly Topics
- Modern web architecture
 - HTML, CSS: markup languages
 - client-server, stateless vs. stateful servers, HTTP (cookies & other state)
 - Server-side scripting: PHP
 - Database schemas
 - Database query languages & semantics (logic)
 - Dynamic memory management (garbage collection)
 - lexical and dynamic scoping
 - functions as first-class objects, functions that generate other functions
 - eval, JSON
 - domain-specific languages: SQL
 - embedded interpreters
 - scalability for data: NoSQL approaches, database caches
 - mapreduce
 
Assignments
- PHP/HTML introduction (dynamic generation of web pages)
 - PHP & Databases: simple SQL
 - RPC: REST, SOAP, legacy
 - runtime generation of client code: PHP->JavaScript (AJAX) + DB
 - first-class functions for dynamic code generation (JavaScript) + DB
 - closures, scoping + DB
 - JavaScript interpreter in Java (Rhino?)
 - scalable database? (BigTable-like?)