This repository contains material for the Advanced Programming course. Academic Year 2023-2024.
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.
⚠️ 10 Sep 2024, 09:00. Room 133 @ SISSA. (written + computer-based exam)
⚠️ 17 Sep 2024, 09:00. Room 133 @ 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.
Homework 01 [Markdown] [HTML] [PDF] [Google Classroom]
Homework 02 [Markdown] [HTML] [PDF] [Google Classroom]
Homework 03 [Markdown] [HTML] [PDF] [Google Classroom]
Date | Time | Room | Topic |
---|---|---|---|
Tue 26 Sep 2023 | 14:00 - 16:00 | 005 | Introduction to the course. The UNIX shell. The build process. [Markdown] [HTML] [PDF] |
Thu 28 Sep 2023 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 03 Oct 2023 | 14:00 - 16:00 | 137-138 | Introduction to C++. Built-in data types. Variables, pointers and references. Control structures. Functions. [Markdown] [HTML] [PDF] |
Thu 05 Oct 2023 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 10 Oct 2023 | 14:00 - 16:00 | 005 | Object oriented programming. Classes and access control in C++. Operators. [Markdown] [HTML] [PDF] |
Thu 12 Oct 2023 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 17 Oct 2023 | 14:00 - 16:00 | 005 | Inheritance and polymorphism. [Markdown] [HTML] [PDF] |
Thu 19 Oct 2023 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 24 Oct 2023 | 14:00 - 16:00 | 005 | Functions. Templates and generic programming. [Markdown] [HTML] [PDF] |
Thu 26 Oct 2023 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 31 Oct 2023 | 14:00 - 16:00 | 128 | The Standard Template Library. [Markdown] [HTML] [PDF] |
--- | --- | --- | |
Tue 07 Nov 2023 | 14:00 - 16:00 | 005 | Smart pointers, move semantics, STL utilities. [Markdown] [HTML] [PDF] |
Thu 09 Nov 2023 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 14 Nov 2023 | 14:00 - 16:00 | 005 | Libraries: principles, building, and use. [Markdown] [HTML] [PDF] |
Thu 16 Nov 2023 | 14:00 - 16:00 | 005 | Introduction to GNU Make. Exercise session. [Markdown] [HTML] [PDF] |
Tue 21 Nov 2023 | 14:00 - 16:00 | 005 | Introduction to CMake. Optimization, debugging, profiling, testing. [Markdown] [HTML] [PDF] |
Thu 23 Nov 2023 | 14:00 - 16:00 | 005 | Exercise session. [Markdown] [HTML] [PDF] |
--- | --- | --- | |
Thu 30 Nov 2023 | 14:00 - 16:00 | Big Meeting Room (7th floor) | Introduction to Python. Built-in data types. Variables, lists, tuples, dictionaries, sets. Control structures. Functions. Docstrings. [Markdown] [HTML] [PDF] |
Exercise session. [Markdown] [HTML] [PDF] | |||
Tue 05 Dec 2023 | 14:00 - 16:00 | 128-129 | Object-oriented programming. Classes, inheritance and polymorphism. Modules and packages. [Markdown] [HTML] [PDF] |
Thu 07 Dec 2023 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 12 Dec 2023 | 14:00 - 16:00 | 128-129 | Introduction to NumPy and SciPy for scientific computing. Data visualization. Introduction to pandas for data analysis. [Markdown] [HTML] [PDF] |
Thu 14 Dec 2023 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 19 Dec 2023 | 14:00 - 16:00 | 128-129 | Integrating C++ and Python codes. [Markdown] [HTML] [PDF] |
Tue 21 Dec 2023 | 14:00 - 16:00 | 128-129 | Exercise session. [Markdown] [HTML] [PDF] |
Tue 09 Jan 2024 | 14:00 - 16:00 | 005 | Exam simulation. [Part 1] [Part 2] |
Tue 11 Jan 2024 | 14:00 - 16:00 | 005 | Exam simulation. [Part 1] [Part 2] |