1 end-user programming to support classroom activities on small devices craig prince university of...

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

Upload: hunter-bishop

Post on 26-Mar-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

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

1

End-User Programming to

Support Classroom Activities on Small

Devices

Craig PrinceUniversity of Washington

VL/HCC 2008

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

2

Classroom Presenter

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

3

Classroom Network

3

PublicDisplay

Instructor

Students

A

A

A B

B

D

C

Classroom Network

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

4

Example Activities

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

5

Ideal Classroom?

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

6

More than Tablets

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

7

Challenge for Teachers

How do you create activities for the classroom when every

device might have different input/output capabilities ?

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

8

Abstract Solution

Common Representation

Clustered Responses

Responses

Disambiguate

Cluster

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

9

Concrete Solution

1. Disambiguate• Step 1: Specify the activity• Step 2: Specify the semantics

2. Cluster• Step 3: Program Clustering

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

10

Step 1: Authoring the Activity

PPT = Familiar + Basic set of objectsExtend with Tagging

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

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

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

12

Example

Specification

3 Regions where:

• Area

• Position

• Annotation [Opt.]

Are Important

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

13

Example

Specification

3 Regions where:

• Area

• Position

• Annotation [Opt.]

Are Important

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

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

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

15

Language DetailsCanvas

Region

Blob

Add Up Leaf Node Values

Mark Leaf Nodes Switch

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

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 #

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

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

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

18

RegionsSpecial type of Blob

Purpose: Comment Code Encapsulate

Blobs are opaque functions, regions are not.

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

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

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

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+

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

21

Contact Information

Craig [email protected]

Classroom Presenterhttp://classroompresenter.cs.washington.edu

Prof. Richard Anderson [email protected]

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

22

Activities: Textual

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

23

Activities: Annotation

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

24

Activities: Identification

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

25

Activities: Diagrammatic