Difference between revisions of "CR: Stack II Topics Outline"

From Soma-notes
Jump to navigation Jump to search
 
(5 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==
* 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==
==Assignments==
Line 7: Line 36:
# PHP/HTML introduction (dynamic generation of web pages)
# PHP/HTML introduction (dynamic generation of web pages)
# PHP & Databases: simple SQL
# PHP & Databases: simple SQL
# RPC: REST, SOAP, legacy
# runtime generation of client code: PHP->JavaScript (AJAX) + DB
# runtime generation of client code: PHP->JavaScript (AJAX) + DB
# 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: SpiderMonkey
# JavaScript interpreter in Java (Rhino?)
# JavaScript: V8
# scalable database? (BigTable-like?)
# memcached?

Latest revision as of 12: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

  1. PHP/HTML introduction (dynamic generation of web pages)
  2. PHP & Databases: simple SQL
  3. RPC: REST, SOAP, legacy
  4. runtime generation of client code: PHP->JavaScript (AJAX) + DB
  5. first-class functions for dynamic code generation (JavaScript) + DB
  6. closures, scoping + DB
  7. JavaScript interpreter in Java (Rhino?)
  8. scalable database? (BigTable-like?)