This repository contains material for the Advanced Programming course. Academic Year 2024-2025.
This course is offered jointly by SISSA (International School for Advanced Studies) and UniTS (Università degli Studi di Trieste), Trieste, Italy.
Unless otherwise specified, all content here is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
⚠️ Detailed exam rules are available here.
⚠️ 21 Jan 2025, 09:00. Room 005 @ SISSA. (written + computer-based exam)
⚠️ 17 Feb 2025, 09:00. Room 134 @ SISSA. (written + computer-based exam)
Optional oral exams will follow in subsequent days.
ℹ️ Students from UniTS: please register on Esse3.
ℹ️ Students from SISSA: please register by sending me an email.
Date | Time | Room | Topic |
---|---|---|---|
Mon 30 Sep 2024 | 13:00 - 15:00 | 005 | Introduction to the course. The UNIX shell. The build process. [Markdown] [HTML] [PDF] |
Tue 01 Oct 2024 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Mon 07 Oct 2024 | 13:00 - 15:00 | 005 | Introduction to C++. Built-in data types. Variables, pointers and references. Control structures. Functions. [Markdown] [HTML] [PDF] |
Tue 08 Oct 2024 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Mon 14 Oct 2024 | 13:00 - 15:00 | 005 | Object oriented programming. Classes and access control in C++. Operators. [Markdown] [HTML] [PDF] |
Mon 15 Oct 2024 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Mon 21 Oct 2024 | 13:00 - 15:00 | 128-129 | Inheritance and polymorphism in C++. [Markdown] [HTML] [PDF] |
Tue 22 Oct 2024 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |
Mon 28 Oct 2024 | 13:00 - 15:00 | 005 | Functions. Templates and generic programming in C++. [Markdown] [HTML] [PDF] |
Tue 29 Oct 2024 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |
Mon 04 Nov 2024 | 13:00 - 15:00 | 005 | The Standard Template Library. [Markdown] [HTML] [PDF] |
Tue 05 Nov 2024 | 14:00 - 16:00 | 005 | Smart pointers, move semantics, STL utilities. [Markdown] [HTML] [PDF] |
Mon 11 Nov 2024 | 13:00 - 15:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 12 Nov 2024 | 14:00 - 16:00 | 005 | Libraries: principles, building, and use. [Markdown] [HTML] [PDF] |
Mon 18 Nov 2024 | 13:00 - 15:00 | 005 | Exercise session: Introduction to GNU Make. [Markdown] [HTML] [PDF] |
Tue 19 Nov 2024 | 14:00 - 16:00 | 005 | Exercise session: Introduction to CMake. [Markdown] [HTML] [PDF] |
Mon 25 Nov 2024 | 13:00 - 15:00 | 005 | Optimization, debugging, profiling, testing. [Markdown] [HTML] [PDF] Exercise session. [Markdown] [HTML] [PDF] |
Tue 26 Nov 2024 | 14:00 - 16:00 | 005 | Introduction to Python. Built-in data types. Variables, lists, tuples, dictionaries, sets. Control structures. Functions. Docstrings. [Markdown] [HTML] [PDF] Exercises. [Markdown] [HTML] [PDF] |
Mon 02 Dec 2024 | 13:00 - 15:00 | 005 | Object-oriented programming. Classes, inheritance and polymorphism. Modules and packages. [Markdown] [HTML] [PDF] |
Tue 03 Dec 2024 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |
Mon 09 Dec 2024 | 13:00 - 15:00 | 005 | Integrating C++ and Python codes. [Markdown] [HTML] [PDF] |
Tue 10 Dec 2024 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |
Mon 16 Dec 2024 | 13:00 - 15:00 | 134 | Python's ecosystem for scientific computing. [Markdown] [HTML] [PDF] [Notebook] |
Tue 17 Dec 2024 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |