Computer Science and Systems Engineering

Scientific Writing, Dissemination and Evaluation (long seminar without exam)

In order to ensure their widest possible dissemination, research results need to be presented in academic publications and in talks. The first goal of this course is to introduce students to basic principles of academic writing and on basic techniques to plan and deliver good academic talks. In addition, the course discusses the key principles of peer review, which is what makes science reliable knowledge. In particular, the course focuses on how to write a professional referee report.

Science Integrity and Misconduct

1. Introduction
a. The age of scientific fraud
b. FFP (Fabrication, Falsification, Plagiarism)
c. Error, misconduct, fraud

2. Great scientists, successful cheaters
a. Is scientific fraud a new phenomenon?
b. Accused: famous scientists were fraudsters?
c. Present vs past

3. Fraudulent images
a. Scientific images as data
b. Introduction to fraudulent image manipulation
c. Image manipulation detection
d. Large scale analysis of image manipulation

Research Topics in Computer Science

The goal of this course is to get students acquainted with research methods in computer science, including publication strategies and a classification of its main outlets (workshops, conferences, and journals). Students will receive a broad perspective on the major sub-fields computer science (e.g., programming languages, verification, software engineering, security, ?) by means of guest lectures delivered by leading experts in the respective areas.

Qualitative and Quantitative Formal Methods for Computer Science

This course offers an introduction to core topics in formal methods for the specification and analysis of systems, both for functional and nonfunctional properties. Students will be exposed to basic models of computation such as labelled transition systems and process algebra, formal approaches to specifying the semantics of programming languages (such as operational and denotational semantics), and quantitative analysis methods based on Markov processes.

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.

Numerical Optimization

Optimization plays a key role in solving a large variety of decision problems that arise in engineering (design, process operations, embedded systems), data science, machine learning, business analytics, finance, economics, and many others. This course focuses on formulating optimization models and on the most popular numerical methods to solve them.

Numerical Methods for the Solution of Partial Differential Equations

The course introduces numerical methods for the approximate solution of initial and boundary value problems governed by linear partial differential equations (PDEs) ubiquitous in physics, engineering, and quantitative finance. The fundamentals of the finite difference method and of the finite element method are introduced step-by-step in reference to exemplary model problems related to heat conduction, linear elasticity, and pricing of stock options in finance. Notions on numerical differentiation, numerical integration, interpolation, and time integration schemes are provided.