A tool for learning the -calculus Edmund Horner - - PowerPoint PPT Presentation

a tool for learning the calculus
SMART_READER_LITE
LIVE PREVIEW

A tool for learning the -calculus Edmund Horner - - PowerPoint PPT Presentation

Introduction The -Calculus Explorer Summary A tool for learning the -calculus Edmund Horner edmund@mcs.vuw.ac.nz Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the -calculus Introduction The -Calculus Explorer Summary


slide-1
SLIDE 1

Introduction The λ-Calculus Explorer Summary

A tool for learning the λ-calculus

Edmund Horner edmund@mcs.vuw.ac.nz

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-2
SLIDE 2

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Contributions

The λ-Calculus Explorer: is a web-based e-learning tool supports learning the λ-calculus does β-reductions automatically to let students focus on more important concepts was designed, implemented and evaluated.

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-3
SLIDE 3

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

The λ-calculus

The λ-calculus is: a fundamental theory of programming languages a primitive notation for functions (and nothing but functions) a clean model of how functions work in programming languages Hence it is useful, but it’s tricky to learn: very low level lots of syntax lots of mechanical term manipulation

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-4
SLIDE 4

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Example

Part of a typical λ-calculus exercise (show how to extract the first item from a pair): (λ p . p (λ x y. x))((λ a b z . z a b) u v)

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-5
SLIDE 5

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Example

Part of a typical λ-calculus exercise (show how to extract the first item from a pair): (λ p . p (λ x y. x))((λ a b z . z a b) u v) →β (λ a b z . z a b) u v (λ x y . x)

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-6
SLIDE 6

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Example

Part of a typical λ-calculus exercise (show how to extract the first item from a pair): (λ p . p (λ x y. x))((λ a b z . z a b) u v) →β (λ a b z . z a b) u v (λ x y . x) →β (λ b z . z u b) v (λ x y . x)

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-7
SLIDE 7

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Example

Part of a typical λ-calculus exercise (show how to extract the first item from a pair): (λ p . p (λ x y. x))((λ a b z . z a b) u v) →β (λ a b z . z a b) u v (λ x y . x) →β (λ b z . z u b) v (λ x y . x) →β (λ z . z u v)(λ x y . x)

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-8
SLIDE 8

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Example

Part of a typical λ-calculus exercise (show how to extract the first item from a pair): (λ p . p (λ x y. x))((λ a b z . z a b) u v) →β (λ a b z . z a b) u v (λ x y . x) →β (λ b z . z u b) v (λ x y . x) →β (λ z . z u v)(λ x y . x) →β (λ x y . x) u v

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-9
SLIDE 9

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Example

Part of a typical λ-calculus exercise (show how to extract the first item from a pair): (λ p . p (λ x y. x))((λ a b z . z a b) u v) →β (λ a b z . z a b) u v (λ x y . x) →β (λ b z . z u b) v (λ x y . x) →β (λ z . z u v)(λ x y . x) →β (λ x y . x) u v →β (λ y . u) v

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-10
SLIDE 10

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

Example

Part of a typical λ-calculus exercise (show how to extract the first item from a pair): (λ p . p (λ x y. x))((λ a b z . z a b) u v) →β (λ a b z . z a b) u v (λ x y . x) →β (λ b z . z u b) v (λ x y . x) →β (λ z . z u v)(λ x y . x) →β (λ x y . x) u v →β (λ y . u) v →β u Eek!

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-11
SLIDE 11

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

What’s the problem?

The process of β-reduction gets in the way of students learning the important bits. It’s tedious and error-prone But important concepts are built on top of it. Want a computer-based system that will aid learning, not replace it.

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-12
SLIDE 12

Introduction The λ-Calculus Explorer Summary Contributions The λ-calculus Learning it

What’s the solution?

The teaching and learning literature tells us about: levels of understanding when studying a subject a learning cycle that learners go through: Experience → Reflection → Abstraction → Testing → ... This project focuses on learning at the application level: using knowledge in new and concrete situations. It means entering the cycle at the experience stage.

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-13
SLIDE 13

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

The λ-Calculus Explorer

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-14
SLIDE 14

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Example, revisited

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-15
SLIDE 15

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Example, revisited

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-16
SLIDE 16

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Example, revisited

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-17
SLIDE 17

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Example, revisited

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-18
SLIDE 18

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Example, revisited

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-19
SLIDE 19

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Example, revisited

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-20
SLIDE 20

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Example, revisited

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-21
SLIDE 21

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Implementation

Implemented using JavaScript and PHP .

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-22
SLIDE 22

Introduction The λ-Calculus Explorer Summary Design In action Implementation Evaluation

Evaluation

Pilot experiment to assess it as a learning tool: Six volunteers completed worksheets using the λ-Calculus Explorer. Results: General reaction was positive But there were some limitations with the representation of data types.

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus

slide-23
SLIDE 23

Introduction The λ-Calculus Explorer Summary Summary

Summary

The λ-Calculus Explorer: is a web-based e-learning tool supports learning the λ-calculus does β-reductions automatically to let students focus on more important concepts was designed, implemented and evaluated and is now online at: http://www.mcs.vuw.ac.nz/~edmund/lambda

Edmund Horner edmund@mcs.vuw.ac.nz A tool for learning the λ-calculus