WeScheme and the Amazing Technicolor Structures, Part 2 Danny Yoo - - PowerPoint PPT Presentation

wescheme and the amazing technicolor structures part 2
SMART_READER_LITE
LIVE PREVIEW

WeScheme and the Amazing Technicolor Structures, Part 2 Danny Yoo - - PowerPoint PPT Presentation

WeScheme and the Amazing Technicolor Structures, Part 2 Danny Yoo (dyoo@hashcollision.org) Sunday, October 28, 12 Colored errors in WeScheme Sunday, October 28, 12 Purpose statement Sunday, October 28, 12 Purpose statement Students


slide-1
SLIDE 1

WeScheme and the Amazing Technicolor Structures, Part 2

Danny Yoo (dyoo@hashcollision.org)

Sunday, October 28, 12

slide-2
SLIDE 2

Colored errors in WeScheme

Sunday, October 28, 12

slide-3
SLIDE 3

Purpose statement

Sunday, October 28, 12

slide-4
SLIDE 4

Purpose statement

  • Students don’t understand error message

vocabulary [Marceau et al, 2011]

Sunday, October 28, 12

slide-5
SLIDE 5

Purpose statement

  • Students don’t understand error message

vocabulary [Marceau et al, 2011]

  • We can teach vocabulary through pointing

Sunday, October 28, 12

slide-6
SLIDE 6

Purpose statement

  • Students don’t understand error message

vocabulary [Marceau et al, 2011]

  • We can teach vocabulary through pointing
  • Change error messages from flat strings to

structures, to use colors for nouns with corresponding highlight on original source

Sunday, October 28, 12

slide-7
SLIDE 7

Examples

Sunday, October 28, 12

slide-8
SLIDE 8

Examples

Sunday, October 28, 12

slide-9
SLIDE 9

Examples

Sunday, October 28, 12

slide-10
SLIDE 10

Examples

Use color to point between the error message text and the source

Sunday, October 28, 12

slide-11
SLIDE 11

Data type definition

An ErrorMessage is a list of:

Sunday, October 28, 12

slide-12
SLIDE 12

Data type definition

An ErrorMessage is a list of:

★String

Sunday, October 28, 12

slide-13
SLIDE 13

Data type definition

An ErrorMessage is a list of:

★String ★ColoredPart(String text, List<Position> places)

Sunday, October 28, 12

slide-14
SLIDE 14

Data type definition

An ErrorMessage is a list of:

★String ★ColoredPart(String text, List<Position> places) ★GradientPart(List<ColoredPart> parts)

Sunday, October 28, 12

slide-15
SLIDE 15

Data type definition

An ErrorMessage is a list of:

★String ★ColoredPart(String text, List<Position> places) ★GradientPart(List<ColoredPart> parts)

So all we need to do is change the WeScheme compiler and runtime accordingly

Sunday, October 28, 12

slide-16
SLIDE 16

Coding

Sunday, October 28, 12

slide-17
SLIDE 17

Compile-time error messages:

Coding

Sunday, October 28, 12

slide-18
SLIDE 18

Compile-time error messages:

Coding

(error ‘compiler “...”)

Sunday, October 28, 12

slide-19
SLIDE 19

Compile-time error messages:

Coding

(error ‘compiler (list ... (make-ColoredPart ...)))

Sunday, October 28, 12

slide-20
SLIDE 20

Compile-time error messages:

Coding

Function Application:

(error ‘compiler (list ... (make-ColoredPart ...)))

Sunday, October 28, 12

slide-21
SLIDE 21

Compile-time error messages:

Coding

(f x y z)

Function Application:

(error ‘compiler (list ... (make-ColoredPart ...)))

Sunday, October 28, 12

slide-22
SLIDE 22

Compile-time error messages:

Coding

(with-continuation-marks ([app-locations ...]) (f x y z))

Function Application:

(error ‘compiler (list ... (make-ColoredPart ...)))

Sunday, October 28, 12

slide-23
SLIDE 23

Demo

Sunday, October 28, 12

slide-24
SLIDE 24

TODO/FIXME

  • Iterate the design
  • Handle higher-order functions
  • Most importantly: measure the effect of

these interfaces on real people!

Sunday, October 28, 12

slide-25
SLIDE 25

Code

  • http://github.com/dyoo/WeScheme
  • https://github.com/bootstrapworld/

wescheme-compiler2012

Sunday, October 28, 12

slide-26
SLIDE 26

Some lessons

Sunday, October 28, 12

slide-27
SLIDE 27

Some lessons

  • Structures, structures, structures

Sunday, October 28, 12

slide-28
SLIDE 28

Some lessons

  • Structures, structures, structures
  • Don’t ever underestimate undergrads

trained in HTDP

Sunday, October 28, 12

slide-29
SLIDE 29

Some lessons

  • Structures, structures, structures
  • Don’t ever underestimate undergrads

trained in HTDP

  • ... but also respect the power of the

Olympics to distract those undergrads

Sunday, October 28, 12

slide-30
SLIDE 30

Thanks to

  • Daniel Kocoj
  • Katherine Ng
  • Michael Rowland
  • Jonah Stanley
  • Andrew Tian
  • Winnie Wang
  • Miles Eldon
  • Special thanks to:
  • Emmanuel Schanzer
  • Kathi Fisler
  • Shriram Krisnamurthi

Sunday, October 28, 12