# 1 End-User Programming to Support Classroom Activities on Small Devices Craig Prince University of Washington VL/HCC 2008.

## Presentation on theme: "1 End-User Programming to Support Classroom Activities on Small Devices Craig Prince University of Washington VL/HCC 2008."— Presentation transcript:

1 End-User Programming to Support Classroom Activities on Small Devices Craig Prince University of Washington VL/HCC 2008

2 Classroom Presenter

3 Classroom Network 3 Public Display 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 objects Extend 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/Shape Schematized 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 Details Canvas Region Blob Add Up Leaf Node Values Mark Leaf NodesSwitch

16 Responses (Data) What: Objects and Relations specified in Steps 1&2 Plus Tag value Pairs Output: Cluster Independently: Classification=??? -or- Similarity Metric: Slide A + B similarity #

17 Blobs Primitive 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 Regions Special 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 Prince cmprince@cs.washington.edu Classroom Presenter http://classroompresenter.cs.washington.edu Prof. Richard Anderson anderson@cs.washington.edu

22 Activities: Textual

23 Activities: Annotation

24 Activities: Identification

25 Activities: Diagrammatic

Similar presentations