Learn OCaml is a reference online platform interactively supporting learning OCaml. The platform runs the OCaml MOOC and is used by several courses on Functional Programming. The key aspect of the platform is grading.
For couses on Formal Languages and Automata Theory (FLAT) no such platform exists. Many web-based and desktop applications are available, but they do not combine the interactive and graphical aspects with the grading facilities and class management. Moreover, only a few use a functional language although such languages provide code that follows closely to the mathematical definitions.
What we aim at is an interactive and graphical platform supporting grading and feedback illustations of the algorithms exercises.
The aim of this project is the integration with Learn-OCaml of our platform on Animated Automata and Languages (OFLAT). Our platform benefits from the infrastructure of Learn-OCaml, which in turn benefits with new topics and their treatment with OCaml in an interactive and visual platform.
This integration exercise will serve as a proof-of-concept of how to provide more material and content to Learn-OCaml, namely on animation and visualisation features. The code instrumentation required to support step-by-step execution, as well as the solutions to link with external libraries, would be knowledge useful to the community. Moreover, a library of functions implementing classical notions and algorithms of FLAT could also strengthen the reputation of OCaml as a language to teach foundational notions of Computer Science.
Funded by INRIA Foundation. Activities developed in the NOVA Laboratory for Computer Science and Informatics at DI/FCT/UNL & The ReleaseLab at DI/UBI.