Computer Science and Systems Engineering


This course covers some of the most important methodological issues arising in any field of applied economics when the main scope of the analysis is to estimate causal effects. A variety of methods will be illustrated using theory and papers drawn from the recent applied literature. The aim is to bridge the step from a technical econometrics course to doing applied research. The emphasis will be on the applications. The goal is to provide students with enough knowledge to understand when these techniques are useful and how to implement each method in their empirical research.

Data Science with Complex Networks

Complex Systems are everywhere and in the era of massive production of electronic data coming from all sort of devices it is of crucial importance to have the right tools to manage and extract from them all the valuable information. To this aim during this course we will develop both the basic theoretical tools and the practical coding technics to tackle all sort of complex systems, ranging from Trade and Financial Networks, to the World Wide Web and the Social Networks.

Convex Optimization

The course covers the basics of convex optimization methods, with an emphasis on numerical algorithms that can solve a large variety of optimization problems arising in control engineering, machine learning, mechanical engineering, statistics, economics, and finance.

The materials for the course are available at

Computer Programming and Methodology

This course aims at introducing to students principles and methodologies of computer programming. Emphasis is on good programming style, techniques and tools that allow efficient design, development and maintenance of software systems. The course focuses on the design of computer applications drawing attention to modern software engineering principles and programming techniques, like object-oriented design, decomposition, encapsulation, abstraction, and testing. A significative case study is used to allow students to experiment with the principles and techniques considered in this course.

Computational Contact and Fracture Mechanics

This course provides an overview on the theories of contact and fracture mechanics relevant for a wide range of disciplines ranging from materials science to engineering. Introducing their theoretical foundations, the physical aspects of the resulting nonlinearities induced by such phenomena are emphasized. Numerical methods (FEM, BEM) for their approximate solution are also presented together with a series of applications to real case studies.

Basic Numerical Linear Algebra

The course is aimed to recall the basic notions about vectors, matrices, vector spaces and norms, along with the basic numerical methods concerning the solution of linear systems. In particular: direct methods for square linear systems and conditioning analysis; direct methods for solving over-determined linear systems in the least square sense. The course also provides an introduction to Matlab, which is used for implementing the illustrated methods.

Banking and Finance (long seminar with optional exam)

One of the most challenging task in finance is the gap between theoretical models and the actual software implementation. Cross some different areas (derivatives evaluation, risk management, accounting issues) several problems arise: discretization, analytical approximation, montecarlo simulation vs. numerical probability, optmization and so on. After a short overview of the main financial areas, the course aims to give some insights on these topics, with a special focus on the risk management current hard problems and the related software algorithms.

Applications of Stochastic Processes

This course offers an introduction to stochastic processes as a practical modelling tool for the quantitative analysis of systems. It covers the fundamentals of Markov chains, and presents algorithms and state-of-the-art software applications and libraries for their numerical solution and simulation. The class of Markov Population Processes is presented, with its most notable applications to as diverse disciplines as chemistry, ecology, systems biology, health care, computer networking, and electrical engineering.

Analytics and Data Science in Economics and Management I

Python Course for Data Science (M. Puliga):
- Introduction to the language: basic statements, cycles and functions
- Diving into the language: advanced types: sets and dictionaries, classes and modules, using PIP and ipython
- Scraping the web: introduction to BeautifulSoup, the regular expressions module re, the request module
- Introduction to Plotting: basic numpy, plotting overview
- Data science utilities: introduction to SQL (sqlite/mysql)

Getting, Organizing and Analyzing the Data (A. Petersen):

Advanced Topics of Control Systems

In this course we will venture to go through some of the most advanced control schemes whose development has been motivated by problems in process control and economics. The course's main objective will be to bring students in touch with the state of the art in MPC theory and explore various research opportunities that emerge. We will see how the mature concept of model predictive control (MPC) can be combined with process economics to yield a unifying framework -- known as economic model predictive control (EMPC) -- for simultaneous control and process optimization.