TIES341 Functional Problemming (3–5 cr)

Study level:
Advanced studies
Grading scale:
0-5
Language:
Finnish
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2024-2025, 2025-2026, 2026-2027, 2027-2028

Tweet text

More detailed and current information can be found in the information of the realisation.

Description

This course covers the connections between functional programming and proof theory, including proof structures: definitions, examples, lemmas, facts, remarks, corollaries, propositions and properties; proofs: by simplification, by rewriting, by case analysis and by induction; proof styles: informal and formal; data structures: pairs, lists and finite maps; tactics: programs that search programs and proofs; logic: classical and constructive; and extraction: proofs as mathematical objects and compiling proofs into programs.

Learning outcomes

On this course, we will study what typed (that is, statically typed) functional programming looks like and what it is good for. The goal of this course is not to make you into a top notch application developer, but rather to give you deeper insights into the basic elements of programming and to build you a sufficient foundation for later exploring formal proving without tears. On the side, this course also offers you an excellent excuse to try out new tools and ways of working.

Description of prerequisites

This course does not have absolute prerequisites in the form of other courses. However, participants are expected to have basic computer skills, familiarity with functional programming, a reasonable level of mathematical maturity and a healthy attitude towards work. Mathematical maturity does not only make the course possible to complete, but also helps make connections with topics that are covered in greater depth on other courses.

Completion methods

Method 1

Select all marked parts
Parts of the completion methods
x

Participation in teaching (3–5 cr)

Type:
Participation in teaching
Grading scale:
0-5
Language:
Finnish
No published teaching