ICFP 2022
Sun 11 - Fri 16 September 2022 Ljubljana, Slovenia
Fri 16 Sep 2022 09:00 - 10:00 at E3 - Session 1 Chair(s): Andy Keep

One of the aims of a Computer Science education is to teach students how to express solutions to problems in the form of a program. That is, designing solutions to problems and expressing these solutions using a given syntax. To become well-trained in programming students must learn at the very least about abstraction, modularity, iterative refinement, writing documentation, writing tests, efficiency and complexity, empirical experimentation, recursion, looping structures, and mutation. Given the current state of computation in society it is highly desirable to have students learn about modern programming trends such as distributed programming. There is no doubt that instructors have a myriad of programming languages available to teach students about these topics. This talk argues that it is easier and more efficient to do so using a functional programming language and that educating students in all these topics can start with beginners in their first Computer Science course. It discusses a curriculum for first-year students and how the foundation students receive ought and can be propagated vertically in the Computer Science curriculum even to traditionally theoretical courses like formal languages and automata theory.

Fri 16 Sep

Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change

09:00 - 10:30
Session 1Scheme at E3
Chair(s): Andy Keep Meta Reality Labs Research
Why Functional Programming Matters in CS Education
Scheme Pearl: Quantum Continuations
Borislav Agapiev YottaAnswers.com, Vikraman Choudhury University of Glasgow, Amr Sabry Indiana University