AØKA08232U  Introduction to Programming and Numerical Analysis

Volume 2018/2019

MSc programme in Economics – elective course

Bacheloruddannelsen i økonomi – valgfag fra 2. år

The Danish BSc programme in Economics - elective from the 2nd year


This course introduces you to programming and enables you to numerically solve simple economic models and perform basic data analysis. This will e.g. allow you to both visualize solutions, easily test assumptions with respect to functional forms and parameters, and consider more realistic models, which are solvable numerically but not algebraically.  


The first part of the course introduces you to programming using the general-purpose Python language. You will learn to write conditional statements, loops, functions, and classes, and to print results and produce static and interactive plots. You will learn to solve simple numerical optimization problems, and draw random number and run simulations. You will learn to test, debug and document your code, and use online communities proactively when writing code.


The second part of the course gives you a brief introduction on how to import data from offline and online sources, structure it, and produce central descriptive statistics. You will learn to estimate simple statistical models on your data.


The third part of the course introduces you to the concept of a numerical algorithm. You will learn how to write simple searching, sorting and optimization algorithms. You will learn to solve linear algebra problems, solve non-linear equations numerically and symbolically, find fixed points, and solve complicated numerical optimization problems relying on function approximation.


You will get hands-on experience with applying the above techniques to solve well-known microeconomic and macroeconomic problems from the core bachelor courses. Specifically, you will work with both a small data analysis project, and a larger model analysis project based on a well-known economic model.


While the course only focus on programming in Python, you will also be equipped to start learning other programming languages (such as MATLAB, R, Julia or even C/C++) on your own.

Learning Outcome

After completing the course, the student should be able to:



  • Describe the differences between 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 (pseudo) random numbers
  • Explain the notation of numerical algorithms



  • Setup a Python enviroment
  • Write Python scripts, functions and notebooks
  • Apply error handling and debugging techniques
  • Use and write code documentation
  • Print results and make static and interactive plots
  • Import and export of data from and to csv, excel and online databases
  • Perform simple descriptive analysis  of numerical data
  • Use numerical equation solvers
  • Use symbolic equation solvers
  • Use numerical optimizers
  • Formulate numerical algorithms from mathematical problems



  • Work collaboratively on code projects
  • Use online communities to find existing code and get help
  • Solve mathematical problems numerically
  • Solve well-known economic problems numerically
  • Perform numerical simulation of stochastic models
  • Present and discuss results of a numerical analysis
  • Learn new programming tools and languages
Economic Principles A and B, and Mathematics A and B. The course also draws on material from "Probability Theory and Statistics", Microeconomics I and Macroeconomics I, which therefore all should either be followed simultanously or have been followed.

The course requires no prior experience with programming.
A combination of lectures, online tutorials, classes, and group-based project work.
2 hours lectures once a week from week 6 to 20 (except holidays)
2 hours of execise classes once a week from week 6/7 to 20/21 (except holidays)

Timetable and venue:
To see the time and location of lectures please press the link/links under "Se skema" (See schedule) at the right side of this page (E means Autumn, F means Spring).

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

The overall schema for Master courses can be seen at KUnet:
MSc in Economics => "courses and teaching" => "Planning and overview" => "Your timetable"
BA i Økonomi/KA i Økonomi => "Kurser og undervisning" => "Planlægning og overblik" => "Dit skema"
7,5 ECTS
Type of assessment
Portfolio, 7 dage
The final exam is a written assignment consisting of three parts.
- The first two parts are based on the two projects worked with during the semester. Students can use the peer feedback they receive during the semester to improve these projects for the final exam. This can be done before the exam period begins.
- The third part of the exam is a new assignment given when the exam period begins.

The written exam can be handed in individually or by groups of maximum three students. The plagiarism rules must be complied and please be aware of the rules for co-writing assignments. The exam assignment is given in English and must be answered in English.
Exam registration requirements

To qualify for the the exam the student must have:

  • completed a basic programming test,
  • approved the data analysis project,
  • provided useful peer feedback on at least two data analysis projects,
  • approved the model analysis project.
  • provided useful peer feedback on at least two model analysis projects.


The projects can be handed in individually or by groups of up to three students. However, the peer feedback must be given individually. The plagiarism rules must be complied and please be aware of the rules for co-writing assignments.

The assignments and the peer feedback must be answered in English. 


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

Exam information:

The exam takes place:

20 May from 10 AM to 27 May at 10 AM

It takes approximately 24 working-hours to answer the new assignment.


Note: In special cases, the exam date can change to another day and time within the exam period.


Further information about the exam will be available in the Digital Exam portal from the middle of the semester.


More information about examination, rules, examschedule etc.: Master students (UK), Master students (DK) and Bachelor students (DK).



Reexam information:

The reexam takes place

26 August 2019 from 10 AM to 2 September at 10 AM


Note: In special cases, the written reexam can change to another day within the reexam period. Or to an oral exam incl. date, time and place, if only a few students are registered. This will be informed by the Exam Office.


More information about reexam:  Master(UK) , Master(DK) and Bachelor.

Criteria for exam assesment

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.

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