This text has now been published by Cengage. For those of you who began classes using these PDFs, they will stay posted until June 2009 so that you will be able to continue to teach your class. For all others, you are requested to purchase the text.
This book is intended for computer science students with substantial programming experience who wish to learn to develop interactive software. The focus of this book is on how such software is built. The ordering of the materials are designed to get students into programming projects early in the course. This means that issues of design and task analysis are out of order and late in the course rather than at the beginning of the process where they normally belong.
An undergraduate course in the BYU CS department is taught from the first 18 chapters. The remaining chapters are covered in a graduate course. However, all of the chapters are accessable to most CS undergrads.
1. Introduction
2. Drawing
3. Event Handling
4. Widgets
5. Layout and Constraints
6. Multiple View Models
7. Abstract Model Widgets
8. Look and Feel
9. Interface Design Tools
10. Internationalization
11. Dialog Design
12. 2D Geometry
13. Geometric Transformations
14. Interacting with Geometry
15. Cut, Copy, Paste, Drag and Drop
16. Undo, Scripting and Versions
17. Distributed and Collaborative Interaction
Section 1
Section 2
18. Functional Design
19. Text Input
20. Digital Ink
21. Selection
22. Display Space Management
23. Display Architecture
24. Physical Interaction
25. Evaluation
A. Appendix - Math and Algorithms