cmput 301: lecture 01 introduction lecturer: martin jagersand department of computing science...

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

Post on 21-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

4

Example:Interaction and interfaces:

• The past?– Text based interaction:

If A then

end

Page 5: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

7

Motivation

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

Page 8: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

8

Motivation

• The good:

Page 9: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

9

Motivation

• The bad:

Page 10: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

10

Motivation

• The ugly:

Page 11: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

11

Question

• What are some other examples?

• In the real world?

Page 12: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

14

Why Design?

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

Page 15: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

15

Why Design?

Page 16: CMPUT 301: Lecture 01 Introduction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

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 Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by

26

End

• What did I learn today?

• What questions do I still have?