Syllabus
Syllabus
Course Overview
This course aims to equip economics students with a foundation in Python programming,
enabling them to analyse data and build basic models. Students will learn the basis of
computation and complexity, core programming concepts, data manipulation techniques, and
essential data science and machine learning libraries. The course emphasises hands-on
practice and real-world applications relevant to economics.
The main idea of this course is to get students to code Python quickly. Companies worldwide
use Python to harvest data insights and gain a competitive edge. This course also provides very
initial concepts on Machine Learning through Python.
Prerequisites
None
Course Objectives
● Understand the fundamentals of programming and computational thinking
● Understand Python syntax and data structures
● Effectively utilise Python libraries for data manipulation, analysis, and visualisation
● Use Python for economic problem-solving and modelling.
● Develop a foundation for further exploration of data science and machine learning
Course Outline
1. Introduction to Computation and Python (3h)
● What is programming?
● What is Python? Why Python? Why Python for Economists?
● Python environments: terminal, Visual Studio Code, Jupyter Notebook
2. Python Fundamentals (7.5h)
● Installation and environments
● Basic syntax: variables, data types (numbers, strings, booleans), operators
● Control flow: conditional statements, loops
● Functions: definition, calling, arguments, return values
● Data structures: lists, tuples, dictionaries
● File I/O: reading and writing data
● Type hints
● Error handling and debugging
3. Computational Thinking, Algorithms and Complexity (4.5h)
● Computational thinking: inheritance, abstraction, decomposition, pattern
recognition, algorithms
● Complexity and recursion
● Searching and sorting algorithms
4. Data Science 101 (3h)
● What is data?
● What is machine learning and artificial intelligence?
● What is decision intelligence?
● Data, KPIs and decision-making
5. Python Libraries for Data Analysis (7.5h)
● Statistics: random, statistics, NumPy
● Data wrangling: Pandas, Polars
● Visualisation: Matplotlib, Seaborn, Ggplot2, Altair, Plotly
6. Introduction to Machine Learning with Python (4.5h)
● Descriptive statistics and data distribution
● Supervised vs unsupervised learning
● Linear and non-linear regression
● Decision trees
● Machine learning pipelines
Required Activities
● Exercises: Students are expected to perform exercises during classes. More extensive
exercises will also be given to students to solve on their own and during seminar time.
● Final project: A final Python project is required to demonstrate the knowledge acquired.
This project consists of two parts, each with the same value.
Evaluation
● Seminar and homework exercises (50%): Students will develop different exercises
during the course. Some must be developed totally or partially as homework, while
others must be done during the seminar sessions. The average grade will be
considered. This cannot be retaken.
● Participation in theory classes (20%): During the ten weeks of the course, there are
two theory sessions per week. Students will actively participate in these sessions since
different challenges are proposed. This part is a continuous evaluation, so it cannot be
retaken.
● Final project (30%): This project consists of two parts, each counting the same. To pass
the course, both project parts must be developed and delivered. The minimum grade
required is 5. Otherwise, students can retake this part once, creating a different project
proposed by the teacher.
Competences
1. General
● Develop the capacity for autonomous reasoning.
● Have consolidated habits of self-discipline, self-demand and rigour.
● Master computer tools and their main applications for academic activity, as well
as master mathematical and statistical language.
2. Technical
● Programming: Write efficient and well-structured Python code.
● Data Manipulation: Clean, transform, and explore complex datasets using
Python libraries (NumPy, Pandas, Polars).
● Data Analysis: Apply statistical and visualisation techniques to extract
meaningful insights.
● Problem-Solving: Break down complex problems into smaller, manageable
steps and develop algorithmic solutions.
● Machine Learning: Apply basic machine learning algorithms (e.g., linear
regression, decision trees).
3. Analytical
● Critical Thinking: Evaluate information, identify patterns, and draw informed
conclusions.
● Quantitative Analysis: Apply mathematical and statistical concepts to analyse
phenomena.
● Model Building: Develop basic statistical models.
Learning Outcomes
Upon successful completion of this course, students will be able to:
Books
Python from the Very Beginning
John Whitington
ISBN-13: 978-0-9576711-5-7 238 Pages (Second edition, May 2023)