The computer modelling of mathematical reasoning
The computer modelling of mathematical reasoning
Communicating sequential processes
Communicating sequential processes
An introduction to the theory of lists
Proceedings of the NATO Advanced Study Institute on Logic of programming and calculi of discrete design
Programming from specifications
Programming from specifications
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
How to design programs: an introduction to programming and computing
How to design programs: an introduction to programming and computing
Introduction to Process Algebra
Introduction to Process Algebra
Proceedings of the ESPRIT Working Group 8533 on Prospects for Hardware Foundations: NADA - New Hardware Design Methods, Survey Chapters
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Deterministic, Error-Correcting Combinator Parsers
Advanced Functional Programming, Second International School-Tutorial Text
Transformation-Based Diagnosis of Student Programs for Programming Tutoring Systems
IEEE Transactions on Software Engineering
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Journal of Functional Programming
Computer Science Education Research
Computer Science Education Research
Guided programming and automated error analysis in an intelligent Prolog tutor
International Journal of Human-Computer Studies
Specifying Strategies for Exercises
Proceedings of the 9th AISC international conference, the 15th Calculemas symposium, and the 7th international MKM conference on Intelligent Computer Mathematics
The Andes Physics Tutoring System: Lessons Learned
International Journal of Artificial Intelligence in Education
The Behavior of Tutoring Systems
International Journal of Artificial Intelligence in Education
Canonical Forms in Interactive Exercise Assistants
Calculemus '09/MKM '09 Proceedings of the 16th Symposium, 8th International Conference. Held as Part of CICM '09 on Intelligent Computer Mathematics
Combinator Parsing: A Short Tutorial
Language Engineering and Rigorous Software Development
Using strategies for assessment of programming exercises
Proceedings of the 41st ACM technical symposium on Computer science education
Adapting mathematical domain reasoners
AISC'10/MKM'10/Calculemus'10 Proceedings of the 10th ASIC and 9th MKM international conference, and 17th Calculemus conference on Intelligent computer mathematics
MKM'11 Proceedings of the 18th Calculemus and 10th international conference on Intelligent computer mathematics
An interactive functional programming tutor
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Ask-Elle: a haskell tutor demonstration
EC-TEL'12 Proceedings of the 7th European conference on Technology Enhanced Learning
Hi-index | 0.00 |
In these lectures we will introduce an interactive system that supports writing simple functional programs. Using this system, students learning functional programming: develop their programs incrementally, receive feedback about whether or not they are on the right track, can ask for a hint when they are stuck, see how a complete program is stepwise constructed, get suggestions about how to refactor their program. The system itself is implemented as a functional program, and uses fundamental concepts such as rewriting, parsing, strategies, program transformations and higher-order combinators such as the fold. We will introduce these concepts, and show how they are used in the implementation of the interactive functional programming tutor.