Tecniche Speciali di Programmazione

Anno Accademico 2017-18


Note to those that attended last exam: you have to ask for the project by sending me an email. The deadline is fixed ofr the 5th of March later you ask for the text less time you will have to complete it.

Note that to participate to the exam you have to register to SIFA.

The 23rd of January we will have a special lecture about Rust and its extensibility through compiler's plugins.

Speaker: Dario Ostuni. Title: ⚙️Rust.

Abstract: Rust is a systems programming language, supporting functional and imperative-structured paradigms, developed by Mozilla Research. Rust was born from the needs of what now is known as Firefox Quantum: be fast and memory efficient as C but also be memory safe and ease concurrency. Rust has been in development since 2006 and it has been stabilized in 2015. Since then it has received a warm welcome from the FLOSS community, being adopted from projects such as Tor and GNOME, and winning the "Most loved Programming Language" award of StackOverflow in 2016 and 2017. In this talk I'll present a general introduction to Rust, discussing pivotal features such as memory safety and concurrency, with special care to language reflection and the inner workings of the compiler.

The third hands-on lesson will be on Tuesday 16th of January in room τ.

The lecture of the 12th of December is cancelled. We will catch this lecture up in January.

The second hands-on lesson will be on Tuesday 21th of November in room τ.

The first hands-on lesson will be on Tuesday 10th of October in room σ.

Lessons will start on Tuesday, September 26th at 9am in room 5. Lessons will always start at 9am.

Office Hours for Students

Since January the office hours will be on appointment.



didattica/tsp/risultati%20compitini%202017-12-05.jpg didattica/tsp/risultati%20esame%202018-01-30.jpg didattica/tsp/risultati%20esame%202018-02-21.jpg

Note. to access the exam you have to be enrolled to the exam through the SIFA.

Nota. the exam sessions will be defined time after time in agreement with the professor and not more than 5 a year.

Course Materials and Other Resources



Exam Formalities.

The exam is composed of two parts:

  1. a written (at the computer) exam (that can be replaced by three midterms)
  2. an individual project in AspectJ whose text will be distributed at the last midterm or at the written exam.

Each session of the written exam proposes three exercises:

Each exercise can be substituted by a midterm exam. The midterms are three, 1 for every course's part, and if passed (with a grade of 6 or more) they hold for the whole academic year. The midterms are independent of each other, so if you fail one of them you can do the next one: the failed midterms can be caught up in the exam sessions. You are STRONGLY encouraged to follow and prepare the midterms.

The final mark corresponds to the average of the mark for the project with mark of the written exam (or the mark obtained summing the marks for the three midterms). This when both parts are passed.

Design Patterns

The exercises about design patters requires that you know at least the following patterns (better all those in the Gang of Four's book):

The listed design patterns can be found on my slides (only a few) or in the Gang of Four's book (the one listed in the book section).

Hands-on Lessons (Room σ).
Solutions to Some Previous Exams.

Walter Cazzola



Funded Projects

Research Projects

Related Events

Valid XHTML 1.0 Transitional