This course is about principles of user interfaces (UI) for software engineering.

• The core concepts of User Interfaces (UI) for software engineering. How do we define Human-Com-puter Interaction (HCI) and explain its importance?

• The core concepts of User Interfaces (UI) for software engineering. How do we define Human-Com-puter Interaction (HCI) and explain its importance?

• Lists and explain the key user interface design principles and describe how a user interface could succeed or fail from a human diversity perspective.

• Understanding the importance of a good user interface design, what is a good user interface de-sign? And what are the problems of poor or bad user interfaces?

• Explain the different user interface interaction designs and styles and the tradeoffs involved in se-lecting one for a given software system.

• Psychological principles; Design methods such as task analysis and user-centered design.

• Evaluation criteria for a user interface and learn how to evaluate a user interface for usability and utility.

• Explain and justify the design decisions made in the user interface prototype, and how visual design elements were chosen (color, icons, fonts, etc.)