Lecture Notes

Lecture notes for each topic discussed in class are provided in the following table. The FeedAGeek slide decks for Week 9 are intended to illustrate progressive improvements upon a sample pitch. There are no notes for Weeks 10–13, as time spent in class was devoted to developing the final projects.

LECTURE TOPICS NOTES
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 This resource may not render correctly in a screen reader.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)
This resource may not render correctly in a screen reader.FeedAGeek: Sample Pitch v1a (PDF)
FeedAGeek: Sample Pitch v2 (PDF - 12.0MB)