1
End-User Programming to
Support Classroom Activities on Small
Devices
Craig PrinceUniversity of Washington
VL/HCC 2008
2
Classroom Presenter
3
Classroom Network
3
PublicDisplay
Instructor
Students
A
A
A B
B
D
C
Classroom Network
4
Example Activities
5
Ideal Classroom?
6
More than Tablets
7
Challenge for Teachers
How do you create activities for the classroom when every
device might have different input/output capabilities ?
8
Abstract Solution
Common Representation
Clustered Responses
Responses
Disambiguate
Cluster
9
Concrete Solution
1. Disambiguate• Step 1: Specify the activity• Step 2: Specify the semantics
2. Cluster• Step 3: Program Clustering
10
Step 1: Authoring the Activity
PPT = Familiar + Basic set of objectsExtend with Tagging
11
Step 2: Activity Semantics
Abstract
Responses
Schema for what valid responses look like!
Relations
-Count
-Location
-Layout
Objects
-User/Background
-Scale
-Text/ShapeSchematized
Responses
12
Example
Specification
3 Regions where:
• Area
• Position
• Annotation [Opt.]
Are Important
13
Example
Specification
3 Regions where:
• Area
• Position
• Annotation [Opt.]
Are Important
14
Step 3: Interpret Responses
Use a visual language Easier to debug/understand Not trying to be Turing Complete Goal to end with similar results clustered
15
Language DetailsCanvas
Region
Blob
Add Up Leaf Node Values
Mark Leaf Nodes Switch
16
Responses (Data)What:Objects and Relations specified in Steps 1&2Plus Tag value Pairs
Output:Cluster Independently: Classification=???
-or-Similarity Metric: Slide A + B similarity #
17
BlobsPrimitive Operations:
• Conditionals: if, switch• Iteration: while, for, goto• Comparison: <, ==, >, !=• Boolean: and, or, xor• Tag Assignment• Other: sum, count
High Level Operations:• Graph operations: isomorphism• Text operations: search, synonyms, stemming• Machine learning
18
RegionsSpecial type of Blob
Purpose: Comment Code Encapsulate
Blobs are opaque functions, regions are not.
19
Important Goals Transparent
Should be able to see the path a response took and ask why
Shareable
Others should be able to reuse and modify the templates
Add Up Leaf Node Values
Mark Leaf Nodes
Switch
20
Evaluation Iterative Design
Teachers are our target audience Lab Tests
Time to develop clustering Effectiveness of clustering Surveys
Real Deployments First, 2 device environments Then 2+
21
Contact Information
Craig [email protected]
Classroom Presenterhttp://classroompresenter.cs.washington.edu
Prof. Richard Anderson [email protected]
22
Activities: Textual
23
Activities: Annotation
24
Activities: Identification
25
Activities: Diagrammatic