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
1: Describe the core concepts of User Interfaces (UI) and User Experiences (UX) for software engineering
1.1: Define Human-Computer Interaction (HCI) and explain its importance
1.2: List and explain the key user interface design principles
1.2.1: Psychological principles for user interface design
1.2.2: Design principles from experience: visibility, affordance, and feedback
1.2.3: Other design principles: simplicity, structure, consistency, and tolerance
1.2.4: Design for disabilities, e.g., accessibility
1.3: Describe how a user interface could succeed or fail from a human diversity perspective
1.4: Understand the importance of a good user interface design
1.4.1: What is a good user interface design?
1.4.2: Problems of poor or bad user interfaces
1.5: Explain the different user interface interaction designs and styles and the tradeoffs involved in selecting one for a given software system
2: Evaluate a user interface for usability and utility
2.1: Discuss evaluation criteria for a user interface
2.1.1: Why evaluate the usability of user interface designs?
2.1.2: Deciding on what you need to evaluate: the strategy
2.1.3: Planning who, what, when, and where
2.2: Evaluate a user interface based on the user interface design principles using heuristic evaluation, user observation, cognitive walkthroughs, and thinking aloud techniques
2.3: Design and conduct a usability test and analyze the results
3: Apply the core concepts of HCI to building a User Interface
3.1: Define user-centered design and explain how it applies to user interface development
3.2: Perform a task analysis to develop requirements for a user interface prototype
3.3: Build a user interface prototype that is in accordance with HCI interface design principles
3.3.1: Design a UI prototype so that it supports internationalization
3.3.2: Demonstrate the consideration of the importance of response time and feedback in the prototype design and implementation user interface design principles
3.4: Explain and justify the design decisions made in the user interface prototype
3.4.1: Explain and justify the choice of design modalities implemented in the prototype
3.4.2: Describe which quality attributes were involved in decision-making and how they were implemented in the resulting system
3.4.3: Explain how visual design elements were chosen (color, icons, fonts, etc.)
3.5: Use Scenario-Claims- Analysis to capture task analysis results and the rationale for the designed system
4: Describe the key HCI aspects of multi-media systems
4.1: Identify the key HCI issues involved in multi-media
4.2: Explain the advantages and disadvantages of using sound in a user interface
4.3: Identify areas where speech recognition would enhance the user experience
4.4: Compare different website implementations and describe how a website should be evaluated for usability
5: Describe the HCI issues involved in collaboration and communication using a variety of collaborative tools and environments
5.1: Describe the advantages and disadvantages of synchronous and asynchronous group communication
5.2: Participate in a team project where some interaction occurs using a collaborative software environment
5.3: Participate in a class activity where the interaction occurs in a virtual environment