Computer Science and Systems Engineering

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.

Business Model for Emerging Markets

Teaching contents:

1. The economy of the intangibles
2. Manufacturing and robot
3. Strategy and business model
4. How to model a business
5. How to model a business in a complex scenario
6. What make market emerging? Not only new lands.
7. The Blockchain technology and the future
8. Initial Coins Offering (ICO) compressed between Business plan and White paper
9. Possible value of Blockchain technology for Small and medium Italian sized business
10. A global value chain approach to protect and foster strategic identity

Advanced Topics in Network Theory: Algorithms and Applications

Centrality metrics and spectral properties of graphs.
Community detection.
Bipartite and multilayer networks.
Applications: World Trade Web

Lecture 1: Centrality metrics
Lecture 2: Spectral properties
Lecture 3: Ranklings and reputation on graphs
Lecture 4: Community detection in networks I
Lecture 5: Community detection in networks II
Lecture 6: Bipartite networks
Lecture 7: Multilayer networks
Lecture 8: World Trade Web
Lecture 9: Infrastructural network I
Lecture 10: Infrastructural network II

Principles of Concurrent and Distributed Programming

The course objective is to introduce the basics of concurrent programming problems through an illustration of the concepts and techniques related to modeling systems in which there are more components that are simultaneously active and need to coordinate and compete for the use of shared resources. At the end of the course the student will have a good understanding of the constructs for concurrent programming and be able to use them to write and analyze concurrent programs.

Philosophy of Science (long seminar without exam)

This is an introduction to the basic concepts and problems in the analysis of scientific reasoning and inquiry. The course will focus on some central patterns of reasoning and argumentation which in science and critically discuss their features and limitations. Topics covered include the nature of theory and evidence, the logic of theory testing, and the debate about the aims of science and the trustworthiness of scientific results.

Optimal Control

Discrete-time optimal control: dynamic programming for finite/infinite horizon and deterministic/stochastic optimization problems. LQ and LQG problems, Riccati equations, Kalman filter. Deterministic continuous-time optimal control: the Hamilton-Jacobi-Bellman equation and the Pontryagin’s principle. Examples of optimal control problems in economics. An economic application of optimal control: a dynamic limit pricing model of the firm.