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