Programming Theory

10 credits

Course, Master's level, 1DT034

Expand the information below to show details on how to apply and entry requirements.

Location
Uppsala
Pace of study
33%
Teaching form
On-campus
Instructional time
Daytime
Study period
1 September 2025–18 January 2026
Language of instruction
English
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.

Selection

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

Fees
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 and tuition fees.
  • First tuition fee instalment: SEK 24,167
  • Total tuition fee: SEK 24,167

Read more about fees.

Application deadline
15 April 2025
Application code
UU-11218

Admitted or on the waiting list?

Registration period
25 July 2025–7 September 2025
Information on registration from the department

Location
Uppsala
Pace of study
33%
Teaching form
On-campus
Instructional time
Daytime
Study period
1 September 2025–18 January 2026
Language of instruction
English
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.

Admitted or on the waiting list?

Registration period
25 July 2025–7 September 2025
Information on registration from the department

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 you 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.

FOLLOW UPPSALA UNIVERSITY ON

Uppsala University on Facebook
Uppsala University on Instagram
Uppsala University on Youtube
Uppsala University on Linkedin