Information and Computer Science 227
Winter Quarter, 1998
User Interfaces and Software Engineering
Location: CS 253
Time: WF 11:00 - 12:20
Overview and FAQ |
Academic Dishonesty |
(Last modified Mon Jan 05 1998)
- [Jan 05] Home page posted. The textbook may be obtained from the Engineering Copy Center, EGR 203.
The extra readings will be available starting Jan 06.
Overview, Prerequisites, and Frequently Asked Questions
UCI Catalog Description:
Exploration of current developments in systems and tools for creation and run-time
management of graphical user interfaces. Object specification, constraint specification
and maintenance, control paradigms, separation of concerns, support infrastructures, and
multi-media issues are also discussed.
Themes: UI implementation, software architectures, and composition technologies.
Textbook and Readings
- Textbook: "Introduction to User Interface Software", by Dan R. Olsen, Jr. (Publisher uncertain, but
probably Morgan Kaufmann, 1998.) Copies available in the Engineering Copy Center (203 EGR).
- (Very) Optional textbook: "User Interface Management Systems", by Dan R. Olsen, Jr. Morgan Kaufmann, 1992.
- "Introduction to the workshop on software engineering and human-computer interaction: Joint
research issues" Joelle Coutaz and R.N. Taylor, in "Software
Engineering and Human-Computer Interaction", Lecture Notes in Computer Science 896, May 1994. Pages 1-3.
- "User interface technology and software engineering environments" R.N. Taylor, in "Software
Engineering and Human-Computer Interaction", Lecture Notes in Computer Science 896, May 1994. Pages 113-126.
- "Emergence of the separable user interface", Ernest Edmonds. ICL Technical Journal, 7(1):54-63 (1990).
- (Optional) "The X Window System." Robert W. Scheifler and Jim Gettys. ACM Transactions on Graphics, 5(2):79-109
- "A cookbook for using the model-view-controller paradigm in Smalltalk-80." Glenn E. Krasner
and Stephen T. Pope. Journal of Object-Oriented Programming, 1(3):26-49, August/September 1988.
- "Declarative interface models for user interface construction tools: the Mastermind approach",
P. Szekely, P. Sukaviriya, et.al.
- "Chiron-1: A software architecture for user interface development, maintenance, and run-time
support." Richard N. Taylor, Kari A. Nies, Gregory Alan Bolcer, Craig A. MacFarlane, Kenneth M.
Anderson, and Gregory F. Johnson. ACM Transactions on Human-Computer Interaction, 2(2):105-144 (June 1995).
- "A Metamodel for the runtime architecture of an interactive system." The UIMS Tool Developers
Workshop. SIGCHI Bulletin, 24(1):32-37 (January 1992).
- "A component and message-based architectural style for GUI software."
Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James
Whitehead, Jr., Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and
Deborah L. Dubrow.
IEEE Transactions on Software Engineering, 22(6):390-406 (June, 1996.)
- "From single-user architectural design to PAC: a generic software architecture model for CSCW", G. Calvary,
J. Coutaz, and L. Nigay. CHI'97, pp. 242-249.
- "Development Tools," Brad Myers?
- There will also be about 4 additional papers from the latest UIST conference...
Assignments and Assessment
|Name|| Assignment || Weight
|| Update the provided comparison matrix
with 3 or 4 columns based on more recent material: e.g. the latest
MS toolkits, subArctic, Java AWT 1.1, Sun's Swing, JavaBeans, Netscape's
Internet Foundation Classes, VB Controls, Amulet, Mastermind
|| Write a 1-page (or less) summary of 5 of the extra-to-textbook
readings and a 1-page (or more) critical analysis of same.
||Develop a project and/or write a term paper on an approved topic
||Participation in class discussions
Suggested (pre-approved?) Project/Paper Topics
- Tools for identifying, managing, and tracking event flow in apps
- Supporting cut-and-paste in a dynamic C2 architecture
(related to OLE and OpenDoc models for embedded editing)
- Supporting fast semantic feedback in C2-style architectures
- Supporting selective undo in a disributed groupware application
using C2-style architectures. May include general mechanisms for
utilizing the command object notion of Olsen:Chapters 14-15 as the
basis for message structures. Reformulate the C2 frameworks based on
an improved notion of message?
- A full domain-specific (?) software architecture based for editing
applications, starting from the ideas of Olsen:Chapter 12.
- Re-engineer the Endeavors UI to support undo and editing of all
three kinds of fundamental Endeavors objects, using ideas from
- JavaBeans and Swing: an evaluation and methodology for use
within the C2 context (connectors and C2 framework).
- A new approach to support compositional or distributed (or both)
user interfaces (may start out as a survey/issues/objectives
Subject to change
|Week|| Date || Class Session || Readings
| 1|| January 7 || Introduction || UI toolkit matrix|
|--|| January 9 || UI development process || Olsen, Ch. 1
| 2|| January 14|
Class held earlier in the day?
| Task analysis and basic graphics|| Olsen, Ch. 2 and 3
|--|| January 16 || Event handling || Olsen, Ch. 4
| 3|| January 21 || X windows and Xtk (Ackerman) || ---
|--|| January 23 || Basic interaction: MVC || Olsen, Ch. 5; [Krasner&Pope]
| 4|| January 28|
Class held on 1/26
| [NIST]: class held on 1/26|
Interfaces from widgets
| Olsen, Ch. 7
|--|| January 30 || Model-based systems: Chiron-1 || [Taylor et.al.]
| 5|| February 4 || Model-based systems: Mastermind|| [Szekeley et.al.]
|--|| February 6 || Software architectures and UIs || [Arch/Slinky] [C2]
| 6|| February 11|
Class held on 2/12
| [EDCS Melbourne]: class held on 2/12|
C2 frameworks; Java AWT events
(Hilbert and Medvidovic)
|--|| February 13 || [BART]: no class || ---
| 7|| February 18 || Undo, groupware, and macros || Olsen, Ch. 14, [Calvary, et.al.]
|--|| February 20 || Cut, copy, and paste || Olsen, Ch. 13
| 8|| February 25 || [GSAW]: no class || ---
|--|| February 27 || UI elements as components || [
Java Beans spec]
| 9|| March 4|
Class held on 3/5
| [ISSTA]: class held on 3/5|
Issues discussion; Input models
| Olsen, Ch. 8
|--|| March 6 || Architectures for graphical editing|| Olsen, Ch. 12
|10|| March 11 || Student presentations || ---
|--|| March 13|
Class held on 3/12
| [BART]: class held on 3/12|
|Exams|| March 18 || Final Exam? ||10:30-12:30