Lecture 1: BusRoute example in Java with DJ Lecture 2: Translate from English to German (baskets) Class dictionary for class dictionaries (to define class dictionary notation) Lecture 3: Class dictionary for BusRoute Translate sentences to Scheme make-* expressions Lecture 4: Class dictionaries correspond to DTDs in XML Traversals correspond to Xpath expressions in XML Sentences correspond to XML documents Class graphs and relations Semantics of "from A to B" Lecture 5: DTDs with alternation XPath using such DTD Translate to XML Using traverse in DJ Writing strategies Visitors in DJ start, finish, before, after see: invokeMethods documentation get ideas from generated visitors structure of DJ library Discuss hw 3 Lecture 6: discuss issues on mailing list: Justin, Nick Big picture: good separation of concerns Design space for a file system (hw 4) Lecture 7: Software Development Process Checking class dictionaries hw 4: continued Lecture 8: Traversal strategies how to express multiple bypassing clauses from A via B to C implement manually Traversal graph construction Project preview: visualizing traversal strategies Hw 5: Terminal buffer rule Cd exercise Lecture 9: (Oct. 11) Different kinds of strategies Sample midterm Review for midterm three layers of Demeter Cd exercise Lecture 10: (Oct. 14) Finish review Law of Demeter Lecture 11: (Oct. 18) midterm Lecture 12: (Oct. 21) Project: AP Library Eclipse Lecture 13: (Oct. 25) Midterm discussion Eclipse Project Text book search for: require plan estimate coupling meta test Lecture 14: (Oct. 28) Project help Agile Software Development Lecture Nov. 4: XPath help project planning (Alex Aiken) requirements Lecture Nov. 29: Peter Naur Class dictionaries and data description languages Lecture Dec. 3: lec93-soft-eng-f04 testing Lecture Dec. 6 Software Development good separation of concerns aspects: control scattering An aspect is an implementation of a concern whose Separate structure from behavior class graphs and class dictionaries (decorate nodes and edges) Tools defined by a class dictionary Roundtrip theorems Core-invariant Language Translation Adaptive Behavior: Definition of traversals Manual implementation Implementation using the AP Library Strategy language: meaning Growth plans: Incremental development Software development has become more of a people discipline (work with users, managers, people in other countries)