Event-based programming has been studied little, yet recent work suggests that language paradigm can predict programming strategies and performance. A contextual inquiry of four expert programmers using the Alice 3D programming environment was performed in order to discover how event-based programming strategies might be supported in programming environments. V arious programming, testing, and debugging breakdowns were extracted from observations and possible programming environment tools are suggested as aids to avoid these breakdowns. Future analyses and studies are described
Right Money Management App For Your Financial Goals
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…)
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?