ITU
Spring ned til sidens indhold
IT-Universitetet i København - Logo
  • Uddannelser
  • Efteruddannelser
  • Forskning
  • Innovation & Samarbejde
  • Om ITU
  • Forskningsentre, hubs og labs
    • Centre for Digital Play
    • Centre for Climate IT
    • Center for Computing Education Research
    • Centre for Digital Welfare
    • Centre for Information Security and Trust
    • Danish Institute for IT Program Management
    • Maritime Hub
    • Labs
  • Sektioner og forskningsgrupper
    • Data Science
    • Data, Systems and Robotics
    • Digital Business Innovation
    • Digitalization Democracy and Governance
    • Human-Computer Interaction and Design
    • Play Culture and AI
    • Software Engineering
    • Technologies in Practice
    • Theoretical Computer Science
    • Forskningsgrupper
    • Sektioner
  • Forskningsresourcer
    • ITU Research Portal
    • Find forsker
    • Forskningsetik og -integritet
    • God forskningspraksis
    • Tekniske rapporter
    • Statement on Academic Freedom
  • Ph.d.-skole
    • Om ph.d.-uddannelsen
    • Ph.d.-kurser
    • Ph.d.-Stillinger
    • Ph.d.-forsvar
    • Typer af Ph.d.-optagelse
    • Optagelseskrav til phd uddannelsen
    • Ph.d.-håndbogen
    • Ph.d.-support
Search
  • Dansk
  • Engelsk

ITU

Forside

ITU / Uddannelser

Uddannelser

ITU / Efteruddannelser

Efteruddannelser

ITU / Forskning

Forskning

ITU / Innovation & Samarbejde

Innovation & Samarbejde

ITU / Om ITU

Om ITU

ITU / Uddannelser / Bacheloruddannelser

Bacheloruddannelser

ITU / Uddannelser / Kandidatuddannelser

Kandidatuddannelser

ITU / Uddannelser / Studieliv

Studieliv

ITU / Uddannelser / Job

Job

ITU / Uddannelser / Besøg os

Besøg os

ITU / Efteruddannelser / Master i it-ledelse

Master i it-ledelse

ITU / Efteruddannelser / Masterkurser

Masterkurser

ITU / Efteruddannelser / Korte kurser

Korte kurser

ITU / Efteruddannelser / Enkeltfag

Enkeltfag

ITU / Efteruddannelser / ITU INSPIRE

ITU INSPIRE

ITU / Forskning / Research centers

Research centers

ITU / Forskning / Sections and research groups

Sections and research groups

ITU / Forskning / PhD Programme

PhD Programme

ITU / Innovation & Samarbejde / Samarbejde med studerende

Samarbejde med studerende

ITU / Innovation & Samarbejde / Employer Branding

Employer Branding

ITU / Innovation & Samarbejde / Forskningsinnovation

Forskningsinnovation

ITU / Innovation & Samarbejde / Studenterentreprenørskab

Studenterentreprenørskab

ITU / Om ITU / Organisation

Organisation

ITU / Om ITU / Værdier, strategi og grundprincipper

Værdier, strategi og grundprincipper

ITU / Om ITU / Tal og fakta

Tal og fakta

ITU / Om ITU / Presse

Presse

ITU / Om ITU / Stillinger

Stillinger
  • Uddannelser
  • Efteruddannelser
  • Forskning
  • Innovation & Samarbejde
  • Om ITU
  • Bachelor
  • Kandidat
  • Studieliv
  • Job
  • Besøg os
  • Master i it-ledelse
  • Masterkurser
  • Korte kurser
  • Enkeltfag
  • ITU Inspire
  • Forskningsentre, hubs og labs
  • Sektioner og forskningsgrupper
  • Forskningsresourcer
  • Ph.d.-skole
  • Samarbejde med studerende
  • Employer branding
  • Forskningsinnovation
  • Studenterentreprenørskab
  • Organisation
  • Værdier, strategi og grundprincipper
  • Tal og fakta
  • Presse og nyheder
  • Stillinger
  • BSc i Data Science
  • BSc i Digital Design og Interaktive Teknologier
  • BSc i Global Business Informatics
  • BSc i Softwareudvikling
  • Udveksling
  • Gæstestuderende
  • ITU Summer University
  • Sådan søger du ind
  • Frister og vigtige datoer
  • MSc i Advanced Software Engineering
  • MSc i Business Analytics & Artificial Intelligence
  • MSc i Datalogi
  • MSc i Data Science
  • MSc i Digital Design og Interaktive Teknologier
  • MSc i Digital Innovation & Management
  • MSc i Softwaredesign
  • MSc i Spil
  • Udveksling
  • Gæstestuderende
  • ITU Summer University
  • Sådan søger du ind
  • Frister og vigtige datoer
  • Hvordan er det at gå på ITU?
  • Spørg en studerende
  • Campus
  • Studiestart
  • Studenterorganisationer
  • SPS (specialpædagogisk støtte)
  • Studie- og karrierevejledning
  • Muligheder med en IT-uddannelse
  • Innovation og iværksætteri
  • Kvinder i tech
  • Åbent hus
  • Studerende for en dag
  • Studiepraktik
  • Coding Café for kvinder
  • IT-Camp for kvinder
  • Tilbud til gymnasielærere
  • Centre for Digital Play
  • Centre for Climate IT
  • Center for Computing Education Research
  • Centre for Digital Welfare
  • Centre for Information Security and Trust
  • Danish Institute for IT Program Management
  • Maritime Hub
  • Labs
  • Data Science
  • Data, Systems and Robotics
  • Digital Business Innovation
  • Digitalization Democracy and Governance
  • Human-Computer Interaction and Design
  • Play Culture and AI
  • Software Engineering
  • Technologies in Practice
  • Theoretical Computer Science
  • Forskningsgrupper
  • Sektioner
  • ITU Research Portal
  • Find forsker
  • Forskningsetik og -integritet
  • God forskningspraksis
  • Tekniske rapporter
  • Statement on Academic Freedom
  • Om ph.d.-uddannelsen
  • Ph.d.-kurser
  • Ph.d.-Stillinger
  • Ph.d.-forsvar
  • Typer af Ph.d.-optagelse
  • Optagelseskrav til phd uddannelsen
  • Ph.d.-håndbogen
  • Ph.d.-support
  • Projektsamarbejde
  • Projektmarked
  • Projektopslag
  • Lav opslag i Jobbanken
  • IT Match Making
  • Sådan ansætter du en ITU'er
  • Lav opslag i Jobbanken
  • Ansæt en ErhvervsPhD
  • ITU NextGen
  • ITU Business Development
  • Organisationsdiagram
  • Bestyrelsen
  • Direktionen
  • Aftagerpaneler
  • Sektioner
  • Diversitet, ligestilling og inklusion
  • ITU Flagships
  • Pædagogiske principper
  • Nøgletal
  • Gennemsigtighed og åbenhed
  • Kvalitet og studiemiljø
  • Årsrapporter
  • Strategiske rammekontrakter
  • IT-Universitetets vedtægter
  • IT-Universitetets historie
  • Kapitalforvaltning
  • Tilskud
  • Energimærkning
  • Nyheder
  • Pressekontakt
  • Pressebilleder
  • Find en forsker
  • Filme og fotografere på ITU
  • Logoer
  • Tilmeld jobagent
  • Testpolitik
  • Kompetenceprofiler
Courses
ITU  /  Forskning  /  PhD Programme  /  Courses  /  2026  /  January  /  Program Verification

Program Verification

Organizer(s) and Lecturer(s)
Jesper Bengtson (Associate Professor, course lead),
Willard Rafnsson (Assistant Professor)

Course advertisement
Course: Program Verification BSc and MSc (Spring 2025) | learnIT

Dates of the course

January 31st - June 30th, 2026

Time
12-14 (lectures) 7 (assignments) 1 (project)

Room
2A52

Course description
This is a hands-on course that teaches you how to prove that programs are correct. You will get in-depth experience with tools for this task, as well as an understanding of the theory behind them. This course thus equips you to pursue a career in writing safety-critical systems, or in pursuing higher studies in this area.

You will predominately be working with the Rocq interactive proof assistant, which is a tool used for both mechanizing proofs in mathematics and proving programs correct.

The course culminates with a one-month project. As a PhD student you are expected to find a piece of software or a theorem that ties into your thesis work to a significant degree and that you want to prove correct using Rocq. Ideally this project should lay the foundations for a publication.

Intended Learning Outcomes

  • Characterise recent developments in programming languages and verification technology
  • Create programs and their specifications using Rocq
  • Create models of concepts relevant to your thesis work and prove properties about them
  • Construct interactive proofs in Rocq
  • Compare models of programs with their real-life counterparts
  • Assess accuracy of models and make precise what impact any imprecisions have on any proofs made
  • Apply and reflect on theories for modelling, analyzing and constructing programs, specifications, and their proofs of correctness


Reading list
Software Foundations Volume 1, Chapters Logical Foundations (Benjamin C. Pierce et al.)
HYPERLINK "https://softwarefoundations.cis.upenn.edu/lf-current/index.html" https://softwarefoundations.cis.upenn.edu/lf-current/index.html

Software Foundations Volume 3, Verified Functional Algorithms (Andrew W. Appel)
HYPERLINK "https://softwarefoundations.cis.upenn.edu/vfa-current/index.html" https://softwarefoundations.cis.upenn.edu/vfa-current/index.html

Programme:
This course is offered to regular students, and to PhD students. This is the fifth time this course has its own elective but I have taught it for the past ten years as part of other courses, and frequently for PhD students from all over Denmark.

Regardless of student level this is a difficult course with a heavy focus on logics and mathematics. It is not likely that students have come across large parts of the curriculum or the Rocq proof assistant before, so joint lectures make sense. The level of the mathematics required depends heavily on what parts of your thesis work you want to prove properties about. The weekly exercises in the reading material are substantial and can be trimmed to fit the level of the student.

The level of the course largely depends on the application of the curriculum and the tools we use. PhD students will leverage their previous degrees to formalise more advanced mathematics, and prove correctness of more complicated programs, than the other students. For PhD students this means in practice that:

They are not allowed to work in groups for the weekly assignment
The weekly assignments are larger and cover a wider curriculum than for the other students in order to
prepare them for more advanced projects. Their project must be relevant to their research. This means that, unless the students happen to work in the same research group, the projects must be individual. Regardless, the scope of the project scales with the number of participants. 

Project submission deadlines: 
We appreciate that PhD students have a demanding schedule with deadlines other than the ones imposed by this course. We are flexible with submissions, but ideally we want the students to hand in before June.

Prerequisites
Functional Programming
Discrete Mathematics
Algorithms and Data Structures

Exam
Project connected to their PhD thesis (most likely individual unless students come from the same research group)

Credits
7.5 ECTS (pass/fail)

Most of this course is project work and weekly submissions. By increasing their difficulty considerably,
we have effectively increased the difficulty of the course as a whole, to fit the level of a PhD course.

Amount of hours the student is expected to use on the course
Preparation for lectures: 10h
Lectures: 20h
Exercise sessions: 20h
Weekly Exercises (outside exercise sessions): 54h
Main Project: 100h

How to sign up
Please write an email to Jesper Bengtson at 
jebe@itu.dk.

IT-Universitetet i København - Logo

Kontakt os

IT-Universitetet i København
Rued Langgaards Vej 7
2300 København S
Danmark

Telefon: +45 7218 5000
E-mail: itu@itu.dk
Alle kontaktoplysninger
Find vej
Bygningens tilgængelighed

Aktuelt

Nyheder
Stillinger
Events

Genveje

IT-biblioteket
ITU Student
ITU Alumni
Til censorer
Presse

Fakturering

CVR-nr. 29 05 77 53
P-nummer: 1005162959
EAN-nr. 5798000417878
Send faktura

Web

Tilgængelighedserklæring
Privatlivspolitik

ITU på Instagram ITU på Facebook ITU på Linkedin ITU på Youtube ITU på Bluesky

Denne side er udskrevet fra https://en.itu.dk/About-ITU/Press/News-from-ITU/2026/ERC-Grant-to-bring-self-healing-AI-hardware-into-space