Programming for Economists

Course content

This course introduces you to programming and enables you to summarize and visualize empirical data, as well as numerically solve simple economic models.

 

In the first part of the course, you will learn the general-purpose programming language Python. You will explore different data types and write conditional statements, loops, functions, and classes. Additionally, you will learn how to import and export data and use online databases (APIs), as well as summarize and visualize data in the context of descriptive economics.

 

In the second part of the course, you will learn how to use numerical optimizers and root-finders to solve and analyze economic problems from basic micro- and macroeconomics. You will also learn how to draw random numbers and run simulations.

 

In the third part of the course, you will get hands-on experience applying these techniques by working on a data analysis project and a model analysis project. You will learn how to structure, test, debug, and document your code, as well as collaborate effectively using a version control system (Git).

 

The course emphasizes hands-on programming experience from the very start. To support this, you will have access to an online interactive learning platform where you can solve programming exercises and view additional instructional videos, which will aid your progress in achieving the learning outcomes.

 

Finally, the course gives you are broader perspective on computational methods in economics with references to both dynamic programming and artificial intelligence (machine learning).

Education

Bacheloruddannelsen i økonomi - 2025 curriculum mandatory, 2020 curriculum elective.

 

Education: MSc programme in Economics – elective course

 

Due to similarity in the Syllabus it is not allowed to take the course and the exam in "Programming for Economists (AØKA08248U)", if the following former courses already has been taken and passed: 

  • "Introduction to Programming and Numerical Analysis" (AØKA08232U)

 

The course is open to:

  • Exchange and Guest students from abroad
  • Credit students from Danish Universities
  • Open University students
Learning outcome

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

 

Knowledge:

  • Describe the differences between fundamental data types
    (e.g.  strings, booleans, integers and floats)
  • Describe the differences between data containers
    (e.g. lists, dicts and arrays)
  • Explain the use of conditionals (if-elseif-else)
  • Explain the use of loops (for, while, continue, break)
  • Explain the use of functions, methods and classes
  • Describe the difference between views and copies of objects
  • Explain how to use numerical optimizers and root-finders
  • Explain how to use (pseudo) random numbers
  • Explain how to use linear interpolation

 

Skills:

  • Setup a Python environment
  • Write Python scripts, functions and notebooks
  • Structure and document code
  • Test and debug code
  • Use version control system (Git)
  • Import and export data and use online databases (APIs)
  • Summarize and visualize data
  • Use numerical optimizers and equation solvers
  • Solve economic models numerically
  • Simulate economic models
  • Calibration economic models to data

 

Competences:

  • Write well-structured and well-documented code
  • Work collaboratively on code projects
  • Present and discuss results of a numerical analysis of empirical data and economic models

A combination of lectures, online tutorials, classes, and group-based project work/assignments.

Courses similar to Economic Principles A+B, Mathematics A+B, and Descriptive Economics A+B at the Bachelor Program in Economics, University of Copenhagen.

The course is designed to be followed alongside Probability Theory and Statistics, Microeconomics I and “Macroeconomics I at the Bachelor Programme in Economics, University of Copenhagen.

Written
Oral
Individual
Collective
Continuous feedback during the course of the semester
ECTS
7,5 ECTS
Type of assessment
Home assignment, 48
Type of assessment details
Max 10 normal pages.
The exam is a written assignment consisting of two parts:

Part 1: The first part is based on the two mandatory assignments worked with during the semester. Students can use the feedback received during the semester to improve these assignments. This can be done before the exam period begins.

Part 2: The second part is a new assignment given in English. The new assignment correspond to approximately a 24 hours assignment.

Please be aware that:
- Part 1 and Part 2 weighs respectively 40% and 60% in the final pass/fail grade.
Examination prerequisites

To qualify for the exam the student must during the semester and not later than the given deadlines

  • Hand in and have approved 2 out of the 2 assignments for the student to participate in the exam.
  • Complete basic programming test
Aid
All aids allowed

Use of AI tools is permitted. You must explain how you have used the tools. When text is solely or mainly generated by an AI tool, the tool used must be quoted as a source.

Marking scale
passed/not passed
Censorship form
No external censorship
Exam period

Exam information:

The examination date can be found in the exam schedule   here

The exact time and place will be available in Digital Exam from the middle of the semester. 

More information about examination, rules, aids etc. is available at  Master(UK) Master(DK) and  Bachelor(DK).

Re-exam

Same as the ordinary.

 

Reexam information:

The reexamination date/period can be found in the reexam schedule   here

Exact day, time and place is available in Digital Exam in February. 

More info:  Master(UK),  Master(DK) and  Bachelor.

Criteria for exam assessment

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

 

The final exam tests the students' knowledge, skills, and competencies as described in the course learning outcomes. In order to obtain the grade “Pass”, the student must demonstrate that the knowledge, skills and competencies listed in the learning outcomes are met in a satisfactory way.

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 28
  • Preparation
  • 112
  • Exercises
  • 42
  • Exam
  • 24
  • English
  • 206

Kursusinformation

Language
English
Course number
AØKA08248U
ECTS
7,5 ECTS
Programme level
Full Degree Master
Bachelor choice
Duration

1 semester

Placement
Autumn And Summer
Price

Information about admission and tuition fee:  Master and Exchange Programme, credit students and guest students (Open University)

Schedulegroup
Autumn 2025, Summer 2026.
Studyboard
Department of Economics, Study Council
Contracting department
  • Department of Economics
Contracting faculty
  • Faculty of Social Sciences
Course Coordinator
  • Jeppe Druedahl   (14-75707b7b70396f7d80706f6c73774b706e7a79397680396f76)
Brigitte Hochmuth
Teacher

See 'Course Coordinators'

Saved on the 01-05-2025

Er du BA- eller KA-studerende?

Er du bachelor- eller kandidat-studerende, så find dette kursus i kursusbasen for studerende:

Kursusinformation for indskrevne studerende