Syllabus for CS 4500 Fall 2009 ================================= This syllabus is subject to change. Some topics may be shifted and repeated to stress their importance. SCG = Specker Challenge Game SCG Complexity Layers: Level 1: T Ball (one relation per classic challenge) Level 2: Slow pitch softball: several relations reducible to one. (one implication tree of relations per classic challenge.) Level 3: Fast pitch softball: several relations. Level k Independent: k relations without implication relationships. Level k Reduced: Several relations that can be reduced to Level k Independent. Level 4: Base ball (classic and secret challenges) Level i challenges can also be offered and sold at level i+1. Week 1: ********************************************************* Subproject 1 The software development process Incremental software development with SCRUM http://en.wikipedia.org/wiki/Scrum_(development) Software Development Course by Immersion: Learn about Process, Tools, Application Domain Requirements Analysis: The requirement is simple: maximize life energy or maximize money. Intro to course (Immersion, etc.) Games for agents: learn about software development and computer science in general DemeterF: class dictionaries for OOD and language definition Classic SCG SAT Classic SCG CSP Week 2: ********************************************************* Subproject 2 Classic SCG CSP T Ball Classic SCG CSP Slow Pitch Softball Classic SCG CSP Fast Pitch Softball Mapping a raw material M to a polynomial f[M](b), called the look-ahead polynomial for the raw material. Focusing on Classic SCG CSP T Ball Computing break-even(d) for challenge d The Generic Player (by Bryan Chadwick, the developer of DemeterF) The Administrator (by Alex Dubreuil) Lab 1: DemeterF class dictionaries Lab 2: DemeterF classes: Traversal, ID, Bc, TUCombiner methods: traverse, combine Week 3: ********************************************************* Subproject 3 The Relation class: methods reduce and q Definition of fsat(r,J) Reducing a raw material in DemeterF Computing the agent IQ. Testing with JUnit 4 using annotations with DemeterF examples regression test suite to make your player robust Playing T Ball game in class (allowed relations 1 - 7 and 128 and above, only 4 variables per raw material) Software development processes and their models (requirements analysis testing design implementation) Preview of Slow Pitch Softball: Chemical metaphor: Each relation corresponds to a chemical which has a phase transition point (e.g., boiling point) When we use two relations (chemicals) they have a new phase transition point that is determined in a non-trivial way by the two relations. Phase transition = fraction that can always be satisfied in any raw material for challenge. Connection between SCG and the P=NP problem. For R22: 4/9 is polynomial and 4/9+10^-6 is NP-complete. TBall slides Week 4: ********************************************************* Classic SCG CSP T Ball Competition 1 Subproject 4 Exploring other representation for relations (Boolean and Pseudo Boolean expressions) Translating to the Relation representation Improving the raw material construction using a combination generator Improving the buying algorithm for maximizing profit Use outsourced software to compute maximum bias Source code management, subversion. Agile Software Development Methods are better for small and large projects Testing( test early, test often, test automatically, the roles of unit, integration, and stress testing, the roles of black-box and glass-box testing, test coverage) Coupling in software, lowering coupling, measuring coupling Law of Demeter Week 5: ********************************************************* Classic SCG CSP T Ball Competition 2 Subproject 5 Road map for your player as it goes through the stages: Classic SCG CSP T Ball Classic SCG CSP Slow Pitch Softball Classic SCG CSP Fast Pitch Softball Classic SCG CSP Fast Pitch Softball Level k Reduced, k increasing Classic SCG CSP Baseball Classic/Secret SCG CSP Baseball (with both classic and secret challenges) Compare implementation of Administrator against requirements document Compare implementation of Your Player against requirements document Project planning People issues Deal with implications between relations: SCG CSP Slow Pitch Softball Compute weighted fractions of constraints for SCG CSP Fast Pitch Softball Week 6: ********************************************************* Classic SCG CSP Slow Pitch Softball Competition 3 Code reviews Subproject 6 Class dictionary review Self-describing cds Software architectures used in our agents/administrator implicit invocation aspect-oriented architecture black board architecture patterns used Speeding up your agents (College has 120+ quadruple core machines) using ParTraversal Solving min-max problems using steepest descent techniques Week 7: ********************************************************* Classic SCG CSP Fast Pitch Softball level 2 Independent (Competition 4) (2 relations not in an implication relationship) Code reviews Subproject 7 SCG component market Contracts Product families How is DemeterF useful? Derandomize the assignment generation: Shannon Decomposition Requirements analysis for Secret SCG Midterm review Week 8: ********************************************************* Midterm (Feb. 24) Classic SCG CSP Fast Pitch Competition 5 (any number of relations) Code reviews Continued requirements analysis for Secret SCG Week 9: ********************************************************* Classic/Secret SCG CSP Competition 6 Code reviews Subproject 8 Linear Programming to play SCG Rock-Paper-Scissors Game and SCG Week 10: ********************************************************* Classic/Secret SCG CSP Competition 7 (base ball) Code reviews How else can we measure your agent (besides determining its IQ)? correctness reliability robustness maintainability evolvability testability reusability utility performance Pragmatic programmer tips Other Java data binding tools (XML based) Week 11: ********************************************************* Classic/Secret SCG CSP Competition 8 (base ball) Code reviews Abstraction barriers and modularity, isolation of clients from details separation of concerns independence of views from models Week 12: ********************************************************* Classic/Secret SCG CSP Competition 9 (base ball) Code reviews Final Project Document due Week 13: ********************************************************* Classic/Secret SCG CSP Competition 10 (base ball) Code reviews