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

Preview:

DESCRIPTION

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

Citation preview

A Contextual Inquiry of Expert Programmers in an Event-Based Programming EnvironmentCHI’2003 - Andrew Jensen Ko/ 맹욱재x 2014 between spring and summer

AuthorAndrew J. Ko

Assistant ProfessorThe Information SchoolUniversity 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 ProgrammingButton 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

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 worldevery 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 enviromentsthe best PGMer 6 languages, 8 enviroments

Point of C.I.

Experimenter met with each PGMerexplained 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 codeoften revert to previous version of codeto avoid undoing intermediary changes to unrelated code=> multi-level intelligent undo keeping extensive modification history

Problem type 2 - Testing Problem

PGMer used visual cue a lotassigning the color of object for triggering=> “watch this variable by mapping it’s value”

visual cues : color, size, visibilityWaiting too long animation for small modification=> timeline visualization

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 problemcommon 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 periodfor capturing every phase of process

Asking participant if the hypothesis is correctfor 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?