Bill Manaris : Fall 2015 / CSCI 380

CSCI 380 – User Interface Development


MWF 11:30am-12:20pm / HWE 301


Introduction to human-computer interaction and user interface development. Topics include human factors of interactive software, interactive styles, design principles and considerations, development methods and tools, interface quality, and evaluation methods. Stresses the importance of good interfaces and the relationship of user interface design to human-computer interaction.


  1. CSCI 221 with a grade of C- or better.
  2. MATH 207 (co-requisite or prerequisite).

Test Dates


Readings & References

  1. The evolution of the desk - a thought-provoking, historically-accurate (almost), animated GIF.
  2. Apple Watch "fails to excite" and is "a bit underwhelming" say designers - In April, Apple courted the design world by presenting the Apple Watch at a pavilion in Milan and holding a glamorous dinner for leading designers. So what do designers think of the product now – and why are so few of them wearing it?
  3. An introduction to pair programming. This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming.
  4. Mayhew's Usability Engineering Lifecycle - and a photograph of it.
  5. Lewis, C. and Rieman, J. (1994), Task-Centered User Interface Design - A Practical Introduction.
  6. Jacob Nielsen's usability pointers
    • Usability 101 -- How to define usability? How, when, and where can you improve it? Why should you care? This overview answers these basic questions.
    • Ten Usability Heuristics -- Ten general principles for user interface design.
    • Progressive disclosure defers advanced or rarely used features to a secondary screen, making applications easier to learn and less error-prone, whereas staged disclosure provides a linear sequence of options, with a subset displayed at each step. Both are strategies to manage the profusion of features and options in modern user interfaces.
  7. Critchley, S., "Designing Musical Instruments for Flow", O'Reilly Digital Media, December 29, 2004. (If you ask musicians what they value most about making music, most of them will say — in some form or another — flow. Flow is that wonderful sense of being lost in your work, when "work" becomes joy. Time disappears, and so do distraction, anxiety, and just about everything else, yielding to a pure unity of creator and creation. So wouldn't it be strange if many of today's musical instruments were designed to prevent or destroy flow?)
  8. Pat Metheny's Orchestrion project is a new, open-ended platform for musical composition, improvisation and performance. It uses acoustic and acoustoelectric musical instruments that are mechanically controlled through a guitar, pen or keyboard. This creates a detailed compositional environment, which allows spontaneously developed improvisation. On top of layers of acoustic sound, Pat Metheny adds conventional electric guitar playing as an improvised component - a new level for solo performance by a single musician.
  9. Yahoo! Design Pattern Library
  10. Paper prototypes
  11. An introduction to pair programming. This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming.
  12. Intro to Python
  13. jythonMusic provides software for music-making and creative computing. It is a collection of Jython libraries for music, images, graphical user interfaces (GUIs), and connecting to external MIDI devices, smartphones, and tablets, among others.
  14. Color scheme designer for user interfaces.
(Printable View of