CSE 212 Software Engineering for User Interface and User Experience Design (3 credits)
Catalog description:
Principles of user interfaces (UI) and user experiences (UX) for software engineering. Psychological principles; Design methods such as task analysis and user-centered design. Projects demonstrating window, menu, and command design; voice and natural language I/O; response time and feedback; color, icons, sound.
Prerequisite:
CSE 271
Required topics (approximate weeks allocated):
- Background on HCI including its underpinnings from psychology and cognitive psychology (2 weeks)
- User interface evaluation techniques: heuristic evaluation, cognitive walk throughs (videotaped user testing) (1 week)
- Task analysis and user-centered design (2 weeks)
- Usability engineering processes; conducting experiments (1.5 weeks)
- Conceptual models and metaphors (1 week)
- Designing interfaces: using color, fonts, sound, animation (1 week)
- Designing interfaces: screen layout, response time, feedback, error messages (1 week)
- Designing interfaces for special devices. Use of voice I/O. (1 week)
- Designing interfaces: internationalization, help systems, etc. User interface software architectures (2 weeks)
- Expressing design rationale for user interface design (.5 week)
- Collaborative and virtual environments (1 week)
- Examinations, including review sessions (1 week)
Learning Outcomes
- Describe the core concepts of User Interfaces (UI) and User Experiences (UX) for software engineering
- Define Human-Computer Interaction (HCI) and explain its importance
- List and explain the key user interface design principles
- Psychological principles for user interface design
- Design principles from experience: visibility, affordance, and feedback
- Other design principles: simplicity, structure, consistency, and tolerance
- Design for disabilities, e.g., accessibility
- Describe how a user interface could succeed or fail from a human diversity perspective
- Understand the importance of a good user interface design
- What is a good user interface design?
- Problems of poor or bad user interfaces
- Explain the different user interface interaction designs and styles and the tradeoffs involved in selecting one for a given software system
- Evaluate a user interface for usability and utility
- Discuss evaluation criteria for a user interface
- Why evaluate the usability of user interface designs?
- Deciding on what you need to evaluate: the strategy
- Planning who, what, when, and where
- Evaluate a user interface based on the user interface design principles using heuristic evaluation, user observation, cognitive walkthroughs, and thinking aloud techniques
- Design and conduct a usability test and analyze the results
- Discuss evaluation criteria for a user interface
- Apply the core concepts of HCI to building a User Interface
- Define user-centered design and explain how it applies to user interface development
- Perform a task analysis to develop requirements for a user interface prototype
- Build a user interface prototype that is in accordance with HCI interface design principles
- Design a UI prototype so that it supports internationalization
- Demonstrate the consideration of the importance of response time and feedback in the prototype design and implementation user interface design principles
- Explain and justify the design decisions made in the user interface prototype
- Explain and justify the choice of design modalities implemented in the prototype
- Describe which quality attributes were involved in decision-making and how they were implemented in the resulting system
- Explain how visual design elements were chosen (color, icons, fonts, etc.)
- Use Scenario-Claims- Analysis to capture task analysis results and the rationale for the designed system
- Describe the key HCI aspects of multi-media systems
- Identify the key HCI issues involved in multi-media
- Explain the advantages and disadvantages of using sound in a user interface
- Identify areas where speech recognition would enhance the user experience
- Compare different website implementations and describe how a website should be evaluated for usability
- Describe the HCI issues involved in collaboration and communication using a variety of collaborative tools and environments
- Describe the advantages and disadvantages of synchronous and asynchronous group communication
- Participate in a team project where some interaction occurs using a collaborative software environment
- Participate in a class activity where the interaction occurs in a virtual environment