Advanced Programming: course material

md-to-pages

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.

License

CC BY-NC-SA 4.0

Unless otherwise specified, all content here is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0


⚠️ Exam rules

⚠️ Detailed exam rules are available here.


📆 Exam dates

⚠️ 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.


Documents

Links and resources


Homeworks


Timetable

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]