COURSE OUTLINE - HUMAN COMPUTER INTERACTION
Lesson 1: What is HCI?
This topic discusses the definition of HCI - goals, importance in living context, and its relationship with other fields.
1.1 History and Evolution of HCI
1.2 Issues on Computer Usability
1.3 HCI Goals
1.4 The Importance of HCI
1.5 The Relationship between Other Disciplines
1.5.1 Computer Science
Lesson 2: Human Factor - Physical
This topic discusses the aspect of the human factor in HCI. To enable a usable computer system to be designed, the human aspect from the physical perspective such as the abilities and limitations of human senses including sights, sounds, and the human touch, the importance of visualisation, and the user's touch in interacting with the computer, needs to be understood. This knowledge can then be used during the process of designing the interface for users to enable interaction with the computer.
2.1 Visualisation Perceptions
2.1.2 Colour and Brightness
2.1.3 Graphical Representation in Interface
2.2 Sound and Auditory Skills
2.3 Sense of Touch
2.4 Design Consideration
2.4.1 Choice and Colour Combination
2.4.3 Type of Responses
2.4 Information Onset Display
Lesson 3: Human Factor - Mental
This topic explains how information is represented in the human memory. There is some information that can be remembered for a longer duration, and others which are never remembered. This topic is important in helping students understand the means of how users use their minds to think and learn.
3.1 Human Memory Model
3.1.1 Sensory Memory
3.1.2 Work Memory/Short Term Memory
3.1.3 Long-Term Memory
3.2 Memory Limitations
3.2.2 The Effects of Primacy, Recency
3.2.3 Centralisation of Observation
3.3 Mental Industrial Relations Perspectives
3.3.1 Mental Model
3.4 Learning Process
Lesson 4: Social Aspect
In this topic, the social aspect in communication is explained. The social aspect also contributes towards the growth of technology especially those involving teamwork methods. The process of understanding this aspect is an important consideration during the development of a particular system.
4.1 Face-to-face Communication
4.1.1 The Effects of Transition
4.1.2 Eye-contact Unitary Perspective
4.1.3 Body Language
4.2.2 Focus and Topics
4.2.3 Back Channels and Distort
4.3 Text-Based Communication
4.4 Organisational Issues
Lesson 5: Input Technology
Topic 5 discusses the various technologies and tools or devices that can be used to transform the information that has been provided by users into the type of data that can be processed by the computer. These input devices can be used as interaction medium between humans and computers. However, each of these devices has its respective advantages and weaknesses, depending on the system that is going to be designed.
5.1 HCI Goals
5.1.1 QWERTY Keyboard
5.1.2 DVORAK Keyboard
5.1.3 Chord Keyboard
5.1.4 Other Keyboards
5.1.5 Special Keyboards
5.2 Input Devices
5.2.3 Touch Screen
5.2.4 Light Pen
5.2.5 Track Balls
5.3 Input Devices in 3D Display Devices
5.3.1 Data Gloves
5.3.2 Virtual Reality Helmet
5.4 Developments in Input
5.4.1 Voice Recognition
5.4.2 Handwriting Recognition
Lesson 6: Output Technology
Output technology is the main focus of this topic. It revolves around the technology and devices that function to transform electronic information into a form that can be understood by humans, either through visuals, sounds, or both. The ability of humans to process the visualised information and understanding it depends on the quality and accuracy of the information representation method. The ability to choose the appropriate device or technology is important in designing the system.
6.1 Video Display
6.1.1 Cathode Radiation Tube (CRT)
6.1.2 Flat Screen Display
6.1.3 3D Display
6.1.4 Stereoscopic and Virtual Reality System
6.2 Sound Output
Lesson 7: Conceptual Models and Interaction Styles
This topic discusses the conceptual models and interaction styles between the user and the computer. The conceptual model provides an initial visualisation pertaining to the behaviour and usage of the system. This enables the detailed designing of a system. The system developer should ensure that the conceptual model is understood by the user to enable them to form an appropriate mental model. The developer should also have the ability to choose the interaction styles that best fit the conceptual model that has been designed, and is able to handle all related interaction issues.
7.1 Conceptual Model
7.1.1 Activity-Based Conceptual Model
7.1.2 Object Oriented Model
7.1.3 Interface Metaphors
7.1.4 Direct Manipulation
7.2 Interaction Styles
7.2.1 Instruction Language
7.2.3 Natural Language
7.2.5 Question and Answer Dialogue
7.2.6 WIMP Interface
7.3 Screen Layout and Design
7.3.1 Information Presentation
7.3.2 Information Entry
7.3.3 Requirements and Aesthetic Values
7.3.4 Discovering what is Needed
Lesson 8: The Windows System
This topic discusses the elements in the Windows System, and all issues related to Windows management, as well as approaches and various solution methodologies that are used in different system environments. The developer can use this knowledge to plan the design of the system interface that is going to be developed.
8.1 Elements of the Windows System
8.1.4 Other Elements
8.2 Multiple Window System
8.2.1 Multiple Display
8.2.2 Interchangeable Displays
8.2.3 Dividing the Display
8.2.4 Tile Arrangement
8.2.5 Maximising and Minimising Windows
8.2.6 Windows Overlap
8.2.7 Cascade Arrangement
8.3 Window Management
8.3.1 Opening Windows
8.3.2 Choosing the Window Location
8.3.3 Closing Windows
8.3.4 Changing the Size of Windows
8.3.5 Moving Windows
8.3.6 Activation of Windows
Lesson 9: What is a User-Centred Design?
In Topic 9, the discussion revolves around the basic principals of user centered designs, that is, the system development approach that focuses on the user. A survey is conducted on a number of traditional System Development Life Cycle models, with the focus on highlighting the weak points in a system that renders it unusable. A number of system development life cycles based on this approach are also introduced in this topic.
9.1 Why Are Systems Difficult to be Used?
9.2 System Development Life Cycle (SDLC) In Software Engineering
9.2.1 The Waterfall Model
9.2.2 The Spiral Model
9.2.3 The RAD Approach
9.3 The Basic Principles of a User-Centred Design
9.3.1 Focus on Users
9.3.2 Prototype Development
9.3.4 Case Study: Olympic Messaging System
9.4 User-Centred Life Cycle Model
9.4.1 The Simple Model
9.4.2 Star Model
9.4.3 Usability-Engineering Model
9.5 Participatory Design
Lesson 10: System and User Requirements Analysis
This topic explains the issues and important elements in the phase of requirement specifications, including the variety of users and their influences on system requirements. An introduction to the different types of requirements that have to be present in these specifications and the techniques used to gathering and interpreting information related to these requirements is also discussed.
10.1 User Requirements
10.1.1 Who are the Users?
10.1.2 What is Meant by User Requirements?
10.2 System Requirements
10.2.1 Functional Requirements?
10.2.2 Data Requirements?
10.2.3 Environmental Requirements?
10.2.4 User Requirements?
10.2.5 Usability Requirements?
10.3 Data Collection
10.3.3 Focus Groups and Workshops
10.4 Data Analysis and Interpretation
10.4.2 Use Case
10.4.3 Task Analysis
Topic 11: Prototype Development
The discussion in topic 11 touches on the development of prototypes, which is one of the main principals of user centered designing. This topic focuses on the types of prototypes, techniques that can be used to swiftly develop a prototype, as well as some guidelines in designing the interface.
11.1 Prototype Development
11.1.1 What is a Prototype?
11.1.2 What is the Need for Prototype Development?
11.2 Approaches to Prototype Development
11.2.1 Fast and Disposable Prototypes
11.2.2 Layered Prototype
11.2.3 Evolution Prototype
11.3 Techniques for Developing the Fast And Disposable Prototype
11.3.1 Storyboard and Sketches
11.3.2 Index Cards
11.3.3 Computer Simulations
11.3.4 Wizard of OZ
11.3.5 Chauffeured Prototype
11.4 Prototyping Fidelity
11.4.1 Low-fidelity Prototypes
11.4.2 High-fidelity Prototypes