Programming Theory, 10 credits

Academic year 2023/2024

  • Autumn 2023, 33%, Campus

    Start date: 28 August 2023

    End date: 14 January 2024

    Application deadline: 17 April 2023

    Application code: UU-11218 Application

    Language of instruction: English

    Location: Uppsala

    Selection: Higher education credits in science and engineering (maximum 240 credits)

    Registration: 28 July 2023 – 4 September 2023

Entry requirements: 120 credits with 30 credits in mathematics and 30 credits in computer science, including basic programming, data structures, and elementary logic. Proficiency in English equivalent to the Swedish upper secondary course English 6.


If you are not a citizen of a European Union (EU) or European Economic Area (EEA) country, or Switzerland, you are required to pay application or tuition fees. Formal exchange students will be exempted from tuition fees, as well as the application fee. Read more about fees.

Application fee: SEK 900

Tuition fee, first semester: SEK 24,167

Tuition fee, total: SEK 24,167

About the course

The course introduces the basic principles of program analysis, verification, and the connection between mathematics and programming. The topics include propositional logic, predicate logic, equational reasoning, formal methods, formal specification languages, program verification, weakest preconditions, invariants, partial correctness, termination, total correctness, and program synthesis. The course also includes a lab package based on the Spec# which is a formal language which extends C\# with constructs such as preconditions, postconditions, and object invariants.

The lab exercises offer the students the opportunity to apply the theoretical contents of the course and use the tool to carry out verification of several examples ranging from relatively simple to quite involved programs.

More information


Department of Information Technology

hus 10, Lägerhyddsvägen 1

Box 337, 751 05 UPPSALA


Student counsellor