home | teaching | research | publications | bio | resume (PDF) | address André van der Hoek
projects
Calico
CodeExchange
Crowd Development
Graduate students
Tariq Ibrahim
Thomas Kwak
Lee Martie
post doc
Ayushi Rastogi
Course Title
Informatics 223
Applied Software Design Techniques
Spring 2009

Professor
André van der Hoek
http://www.ics.uci.edu/~andre
andre@ics.uci.edu
Office: Donald Bren Hall 5228
Phone: +1 949-824-6326

Logistics
Location: ICS1 243
Day and time: Tuesday and Thursday, 12:30-13:50

Catalogue Description
223 Applied Software Design Techniques (4). Study of concepts, representations, techniques, and case studies in structuring software systems, with an emphasis on design considerations. Topics include static and dynamic system structure, data models, abstractions, naming, protocols and application programmer interfaces.

Structure
The class will be discussion-oriented. Papers must have been read beforehand, and discussion will be seeded by questions, observations, and assertions from all students in the class.

Case Study
Each student will perform a case study by adopting one software system that they will use to illustrate the techniques with concrete examples. Based on the case study, two slides should be prepared weekly that illustrate the findings in the example system.

Poster
Each student will create a poster, which is based on a new "invention". Specifically, at the end of the quarter each student will present a new technique, a new modeling notation, a new approach, a new tool, or any other new "thing" that they invent as a result of their experience in the class. The technique will not have to be fully demonstrated, but the concept and novelty should be clear from the poster.

Grades
All students enrolled in the course will earn a letter grade based upon: (a) class attendance and participation, (b) questions, obaservations, and assertions that feed the discussions in class, (c) case study slides, and (d) poster.

Course Mailing List
To send mail: 37190-S09@classes.uci.edu
To view the archive: https://eee.uci.edu/classmail/s09/37190/

Students with Disabilities
Any student who feels he or she may need an accommodation based on the impact of a disability should contact me privately to discuss his or her specific needs. Also contact the Disability Services Center at (949) 824-7494 as soon as possible to better ensure that such accommodations are implemented in a timely fashion.

Copyright
The documents below are included to ensure timely dissemination of scholarly and technical work on a non-commercial basis and are for the sole use of students enrolled in Informatics 223. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be resposted without the explicit permission of the copyright holder.

Schedule

Week Date Topic Papers
1 March 31 Welcome
April 2 Design & Abstraction Spector & Gifford: Case Study: A Computer Science Perspective on Bridge Design
Taylor & van der Hoek: Software Design and Architecture: The Once and Future Focus of Software Engineering
Kramer: Is Abstraction the Key to Computing?
2 April 7 Case study discussion
April 9 Models & UML Seidewitz: What Models Mean
Fowler: UML Distilled: A Brief Guide to the Standard Object Modeling Language (third edition)
Bell: Death by UML Fever
3 April 14 (No lecture; baby born)
April 16 (No lecture; baby born)
4 April 21 Case study discussion
April 23 Architecture Medvidovic & Taylor: A Classification and Comparison Framework for Software Architecture Description Languages
Aldrich, Chambers & Notkin: ArchJava: Connecting Software Architecture to Implementation
Georgas & Taylor: Policy-Based Self-Adaptive Architectures: A Feasibility Study in the Robotics Domain
5 April 28 Case study discussion
April 30 Patterns Lea: Christopher Alexander: An Introduction for Object-Oriented Designers
Gamma, Helm, Johnson, Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software
Garlan, Allen, Ockerbloom: Exploiting Style in Architectural Design Environments
6 May 5 Case study discussion
May 7 Data Models Conklin: Hypertext: An Introduction and Survey
Capriero & Gelernter: Linda in Context
van der Lingen & van der Hoek: An Experimental, Pluggable Infrastructure for Modular Configuration Management Policy Composition
7 May 12 (No lecture; André at Adobe)
May 14 Naming Berners-Lee, Fielding & Masinter: Uniform Resource Identifiers (URI): Generic Syntax
Carzaniga, Rosenblum & Wolf: Design and Evaluation of a Wide-Area Event Notification Service
Musen: Domain Ontologies in Software Engineering: Use of Protégé with the EON Architecture
8 May 19 (No lecture, Andr´ at ICSE)
May 21 (No lecture, André at ICSE)
9 May 26 Case study discussion
May 28 Protocols Emmerich: Engineering Distributed Objects, chapters 3, 4 & 8
Gudgin, Hadley, Mendelsohn, Moreau, Nielsen, Karmarkar & Lafon: Simple Object Access Protocol (SOAP) 1.2
Whitehead & Goland: WebDAV: A Network Protocol for Remote Collaborative Authoring on the Web
10 June 2 APIs Parnas: On the Criteria To Be Used in Decomposing Systems into Modules
Thau: Design considerations for the Apache Server API and Apache API Notes
Hartmann, Doorley & Klemmer: Hacking, Mashing, Gluing: Understanding Opportunistic Design
June 4 Interchange Fallside & Walmsley: XML Schema Part 0: Primer
Garlan, Monroe & Wile: Acme: An Architecture Description Interchange Language
Hanseth, Monteiro & Hatling: Developing Information Infrastructure: The Tension Between Standardisation and Flexibility
Finals week June 11, 10:30-12:30 Poster Presentations
Andre's picture
contact
email
andre@ics.uci.edu

skype
awvanderhoek

aim
AW van der Hoek