Lecture![]() |
Topic | Reading |
---|---|---|
April 2 |
Software development processe (slides ![]() |
Schuh's book on Agile development(books24x7 via ur subscription![]() Legacy of Agile development (material from Construx ![]() |
April 21, 23, 27 |
Chat-room project report |
project page |
April 7, 14 |
Chat-room project report |
project page |
April 9, 16 |
Design patterns singleton, factory, builder Complex patterns |
Design patterns in Ruby by Olsen (safari on-line via ur subscription![]() |
Feb 19 |
HTTP, CGI programming Instant messaging systems |
CGI book (Colburn, safari on-line![]() IRCP (part II, chap. 10, network protocols handbook, safari on-line ![]() Jabber and XMPP(part II of programming Jabber by Adams, safari on-line ![]() |
Feb 23 |
Web 2.0 (slides Instant messaging systems (cont'd) |
Web 2.0 programming (van der Vlist et al. books24x7![]() |
Feb 25 |
Object vs. class Web 2.0 (cont'd) |
Self language (talk and paper by Smith and Unger, acm library![]() |
Feb. 10 |
Brooks on software design (slides ![]() functional design in OO languages iterator design as an example |
No Silver Bullet: Essence and Accidents of Software Engineering (on-line html |
Feb. 12 |
Lazy evaluation, streams, memoization (slides ![]() Revision control(slides by Kelsey *storing, retrieving, logging, splitting, merging |
Structure and interpretation of computer programs on-line book site, Sec. 3.5 |
Feb. 17 |
Software design (cont'd) Lazy data structure and memoization (cont'd) |
Why interaction is more powerful than algorithms (acm lib |
Feb. 3, 5 |
The essence of programming languages (slides ![]() Scheme, actor model, Smalltalk |
Evolution of lisp by Steele and Gabriel (acm lib The early history of Smalltalk by Kay (acm lib |
Jan. 15 |
Introduction to complexity (slides, ur access only ![]() programming, design, collaboration |
Voices of computing by Denning (acm library![]() History of programming languages keynote by Steele and Gabriel in 2007 (85 min movie from acm library ![]() "Can't be built", by Gabriel (ieee library ![]() |
Jan. 20, 22 |
Everything is an object (slides ![]() object-oriented programming |
Synthesizing OO and functional design by Krishnamurthi, Felleisen, and Friedman, 1998 (.ps at the author's site at Brown![]() Ruby programming (free on-line book by Thomas and Hunt ![]() ![]() |
Jan. 27, 29 |
Everything is a function (slides ![]() Lambda calculus, functional design |
Church numerals (wiki page![]() How to Design Programs by Felleisen, Findler, Flatt and Shriram Krishnamurthi (free on-line access ![]() ![]() |
Mar 3 |
Design patterns |
Design patterns in Ruby by Olsen (safari on-line via ur subscription![]() Design patterns by Lasater (books24x7 via ur subscription ![]() UML (Chapter 14 of Kak, books24x7 ![]() ![]() |
Mar 5 |
Mid-term exam |
|
The rest of March |
Design patterns in Ruby observer, composite, iterator, command, adapter, proxy, decorator patterns (slides ![]() |
Design patterns in Ruby by Olsen (safari on-line via ur subscription![]() |