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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Recommend
More recommend