| Week 1 |
| Introduction & Web Basics | Intro & Logistics (PDF) |
| Precedents of the Web (PDF) |
| Structure of the Web (PDF) |
| Web Servers & Web Apps (PDF) |
| The Domain Name System (PDF) |
| Document Object Model (PDF) |
| HTTP: Hypertext Transfer Protocol (PDF) |
| Week 2 |
| Routing & Model-View-Controller Design | Separation of Concerns (PDF) |
| Modularity & Dependences (PDF) |
| An Overview of Rails (PDF - 1.1MB) |
| Model-View-Controller (PDF) |
| Dependency & REST | Web Frameworks (PDF) |
| RESTful APIs (PDF) |
| REST in Rails (PDF) |
| The Web as a Platform for Distributed Computing (PDF) |
| Example Rails Application (PDF) |
| Week 3 |
| Introduction to Data & Object Modeling | Object Models: Intro & Rationale (PDF) |
| Object Models: Math Structures (PDF) |
| Object Models: Classification (PDF) |
| Object Models: Relationships (PDF) |
| Object Models: Semantics (PDF) |
| Object Models: Dynamics (PDF) |
| Relational Data Model | Rails Models: Classes & Tables (PDF) |
| Object Models: Transformations (PDF) |
| Implementing Generalizations (PDF) |
| Week 4 |
| Design Concepts | Design Concepts: Intro (PDF - 1.2MB) |
| Design Concepts: Identifying Concepts (PDF) |
| Design Concepts: Design Moves (PDF) |
| Design Concepts: Idioms (PDF) |
| Design & Code Reviews for Project 1 | Design Review: Project 1 (PDF - 2.2MB) |
| Code Review: Project 1 (PDF) |
| Week 5 |
| Intro to JavaScript | JavaScript: Intro (PDF) |
| JavaScript: Values & Types (PDF) |
| JavaScript: Variables (PDF) |
| Closures | JavaScript: Functions, Scope & Closures (PDF - 1.1MB) |
| JavaScript: Closure Examples (PDF) |
| JavaScript: Functionals (PDF) |
| JavaScript: Objects, Literals & Constructors (PDF) |
| JavaScript: Abstract Types (PDF) |
| JavaScript: Prototypes (PDF) |
| JavaScript: This & New Nasty Effects (PDF) |
| Week 6 |
| DOM | DOM: Intro (PDF) |
| DOM: Programming Idioms (PDF) |
| DOM: Unobtrusive JavaScript (PDF) |
| DOM: Events & Listeners (PDF) |
| DOM: Star Rating Widget Example (PDF) |
| Events & Ajax | Ajax: Introduction (PDF) |
| Ajax: Examples (PDF) |
| Ajax: Engage App (PDF) |
| Week 7 |
| Design Review for Project 2 |
Design Review: Project 2 (PDF - 2.7MB)
|
| Web Security | Security: Overview (PDF) |
| Security: Injection Attacks (PDF) |
| Security: Cross Site Attacks (PDF) |
| Week 8 |
| Software Development Methods | Software Development Processes (PDF) |
| Thoughts on the Software Process (PDF - 1.4MB) |
| Week 9 |
| Designing Dependable Software | Cross Site Request Forgery, Revisited (PDF) |
| Modeling Basic HTTP (PDF) |
| Analyzing Origins (PDF) |
| Finishing the Origin Story (PDF) |
Presenting Your Ideas | Final Project Overview (PDF) |
| Perils & Pleasures of PPT (PDF) |
| FeedAGeek: Sample Pitch v1 (PDF) |
FeedAGeek: Sample Pitch v1a (PDF)
|
| FeedAGeek: Sample Pitch v2 (PDF - 12.0MB) |