Entering numbers: the computer science of the everyday Dr Paul Cairns Reader in Human-Computer Interaction CS Open Day, Paul Cairns129th September, 2012.

Slides:



Advertisements
Similar presentations
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Advertisements

CSCI 6962: Server-side Design and Programming Input Validation and Error Handling.
1CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 16: Eliminating Errors.
CS355 – The Mathematics and Theory of Computer Science Reductions.
Repetition Statements Recitation – 02/20/2009 CS 180 Department of Computer Science, Purdue University.
1 9/29/06CS150 Introduction to Computer Science 1 Loops Section Page 255.
CSCE 121, Sec 200, 507, 508 Overview of Chapters 23 and 24 Fall 2010 Prof. Jennifer L. Welch.
CS 112 Intro to Computer Science II Sami Rollins Fall 2006.
5-1 Flow of Control Recitation-01/25/2008  CS 180  Department of Computer Science  Purdue University.
1 9/29/06CS150 Introduction to Computer Science 1 Loops Section Page 255.
1 9/28/07CS150 Introduction to Computer Science 1 Loops section 5.2, 5.4, 5.7.
© The McGraw-Hill Companies, 2006 Chapter 9 Software quality.
CS5371 Theory of Computation Lecture 5: Automata Theory III (Non-regular Language, Pumping Lemma, Regular Expression)
Design Principles for Human- Computer Interfaces Donald A. Norman Presented by Paul Woodall.
CS 112 Intro to Computer Science II Sami Rollins Spring 2007.
© 1999 Franz Kurfess Cover 1 COMP 675 Human-Computer Interface Design Franz J. Kurfess Computer Science Department Concordia University, Montreal.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Complexity (Running Time)
Turing Machines CS 105: Introduction to Computer Science.
CS 280 Data Structures Professor John Peterson. Lexer Project Questions? Must be in by Friday – solutions will be posted after class The next project.
The switch Statement, DecimalFormat, and Introduction to Looping
CSC 1051 M.A. Papalaskari, Villanova University Repetition CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing.
CS 127 Writing Simple Programs.  Stages involved  Analyze the problem  Understand as much as possible what is trying to be solved  Determine Specifications.
Errors And How to Handle Them. GIGO There is a saying in computer science: “Garbage in, garbage out.” Is this true, or is it just an excuse for bad programming?
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
What makes an expression indeterminate? Consider: We can hold one part of the expression constant: There are conflicting trends here. The actual limit.
Floating Point Numbers Expressions Scanner Input Algorithms to Programs Shirley Moore CS 1401 Spring 2013 February 12, 2013.
5 BASIC CONCEPTS OF ANY PROGRAMMING LANGUAGE Let’s get started …
WEEK 6 Jeongmin Lee 1. Goal  Having experience with Regular Expressions  Develop a program that checks user input that is course number of CS dept.
What is Computer Science? “Computer Science is no more about computers than astronomy is about telescopes.” - Edsger Dijkstra “Computer Science is no more.
CS30003: Compilers Lexical Analysis Lecture Date: 05/08/13 Submission By: DHANJIT DAS, 11CS10012.
CMSC 150 CONDITIONAL EXECUTION CS 150: Mon 16 Jan 2012.
The world’s smallest HCI problem Paul Cairns. Today’s objectives  Basics of human error  Error in HCI  Number entry error 18th February, 2014 Paul.
TK 1914 : C++ Programming Control Structures I (Selection)
Deterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.2)
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Error Detection and Correction in Data Collection Julia Challinor, RN, PhD Assistant Adjunct Professor of Nursing University of California, San Francisco.
More on Functions Intro to Computer Science CS1510 Dr. Sarah Diesburg.
CS355 - Theory of Computation Regular Expressions.
CSCI 2670 Introduction to Theory of Computing September 13.
Cs3724: Introduction to HCI Dr. Chris North GTA: Purvi Saraiya.
Change Blindness Presentation: Paul Curzon Change Blindness: Milan Verma & Peter McOwan, Queen.
CSCI 4800/6800 Human-Computer Interaction Eileen Kraemer 1/11/05.
1 Class Chapter Objectives Use a while loop to repeat a series of statements Get data from user through an input dialog box Add error checking.
Computer Science 112 Fundamentals of Programming II.
CPSC 233 Tutorial 5 February 2 th /3 th, Java Loop Statements A portion of a program that repeats a statement or a group of statements is called.
CS 403: Programming Languages Lecture 20 Fall 2003 Department of Computer Science University of Alabama Joel Jones.
Topics for today: 1.Comments 2.Data types 3.Variable declaration.
More on Functions Intro to Computer Science CS1510 Dr. Sarah Diesburg.
1.5.3 Walkthrough #4 bouncing_ball.py wrapping_ball.py
Repetition Statements
CMSC201 Computer Science I for Majors Lecture 07 – While Loops
The switch Statement, and Introduction to Looping
Warm-up Program Use the same method as your first fortune cookie project and write a program that reads in a string from the user and, at random, will.
Fundamental of Java Programming Basics of Java Programming
How to Fix Windows 10 Update Error 0x ?.
Finite Automata Motivation An Example.
Part A – Doing Your Own Input Validation with Simple VB Tools
Thinking about Strings
CSE 1020:Software Development
Use of TUDEP: an interactive exercise
Norman 7 B: Improving Data Entry
Logarithms.
CHAPTER 6: Control Flow Tools (for and while loops)
Python Lessons 7 & 8 Mr. Husch.
Python 8 Mr. Husch.
Error Handling in Java Servlets
While Loops in Python.
CS 325: Software Engineering
Repetition CSC 1051 – Data Structures and Algorithms I Course website:
Presentation transcript:

Entering numbers: the computer science of the everyday Dr Paul Cairns Reader in Human-Computer Interaction CS Open Day, Paul Cairns129th September, 2012

Aims ▪Computer Science of Everyday Things −Number entry −Regular expressions −Human-computer interaction ▪A taste of things to come CS Open Day, Paul Cairns229th September, 2012

Number entry CS Open Day, Paul Cairns329th September, 2012

To err is human… ▪Very common device in NHS ▪Nurse entered 68 not 6.8 ▪Patient died next day ▪What actually happened? 29th September, 2012CS Open Day, Paul Cairns4

But it’s very rare, isn’t it? ▪People make mistakes −10% of all admissions −10% of those are potentially fatal −40,000 per year in the US ▪Human error or poor design? 29th September, 2012CS Open Day, Paul Cairns5

Thinking about numbers ▪Think up 5 different numbers that plausibly you might enter into a syringe pump? −Concentrations −Volumes −Times −Rates ▪Explore the possibilities 29th September, 2012CS Open Day, Paul Cairns6

ISMP Guidelines ▪No trailing zeros (5 mg, never 5.0 mg) ▪Use leading zeros for doses less than one measurement unit (0.3 mg, never.3 mg) ▪Units ▪Font: th September, 2012CS Open Day, Paul Cairns7

Regular expressions ▪Shorthand ▪Describe “strings” of characters ▪Three operations: −Sequence −Iteration, * −Optionality, | 29th September, 2012CS Open Day, Paul Cairns8

Examples ▪Let = “A”|… |“Z” ▪Num = “0”| … |“9” ▪LetLet NumNum LetLetLet ▪“Y” Num* 29th September, 2012CS Open Day, Paul Cairns9

Exercise ▪Can you come up with a regular expression for ISMP compatible numbers? 29th September, 2012CS Open Day, Paul Cairns10

RE and Syringe Pumps ▪Use RE to block invalid numbers ▪Exhaustive simulation of errors −Java, Mathematica ▪Halve the out-by-10 errors 29th September, 2012CS Open Day, Paul Cairns11

RE and Syringe Pumps ▪Use RE to block invalid numbers ▪Exhaustive simulation of errors −Java, Mathematica ▪Halve the out-by-10 errors ▪But we had to guess some bits 29th September, 2012CS Open Day, Paul Cairns12

Computer Science could help… ▪Device logs ▪Regular expressions ▪Simulations ▪Interface design 29th September, 2012CS Open Day, Paul Cairns13

Where to find out more ▪ ▪Norman, Design of Everyday Things ▪Here CS Open Day, Paul Cairns1429th September, 2012