cmput 301: lecture 01 introduction

26
CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by Ken Wong, Eleni Stroulia

Upload: armen

Post on 05-Jan-2016

76 views

Category:

Documents


2 download

DESCRIPTION

CMPUT 301: Lecture 01 Introduction. Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by Ken Wong, Eleni Stroulia Zach Dodds, Martin Jagersand. HCI and program design. Why worry about the user? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CMPUT 301: Lecture 01 Introduction

CMPUT 301: Lecture 01Introduction

Lecturer: Martin JagersandDepartment of Computing Science

University of Alberta

Notes based on previous courses byKen Wong, Eleni Stroulia

Zach Dodds, Martin Jagersand

Page 2: CMPUT 301: Lecture 01 Introduction

2

HCI and program design

• Why worry about the user?1. People “more expensive” than machines

2. Errors may be unacceptable

3. Can’t sell unattractive and hard to learn SW

• Design1. For the user: Useful, correct, complete,

efficient

2. For the programmer: Portable, changeable, extensible, reusable

Page 3: CMPUT 301: Lecture 01 Introduction

3

Course content:How to do User Interfaces

• Object Oriented SW eng:– Learn the programming skills

• The human: – What perceptual skills support what

interaction?

• Design and evaluation:– Task analysis, usability, evaluation

Page 4: CMPUT 301: Lecture 01 Introduction

4

Example:Interaction and interfaces:

• The past?– Text based interaction:

If A then

end

Page 5: CMPUT 301: Lecture 01 Introduction

5

The present: Direct manipulation:

• xfig drawing program Icons afford use

• Results visible• Direct spatial action-

result mapping

line([10, 20],[30, 85]);patch([35, 22],[15, 35], C);

% C complex structuretext(70,30,'Kalle'); % Potentially add font, size, etc

matlab drawing:matlab drawing:

Page 6: CMPUT 301: Lecture 01 Introduction

6

The future?Vision and Touch UI

• Observe and Interpret Physical Interactions

• Make Machines work with Humans

• Soon most appliances will have embedded computers

Page 7: CMPUT 301: Lecture 01 Introduction

7

Motivation

• Clint Eastwood classification:– the good– the bad– the ugly

Page 8: CMPUT 301: Lecture 01 Introduction

8

Motivation

• The good:

Page 9: CMPUT 301: Lecture 01 Introduction

9

Motivation

• The bad:

Page 10: CMPUT 301: Lecture 01 Introduction

10

Motivation

• The ugly:

Page 11: CMPUT 301: Lecture 01 Introduction

11

Question

• What are some other examples?

• In the real world?

Page 12: CMPUT 301: Lecture 01 Introduction

12

Why Design?

• “Despite the enormous outward success of personal computers, the daily experience of using computers far too often is still fraught with difficulty, pain, and barriers for most people.”

• …

Page 13: CMPUT 301: Lecture 01 Introduction

13

Why Design?

• “The lack of usability of software and the poor design of programs are the secret shame of the industry.”— Mitch Kapor

Page 14: CMPUT 301: Lecture 01 Introduction

14

Why Design?

• There’s more to developing software than just making it work correctly.

Page 15: CMPUT 301: Lecture 01 Introduction

15

Why Design?

Page 16: CMPUT 301: Lecture 01 Introduction

16

Software Design

• User perspective:– meets needs– increase user satisfaction– reduce frustration– increase productivity– reduce errors– easy to learn– easy to use

Page 17: CMPUT 301: Lecture 01 Introduction

17

Software Design

• Developer perspective:– manage complexity– reduce maintenance and support costs– increase quality– reduce defects– increase reuse– reduce time-to-market

Page 18: CMPUT 301: Lecture 01 Introduction

18

Software Design

• Selected goals:– bridging users and technology effectively– marry art and science– evolutionary development

(design, implement, evaluate)– integrate expertise across disciplines

Page 19: CMPUT 301: Lecture 01 Introduction

19

Multiple Disciplines

• industrial design• graphic design• architecture• ergonomics• cognitive psychology• sociology• anthropology• ethics

• software engineering• computer science• visualization• experimentation• intellectual property• arts• business …

Page 20: CMPUT 301: Lecture 01 Introduction

20

Software Design

• Think about the user.

• Focus on goals and tasks.

• Try it out on the users.

• Involve the users.

• Iterate.

Page 21: CMPUT 301: Lecture 01 Introduction

21

Book:

“Human-Computer Interaction”

by Alan Dix, Janet Finlay, Gregory Abowd, and Russell Beale,

Prentice-Hall, 1998

http://www.hcibook.com/hcibook/

Page 22: CMPUT 301: Lecture 01 Introduction

22

Instructor: Martin Jagersand

• Office:

Athabasca Hall 401

• Office Hours:

By appointment

• E-mail:

[email protected]

• Phone:

780 492 5496

Page 23: CMPUT 301: Lecture 01 Introduction

23

Staying in Touch

• WWW page:

http://ugweb.cs.ualberta.ca/~c301/

• Newsgroup:

ualberta.courses.cmput.301

• Emails:1. Your section TA, e.g. ayman, trysi etc…

2. [email protected]

Page 24: CMPUT 301: Lecture 01 Introduction

24

Project

• Complex– Components

– Integration (early!)

• Vague– Talk to users

– Evolution

• Team effort– Hold regular meetings

– Assign tasks

– Peer reviews

Page 25: CMPUT 301: Lecture 01 Introduction

25

Grading

• Assignments: 15%

• Midterm Exam: 15%

• Project Parts: 40%

• Final Exam: 30%

Note: All assignments and project parts are due on a Monday at 12 noon. The TAs will explain the submission process in the labs. Late submissions will not be accepted.

Page 26: CMPUT 301: Lecture 01 Introduction

26

End

• What did I learn today?

• What questions do I still have?