Università di Padova Dipartimento di Matematica Pura e Applicata Facultad de Matematica y Computacion Universidad de La Habana


Advanced Topics in Computer Science @ Habana

Facultad de Matemática y Computación
Universidad de La Habana, Cuba
January 29 - February 3, 2018


Deadline for application: Dec 15, 2017
Notification of acceptance: Dec 28, 2017
School: Jan 29 - Feb 3, 2018


The school, at its second edition, will consist of a one week course mainly thought for master students (but open to and potentially interesting for PhD students and young researchers). The course is structured into three series of lectures on advanced themes in computer science spanning over a wide range different areas, from artificial intelligence and learning to programming languages and formal methods to (real time) concurrency and distribution in software systems. The lecturers, starting from some advanced but consolidated material, will bring the students to be exposed to research topics in the corresponding areas. More specifically,


The lecture program comprises the following three courses:
  • [RKL] Representation and Kernel Learning - Fabio Aiolli
    Machine learning deals with techniques and algorithms that starting from empirical data allow a computer system to acquire new knowledge, or to correct and/or to refine knowledge already available. The success of machine learning algorithms heavily depends on data representation. Even the most performing classification algorithm will fail when provided with a bad input representation of data. In this course, the problem of data representation for machine learning will be introduced. In particular, we will focus on kernel machines (e.g. support vector machines for classification and regression), the theory behind these kinds of algorithms, and well-founded principled methods to learn the implicit representation of kernels from data. Topics include: basics of supervised learning theory, kernel based algorithms and SVM, kernel representation and kernel learning.
  • [LC] Languages for Concurrency - Paolo Baldan
    Concurrency is pervasive in modern computing systems due to the success of web and network applications, and, at a lower level, of multicore and multiprocessor systems. The course is intended to provide a gentle introduction to the main concepts underlying the theory of concurrency and its impact on the design of languages for concurrent and distributed programming. We start by briefly reviewing some formal modelling languages for concurrency (Calculus of Communicating Systems) and the associated reasoning and automated verification techniques. Then we discuss the import of this theory on the design of languages with modern concurrency primitives, more abstract and manageable than the low-level model based on threads and locks, used by programmers for years for dealing with concurrency and parallelism. A tentative program follows:
    • Formal Specification languages for concurrency and tools for automated verification
    • Google Go and channel based concurrency
    • Erlang and the actor model for distributed concurrency 

    • Clojure, data concurrency for free using functional languages
  • [RTS] Perspectives on Real-time Scheduling in the Wuthering Landscape of Parallel Computing - Tullio Vardanega
    Multicore processors are supplanting traditional processor architectures in virtually all application domains, promising considerably higher compute power within low-cost, into easily composable (scalable) commodity cluster units. This change much affects the real-time embedded systems domain, whose basic theory builds on the single-CPU assumption. This earlier challenge of real-time scheduling – the problem of assigning units of CPU time to units of computation (mains) so that all applications complete in time – then becomes a parallel problem, where multiple assignments occur simultaneously. Meanwhile, the embedding of compute-intensive services in critical infrastructures requires high-performance computing to seek timeliness. This need presents a new real-time scheduling problem, where application mains fork, multiple times, in a large number of very small units of computation that proceed in parallel until the next join point. In this mini-course we will look at these two facets of parallel real-time scheduling:
    • Dispatching multiple application mains to multiple CPUs, with no more than one CPU assigned to a single application at any one time.
    • Dispatching multiple short jobs from the same application to multiple CPUs multiple times, offering guarantees of timely completion, under contention from other similar applications.


Monday Tuesday Wednesday Thursday Friday
9-11 RKL LC RTS RKL --
11-13 LC RTS RKL LC --
13-14 lunch lunch lunch lunch Exams
14-16 RTS RKL LC RTS Exams


Paolo Baldan (Dipartimento di Matematica, Universià di Padova, Italy)
Alberto Fernández Oliva (Facultad de Matemática y Computación, Universidad de La Habana, Cuba)


For information please mail the organisers.