What Do CS1 Syllabi Reveal About Our Expectations of Introductory Programming Students?

University of Oxford - Functional Programming

Country: England
University: University of Oxford
Course code:
Course title: Functional Programming
Date of Syllabus:
Source: Manual search
Associated Degrees: Computer Science
Prerequisits: No
Course for Majors:
Course stage:
Semester:
Programming language: Haskell
Language of Instruction: English
URL: https://www.cs.ox.ac.uk/teaching/courses/fp/
Explicit or !Explicit LOs: Explicit
Learning Outcomes:

Write programs in a functional style

Reason formally about functional programs

Use polymorphism and higher-order functions

Reason about the time and space complexity of programs

Types and strong-typing. Basic types: Booleans and truth values. Simple programs involving pattern matching. Polymorphism and type classes. More types: characters, strings, tuples. Type synonyms

Lists and their operations; list comprehensions. The functions map, foldl, foldr, concat and filter. Many small examples illustrating the use of these functions in a compositional style of programming.

Recursion and induction. The algebraic properties of list functions and their proof by equational reasoning. Simple manipulation of programs to achieve efficiency

LO categories:

Writing programs

Polymorphism

Arrays, Lists, dictionaries, vectors, sets

Strings

Variables, assignment, arithmetic expressions, declarations, data types

Recursion

Induction