Why Functional Programming Matters in CS Education
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 SepDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
09:00 - 10:30 | |||
09:00 60mKeynote | Why Functional Programming Matters in CS Education Scheme | ||
10:00 30mFull-paper | Scheme Pearl: Quantum Continuations Scheme Borislav Agapiev YottaAnswers.com, Vikraman Choudhury University of Glasgow, Amr Sabry Indiana University Pre-print |