Dynamic Programming - Theory, Computation, and Empirical Applications

Course content

The overall purpose of the course is to provide a fundamental understanding of dynamic programming (DP) models and their empirical application. The dynamic programming framework has been extensively used in economic modeling because it is sufficiently rich to model almost any problem involving sequential decision making over time and under uncertainty. Prominent examples are saving/consumption decisions, retirement behavior, investment, labor supply/demand, housing decisions.


The course will first introduce participants to theoretical concepts, and then focus on empirical applications covering both discrete and continuous decision problems as well as the estimation of dynamic games. During exercise classes students will obtain hands on experiences and programming skills.


The students are going to write a project paper, where the purpose is to make students combine many of the simplified building blocks covered in the computer exercises. By combining these building blocks, students should be able to solve and estimate more sophisticated models later on.


MSc programme in Economics – elective course


The PhD Programme in Economics at the Department of Economics - elective course with resarch module (PhD students must contact the study administration and the lecturer in order to write the research assignment)

Learning outcome

After completing the course the student is expected to be able to:



  • Account for solution methods (backward recursion, value function iterations, policy iterations, endogenous grid method) for dynamic structural models of sequential decision making under uncertainty of both finite and infinite horizons and for single and multiple agents.
  • Account for estimation methods for dynamic structural models.
  • Evaluate integrals involved in evaluating expectations future states of the world and to integrate unobservable out of the sample criterion used in estimation.
  • Account for the numerical approximation and interpolation techniques required to approximate value functions over continuous state variables.
  • Reflect on how to evaluate policy initiatives by means of counter factual simulations.



  • Solve unique and multiple equilibria in general equilibrium models and simple dynamic games.
  • Solve and/or estimate relatively simple models (cake eating, stochastic growth, consumption/savings, investment, labor demand/supply.
  • Solve and estimate dynamic games or single agent models and test hypotheses using solution and estimation methods discussed in the course. 
  • Investigate the consequences policy proposals by means of counterfactual simulations program the estimators applied in the paper using Python (or MATLAB, GAUSS, FOTRAN and C)
  • Discuss papers and master empirical analysis of a (simple) dynamic structural model  
  • Present an analysis in a short, structured and focused exam paper.


  • Implement dynamic programming solution and estimation techniques on new economic problems.
  • Carry through empirical analyses at a high level suitable for a Master or even a PhD thesis.

The lectures focus on theory where as the exercise classes provides hands on knowledge of solution and estimation of the models. Ideally, the whole process of estimating a dynamic structural model empirically is learned by writing the exam paper.

  • Jérome Adda and Russell Cooper: “Dynamic Economics: Quantitative Methods and Applications” MIT Press 2003, ISBN: 978-0-262-01201-0
  • Kenneth Judd: “Numerical Methods in Economics” MIT Press 1998, ISBN: 978-0-262-10071-7
  • 15-20 papers: Ranging from classic seminal contributions to recent state of the art work from the research frontier.


It is strongly recommended that Macroeconomics III and Microeconomics III at the Study of Economics, University of Copenhagen, or similar courses, has been followed prior taking Dynamic of Programming.

The courses Econometrics I and Econometrics II from the Bachelor of Economics, University of Economics, or equivalent must have been completed.

Past experience with programming (preferable Python) is also recommended but not required. Programming in Python will mostly be self-study if students have no past experience with this.

2x2 hours lectures a week during 10½ weeks (from week 6 to 16 or 17 except holidays).
2 hours of exercise classes during 12 weeks (from week 6/7 to 17/18 except holidays).

The overall schema for the Master courses can be seen at KUnet:
MSc in Economics => "courses and teaching" => "Planning and overview" => "Your timetable"
KA i Økonomi => "Kurser og undervisning" => "Planlægning og overblik" => "Dit skema"

Timetable and venue:
To see the time and location of lectures and exercise classes please press the link/links under "Se skema" (See schedule) at the right side of this page (F means Spring). The lectures are shown in each link.

You can find the similar information in English at
-Select Department: “2200-Økonomisk Institut” (and wait for respond)
-Select Module:: “2200-F20; [Name of course]”
-Select Report Type: “List – Weekdays”
-Select Period: “Forår/Spring – Week 5-30”
Press: “ View Timetable”

Please be aware regarding exercise classes:
- The schedule of the exercise classe is only a pre-planned schedule and can be changed until just before the teaching begins without the participants accept. If this happens it will be informed at the intranet or can be seen in the app myUCPH and at the above link.
- The student is not allowed to participate in an exercise class not registered, because the room has only seats for the amount of registered student.
- That the study administration allocates the students to the exercise classes according to the principles stated in the KUnet.



The lecturer will give collective oral feedback at a workshop at which students present their project descriptions for their exam paper.

The teaching assistant will give individual oral feedback during the exercise class.

7,5 ECTS
Type of assessment
Oral examination, 20 min
The exam is an individual oral exam, without preparation time, defending a project paper.

The project paper can be written individually or in groups up to 3 students. The plagiarism rules must be complied and please be aware of the rules for co-writing assignments.
The paper and the oral defence must be in English.

The writing process begins with handing in a project description (in English), that must be approved, where after the student have 4 weeks to write the project.


All aids can be used to the project description and the project paper.


The student can only bring the project paper in to the oral examination.




Marking scale
7-point grading scale
Censorship form
No external censorship
The oral defence may be with external assessment.
Criteria for exam assessment

Students are assessed on the extent to which they master the learning outcome for the course.


To receive the top grade, the student must with no or only a few minor weaknesses be able to demonstrate an excellent performance displaying a high level of command of all aspects of the relevant material and can make use of the knowledge, skills and competencies listed in the learning outcomes.

Single subject courses (day)

  • Category
  • Hours
  • Exam
  • 0,3
  • Preparation
  • 140
  • Lectures
  • 42
  • Class Instruction
  • 24
  • English
  • 206,3