1 An Assessment of a Speech-Based Programming Environment Andrew Begel Microsoft Research (formerly UC Berkeley)

Slides:



Advertisements
Similar presentations
Learning and Teaching Services Podcasting in Learning and Teaching Spotlight 2009 Graham McElearney - LeTS.
Advertisements

Speech Recognition There are different kinds of voice or speech “_______" that take the sounds of your voice and match it with words. The engine is software.
Cognitive Walkthrough More evaluation without users.
PHONEXIA Can I have it in writing?. Discuss and share your answers to the following questions: 1.When you have English lessons listening to spoken English,
Spoken Language Support for Software Development Andrew Begel University of California, Berkeley Advisor: Prof. Susan L. Graham.
September 28, 2004 Programming By Voice Andrew Begel Advisor: Prof. Susan L. Graham University of California, Berkeley VL/HCC 2004.
Meeting Recorder Adam Janin
Tools and Analyses for Ambiguous Input Streams Andrew Begel and Susan L. Graham University of California, Berkeley LDTA Workshop - April 3, 2004.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Visual Languages and Human-Centric Computing September 9, 2004 Managing Duplicated Code with Linked Editing Michael Toomim, Andrew Begel and Susan L. Graham.
Verbal (symbol) Based Interactions Dr.s Barnes and Leventhal.
A Structure Editor For PAL Constraints Anton An July 18, 2001.
Usability and Evaluation Dov Te’eni. Figure ‎ 7-2: Attitudes, use, performance and satisfaction AttitudesUsePerformance Satisfaction Perceived usability.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
Natural Language Understanding
Describe the purpose, components, and use of speech recognition systems.
1 “ Speech ” EMPOWERED COMPUTING Greenfield Business Centre, 20 th September, 2006.
Introduction CSE 1310 – Introduction to Computers and Programming
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
Languages and Environments Higher Computing Unit 2 – Software Development.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Systems Software & Operating systems
Web Technologies Website Development Trade & Industrial Education
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
SAMPLE HEURISTIC EVALUATION FOR 680NEWS.COM Glenn Teneycke.
1 Spoken Language Support for Software Development Andrew Begel Advisor: Susan L. Graham Computer Science Division, EECS University of California, Berkeley.
An Introduction to Programming with C++ Sixth Edition
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
1 Spoken Language Support for Software Development Andrew Begel Advisor: Susan L. Graham Computer Science Division, EECS University of California, Berkeley.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
Individual Differences in Human-Computer Interaction HMI Yun Hwan Kang.
P6 BTEC Level 3 Subsidiary Diploma in ICT. Automation The end user of a spreadsheet may be proficient in using the software, but the more that you automate.
Project Deliverables CEN Engineering of Software 2.
Objective 3.02 Train the system and input simple documents using speech writing techniques.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
Knowledge Based Systems ExpertSystems Difficulties in Expert System Development u Scarce resources – new technology – demand for trained personnel u Development.
Programming Objectives What is a programming language? Difference between source code and machine code What is python? – Where to get it from – How to.
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
 During the life of any system, there may be times when certain maintenance needs to take place.  There are different forms of maintenance and each.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
Notes for Speech Recognition. Speech Recognition Continuous Speech Recognition (CSR) is the software that allows users to speak normally and input data.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
High-level language programming paradigms. Programming languages come in many forms or 'paradigms'. Each form of language offers advantages over other.
 System Requirement Specification and System Planning.
Unit 3 Computer Systems. What is software? unlike hardware it can’t be physically touched it’s the missing link between the computer hardware and the.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
1 Speech Recognition. 2 Introduction What is Speech Recognition? - Voice Recognition? Where can it be used? - Dictation - System control/navigation -
Tools and Analyses for Ambiguous Input Streams
Speech Recognition There are different kinds of voice or speech "engines" that take the sounds of your voice and match it with words. The engine is software.
Human-Computer Interaction
DDC 1023 – Programming Technique
Difficulties in Expert System Development
Usability engineering
Introduction CSE 1310 – Introduction to Computers and Programming
Microsoft Access 2003 Illustrated Complete
                      Digital Audio 1.
Speech Recognition There are different kinds of voice or speech "engines" that take the sounds of your voice and match it with words. The engine is software.
Retrieval of audio testimonials via voice search
Programming.
Tonga Institute of Higher Education IT 141: Information Systems
Dataverse Software Engineering for Better Universe Data Management.
Tonga Institute of Higher Education IT 141: Information Systems
Chapter 1: Programming Basics, Python History and Program Components
III. Responsibilities of Admin
Presentation transcript:

1 An Assessment of a Speech-Based Programming Environment Andrew Begel Microsoft Research (formerly UC Berkeley)

2 The Big Questions 1.Can people learn to program by speaking? (if they already know how to program) 2.What is easy and what is hard? 3.What are the problems and how might they be resolved?

3 The Story Until Now Speech-based programming can be an alternative to typing/mousing Spoken programs differ from written programs [Begel & Graham, VL/HCC ‘05] –Lexical, syntactic, semantic and prosodic ambiguities Programming language analyses can be enhanced to resolve ambiguities [Begel and Graham, LDTA ’04] while counter is less than limit do...

4 Study – SPEech EDitor Usability Goal: Understand how SPEED can be used by expert programmers Hypothesis: SPEED is learnable and usable for standard programming tasks 1.Train 5 expert Java programmers on SPEED (20 minutes) 2.Create and modify code (30 minutes) –Build a Linked List data structure with associated algorithms 3 programmers used commercial speech recognizer 2 programmers used human speech recognizer

5 Video

6 Metrics Number of Commands/Dictations Uttered vs. Recognized Number of Correctly Interpreted Recognition Events Features Used –Code Templates, Dictation, Navigation, Editing, Fixing Mistakes Quantity and Kinds of Mistakes –Speech Recognition, SPEED, User

7

8

9 Summary of Results Commands were easy to learn and remember. –Very few user mistakes Most commands spoken for editing. –GOMS analysis predicts speech will be slower unless you can get a lot of text for each utterance. –Code templates provide “most bang for your buck”. Speakers were apprehensive about speaking code instead of describing it via code templates.

10 Conclusions SPEED is learnable in a short amount of time Programming-by-voice is slower than typing –Programmers would not want to use it until they had to Programmers believed they would be efficient enough using SPEED to remain in software engineering jobs

11 Any Questions? Andrew Begel:

12 Speech Editing Model Code Template Insertion (insert field) Toggle Microphone

13 Spoken Java Editing Model 2. Choose From Alternatives 1. Speak Code

14 Speech Editing Model

15 Speech Editing Model

16 What Can I Type/Say?