SlideShare a Scribd company logo
A Contextual Inquiry
of Expert Programmers
in an Event-Based Programming Environment
CHI’2003
- Andrew Jensen Ko
/ 맹욱재
x 2014 between spring and summer
Author
Andrew J. Ko
Assistant Professor
The Information School
University of Washington
USE research group
Modern software = complex, difficult to use, understand, fix.
USE research group invents technologies that help people
understand and overcome this complexity,
including new help systems for end users, new debugging
tools for developers, and new educational technologies for
people learning to program.
Research interests : human-computer interaction, software
engineering, computing education.
https://faculty.washington.edu/ajko/
Problem
Event-based programming(E.B.P.) has been studied little
in Android Programming
Button a=(Button)findViewById(R.id.버튼아이디);
a.setOnClickListener (new Button.OnClickListener(){
public void click(View v){
클릭하면 실행할 이벤트
}
});
http://daybrush.com/12217
Phenomenon
Around 2003, Studies suggest language paradigm(L.P.)
can predict programming strategies & performance
http://attractivechaos.github.io/plb/http://www.math-cs.gordon.edu/courses/cs323/LISP/lisp.html
Solution
Contextual Inquiry(C.I.) of 4 expert using Alice 3D
programming environment(P.E.)
To discover how E.B.P strategies might be
supported in P.E.
Result of C.I.
Various programming, testing, debugging
breakdowns were extracted.
possible P.E. tools are suggested as aids to avoid
these breakdowns.
Event-based Programming(E.B.P.)
E.B.P drive majority of a program’s runtime
behavior.
E.B.P is common in modern programming
languages, Visual Basic, Java, Macromedia’s
Director, Alice
Alice
http://www.rvschools.org/faculty/rkraemer/sampleprojects.cfm
Alice
Research prototype language
provide event-based construct, U.I.
for efficently creating highly interative enviroment
programming languages
Alice provides a limited object model, global event
handlers, strictly enforced structured editor,
preventing all syntax error.
Method of C.I.
To identify problems that programmers(PGMer) encounter
when creating interative, event-based program.
To asses the utility of C.I. for extracting
design requirements for P.E.
Photo in C.I.
Background of C.I.
Participating PGMers were enrolled in the
“Building Virtual Worlds” course at C.M.U.
Course require collaboration among PGMers,
modelers, sound engineers, painters to create
new interactice 3D world
every two weeks using Alice.
Overview of C.I.
4 expert programmers observed during the
second half of the semester. After PGMer were
experienced with Alice.
the least PGMer 3 languages, 4 enviroments
the best PGMer 6 languages, 8 enviroments
Point of C.I.
Experimenter met with each PGMer
explained the focus of C.I. - to identify programming, testing,
debugging difficulties using Alice.
recorded observation on paper and video
formed hypotheses about PGMer’s action in situ
asked the PGMer if the hypothesis were correct
Example of asking in C.I
experimenter : “It looks like you’re trying to
align
these two objects.”
PGMer : “Basically, I want them to be alligned
on this axis, but I don’t care about the
other two”
Result and Discussion
About 12 hours of observation over 12 sessions
Each of the sessions was reviewed for
breakdown scenarios(B.S.) - PGMer’s strategy
was difficult to perform or unsuccessful.
B.S. were consolidated into problem types.
Breakdown Scenario
Problem type 1 - Programming Problem
Bad code adaption in code recycling.
=> smart copy & paste mechanism needed
automatically coerce params from method to method
Bad supporting for tweaking existing code
often revert to previous version of code
to avoid undoing intermediary changes to unrelated code
=> multi-level intelligent undo
keeping extensive modification history
http://www.rvschools.org/faculty/rkraemer/sampleprojects.cfm
Problem type 2 - Testing Problem
PGMer used visual cue a lot
assigning the color of object for triggering
=> “watch this variable by mapping it’s value”
visual cues : color, size, visibility
Waiting too long animation for small modification
=> timeline visualization
http://cabrinitechclub.blogspot.kr/2011/01/new-quarter-new-tech-club-and-3d.html
Problem type 3 - Debugging Problem
Difficult debugging question including when
“when was the last time this object moved?”
=> timeline visualization
Difficult debugging question including why
“why did this object move?”
=> show the code of problem
common cause (resized to zero, moved out of view…)
Future work
further analysis of data from C.I.
C.I with novice and expert new to Alice
Learning From This Paper
C.I. should be done during long period
for capturing every phase of process
Asking participant if the hypothesis is correct
for unintrusive
Breakdown Scenario will be the output of each C.I.
Discussion Point
1. C.I. will be applied to User Reseach in TOBE
project. Capturing user’s tacit knowledge(암묵지)
will be difficult. Using prototyping engages lots
of cognitive work. How can we capture the
user’s intentions, difficulties using computer
based tool?
A Contextual Inquiry of Expert Programmers in an Event-Based Programming Enviroment

More Related Content

Similar to A Contextual Inquiry of Expert Programmers in an Event-Based Programming Enviroment

2015 RESUME July
2015 RESUME July2015 RESUME July
2015 RESUME July
Kelsey Cameron
 
Project MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AIProject MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AI
butest
 
Project MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AIProject MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AI
butest
 
JiyongKim_HHMI report
JiyongKim_HHMI reportJiyongKim_HHMI report
JiyongKim_HHMI report
Jiyong Kim
 
Creative Ant Farm project report (2002)
Creative Ant Farm project report (2002)Creative Ant Farm project report (2002)
Creative Ant Farm project report (2002)
Amir Dotan
 
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Mozaic Works
 
Sample CS Senior Capstone Projects
Sample CS Senior Capstone ProjectsSample CS Senior Capstone Projects
Sample CS Senior Capstone Projects
Fred Annexstein
 
Roehampton computing workshop 2
Roehampton computing workshop 2Roehampton computing workshop 2
Roehampton computing workshop 2
Miles Berry
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
IRJET Journal
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
IRJET Journal
 
J query aosddemo_2004
J query aosddemo_2004J query aosddemo_2004
J query aosddemo_2004
aasishj
 
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.pptOOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
itadmin33
 
Developing Projects & Research
Developing Projects & ResearchDeveloping Projects & Research
Developing Projects & Research
Thomas Mylonas
 
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxWeek 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
estefana2345678
 
Daa final 2019 20
Daa final 2019 20Daa final 2019 20
Daa final 2019 20
Snk Nks
 
A3 - AR Code Planetarium CST.pdf
A3 - AR Code Planetarium CST.pdfA3 - AR Code Planetarium CST.pdf
A3 - AR Code Planetarium CST.pdf
James Anderson
 
Oa 4 month exp
Oa 4 month expOa 4 month exp
Oa 4 month exp
Ganesh Thutte
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringSynergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software Engineering
Tao Xie
 
Oose unit 3 ppt
Oose unit 3 pptOose unit 3 ppt
Oose unit 3 ppt
Dr VISU P
 
proposal
proposalproposal
proposal
Vivek Anand
 

Similar to A Contextual Inquiry of Expert Programmers in an Event-Based Programming Enviroment (20)

2015 RESUME July
2015 RESUME July2015 RESUME July
2015 RESUME July
 
Project MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AIProject MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AI
 
Project MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AIProject MLExAI: Machine Learning Experiences in AI
Project MLExAI: Machine Learning Experiences in AI
 
JiyongKim_HHMI report
JiyongKim_HHMI reportJiyongKim_HHMI report
JiyongKim_HHMI report
 
Creative Ant Farm project report (2002)
Creative Ant Farm project report (2002)Creative Ant Farm project report (2002)
Creative Ant Farm project report (2002)
 
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
 
Sample CS Senior Capstone Projects
Sample CS Senior Capstone ProjectsSample CS Senior Capstone Projects
Sample CS Senior Capstone Projects
 
Roehampton computing workshop 2
Roehampton computing workshop 2Roehampton computing workshop 2
Roehampton computing workshop 2
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
 
J query aosddemo_2004
J query aosddemo_2004J query aosddemo_2004
J query aosddemo_2004
 
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.pptOOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
 
Developing Projects & Research
Developing Projects & ResearchDeveloping Projects & Research
Developing Projects & Research
 
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxWeek 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
 
Daa final 2019 20
Daa final 2019 20Daa final 2019 20
Daa final 2019 20
 
A3 - AR Code Planetarium CST.pdf
A3 - AR Code Planetarium CST.pdfA3 - AR Code Planetarium CST.pdf
A3 - AR Code Planetarium CST.pdf
 
Oa 4 month exp
Oa 4 month expOa 4 month exp
Oa 4 month exp
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringSynergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software Engineering
 
Oose unit 3 ppt
Oose unit 3 pptOose unit 3 ppt
Oose unit 3 ppt
 
proposal
proposalproposal
proposal
 

Recently uploaded

Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 

Recently uploaded (20)

Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 

A Contextual Inquiry of Expert Programmers in an Event-Based Programming Enviroment

  • 1. A Contextual Inquiry of Expert Programmers in an Event-Based Programming Environment CHI’2003 - Andrew Jensen Ko / 맹욱재 x 2014 between spring and summer
  • 2. Author Andrew J. Ko Assistant Professor The Information School University of Washington USE research group Modern software = complex, difficult to use, understand, fix. USE research group invents technologies that help people understand and overcome this complexity, including new help systems for end users, new debugging tools for developers, and new educational technologies for people learning to program. Research interests : human-computer interaction, software engineering, computing education. https://faculty.washington.edu/ajko/
  • 3. Problem Event-based programming(E.B.P.) has been studied little in Android Programming Button a=(Button)findViewById(R.id.버튼아이디); a.setOnClickListener (new Button.OnClickListener(){ public void click(View v){ 클릭하면 실행할 이벤트 } }); http://daybrush.com/12217
  • 4. Phenomenon Around 2003, Studies suggest language paradigm(L.P.) can predict programming strategies & performance http://attractivechaos.github.io/plb/http://www.math-cs.gordon.edu/courses/cs323/LISP/lisp.html
  • 5. Solution Contextual Inquiry(C.I.) of 4 expert using Alice 3D programming environment(P.E.) To discover how E.B.P strategies might be supported in P.E.
  • 6. Result of C.I. Various programming, testing, debugging breakdowns were extracted. possible P.E. tools are suggested as aids to avoid these breakdowns.
  • 7. Event-based Programming(E.B.P.) E.B.P drive majority of a program’s runtime behavior. E.B.P is common in modern programming languages, Visual Basic, Java, Macromedia’s Director, Alice
  • 9. Alice Research prototype language provide event-based construct, U.I. for efficently creating highly interative enviroment programming languages Alice provides a limited object model, global event handlers, strictly enforced structured editor, preventing all syntax error.
  • 10. Method of C.I. To identify problems that programmers(PGMer) encounter when creating interative, event-based program. To asses the utility of C.I. for extracting design requirements for P.E.
  • 12. Background of C.I. Participating PGMers were enrolled in the “Building Virtual Worlds” course at C.M.U. Course require collaboration among PGMers, modelers, sound engineers, painters to create new interactice 3D world every two weeks using Alice.
  • 13. Overview of C.I. 4 expert programmers observed during the second half of the semester. After PGMer were experienced with Alice. the least PGMer 3 languages, 4 enviroments the best PGMer 6 languages, 8 enviroments
  • 14. Point of C.I. Experimenter met with each PGMer explained the focus of C.I. - to identify programming, testing, debugging difficulties using Alice. recorded observation on paper and video formed hypotheses about PGMer’s action in situ asked the PGMer if the hypothesis were correct
  • 15. Example of asking in C.I experimenter : “It looks like you’re trying to align these two objects.” PGMer : “Basically, I want them to be alligned on this axis, but I don’t care about the other two”
  • 16. Result and Discussion About 12 hours of observation over 12 sessions Each of the sessions was reviewed for breakdown scenarios(B.S.) - PGMer’s strategy was difficult to perform or unsuccessful. B.S. were consolidated into problem types.
  • 18. Problem type 1 - Programming Problem Bad code adaption in code recycling. => smart copy & paste mechanism needed automatically coerce params from method to method Bad supporting for tweaking existing code often revert to previous version of code to avoid undoing intermediary changes to unrelated code => multi-level intelligent undo keeping extensive modification history
  • 20. Problem type 2 - Testing Problem PGMer used visual cue a lot assigning the color of object for triggering => “watch this variable by mapping it’s value” visual cues : color, size, visibility Waiting too long animation for small modification => timeline visualization
  • 22. Problem type 3 - Debugging Problem Difficult debugging question including when “when was the last time this object moved?” => timeline visualization Difficult debugging question including why “why did this object move?” => show the code of problem common cause (resized to zero, moved out of view…)
  • 23. Future work further analysis of data from C.I. C.I with novice and expert new to Alice
  • 24. Learning From This Paper C.I. should be done during long period for capturing every phase of process Asking participant if the hypothesis is correct for unintrusive Breakdown Scenario will be the output of each C.I.
  • 25. Discussion Point 1. C.I. will be applied to User Reseach in TOBE project. Capturing user’s tacit knowledge(암묵지) will be difficult. Using prototyping engages lots of cognitive work. How can we capture the user’s intentions, difficulties using computer based tool?