Vai al contenuto principale
Oggetto:
Oggetto:

Programmazione avanzata

Oggetto:

Advanced programming

Oggetto:

Anno accademico 2020/2021

Codice dell'attività didattica
MFN1621
Docente
Luca Padovani (Titolare del corso)
Corso di studi
Laurea in Matematica
Anno
2° anno
Periodo didattico
Secondo semestre
Tipologia
D.M. 270 TAF C - Affine o integrativo
Crediti/Valenza
3
SSD dell'attività didattica
INF/01 - informatica
Modalità di erogazione
A distanza
Lingua di insegnamento
Italiano
Modalità di frequenza
Facoltativa
Tipologia d'esame
Prova pratica
Prerequisiti

Basi di Informatica

Basic Programming
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

L'obiettivo del corso è di fornire una introduzione alla programmazione orientata agli oggetti nel linguaggio C++. In particolare si pone enfasi sulla scomposizione di un programma complesso in oggetti, sulla strutturazione del codice mediante l'uso di classi, e sull'uso di librerie di classi.

The aim of the course is to provide an introduction to object-oriented programming in the C++ language. Particular emphasis is given to the decomposition of complex programs into objects, to the structuring of code into classes, and to the use of class libraries.

Oggetto:

Risultati dell'apprendimento attesi

Al termine del corso lo studente dovrà essere in grado di progettare un programma completo in ogni sua parte utilizzando le classi e le librerie standard del C++.

At the end of the course students are expected to be able to design and implement a full program using classes and the standard C++ library.

Oggetto:

Modalità di insegnamento

Il corso consiste in 8 lezioni per le quali il docente fornisce una registrazione video con la proiezione di slide accompagnate da un commento audio. Ogni lezione comprende una parte di sviluppo di codice e si conclude con una serie di esercizi. In aggiunta alle registrazioni, il docente mette a disposizione su Moodle le slide (in formato HTML e PDF), il codice sviluppato a lezione, le soluzioni di tutti gli esercizi proposti, ed altro materiale di supporto. Infine, il docente si rende disponibile durante incontri sincroni periodici (in presenza o per via telematica a seconda delle circostanze) per chiarimenti sui contenuti del corso e sulla risoluzione degli esercizi.

The course consists of 8 lectures for which the teacher provides a screencast with slides and an audio commentary. Each lecture includes live development of code and provides a number of exercises. In addition to the screencasts, the teacher provides the slides (in both HTML and PDF formats), the code developed during the lectures, the solutions for all of the exercises, and additional supporting material. Finally, the teacher is available during synchronous events (in a physical or virtual classroom depending on the circumstances), for clarifications on the contents of the course and on the solution of the proposed exercises.

Oggetto:

Modalità di verifica dell'apprendimento

Conoscenze e capacità acquisite verranno verificate attraverso la valutazione (ed eventualmente la discussione orale) di un progetto su uno dei temi proposti dal docente, preparato autonomamente dallo studente e consegnato in anticipo.
La preparazione sarà considerata adeguata se lo studente dimostrerà di padroneggiare le tecniche di programmazione illustrate nel corso, di saper giustificare le proprie scelte implementative e replicare alle osservazioni critiche dell'esaminatore, nonché di saper apportare modifiche o integrazioni richieste al momento dell'esame.

The exam consists of the evaluation (possibly followed by an oral discussion) of a project selected from a list proposed by the teacher. The project is autonomously developed and submitted by the student before the exam. The student is expected to master the programming techniques proposed in the course, to justify her/his design decisions and to reply to criticism by the examiner; she/he is also expected to be able to modify or integrate the code on the spot.

Oggetto:

Attività di supporto

Ricevimento studenti su appuntamento.

Office hours.

Oggetto:

Programma

Il programma del corso comprende:

  • fondamenti della programmazione a oggetti, definizione di classi;
  • oggetti mutabili, passaggio per valore e per riferimento;
  • classi contenitore e iteratori;
  • classi generiche e template;
  • classi fondamentali della libreria standard del C++.

The course topics include:

  • foundations of object-oriented programming, class definitions;
  • mutable objects, call-by-value and call-by-reference;
  • container classes and iterators;
  • generic classes and templates;
  • fundamental classes in the C++ standard library.

Testi consigliati e bibliografia

Oggetto:


Il docente fornisce tutto il materiale per il corso. Per eventuali approfondimenti si consiglia la consultazione di due libri. Il primo è riconosciuto come un buon testo introduttivo alla programmazione in C++, mentre il secondo è il riferimento ufficiale del C++, adatto a chi volesse approfondire tutti i dettagli del linguaggio (non è un libro introduttivo alla programmazione in C++).

  • Bjarne Stroustrup, Programming: Principles and Practice Using C++, Addison Wesley, 2014.
  • Bjarne Stroustrup, The C++ Programming Language (fourth edition), Addison Wesley, 2013.

The teacher provides all the supporting material for the course. For a more in depth treatment of specific topics, students may refer to the two books listed below. The first book is a good introductory text on C++ programming, whereas the second one is the official reference for the C++ programming language, suitable for those who need to understand all the details of the langauge (this is not an introductory text).

  • Bjarne Stroustrup, Programming: Principles and Practice Using C++, Addison Wesley, 2014.
  • Bjarne Stroustrup, The C++ Programming Language (fourth edition), Addison Wesley, 2013.


Oggetto:

Orario lezioni

Oggetto:

Note

Le modalità di svolgimento dell'attività didattica potranno subire variazioni in base alle limitazioni imposte dalla crisi sanitaria in corso. In ogni caso è assicurata la modalità a distanza per tutto l'anno accademico.

Teaching modalities are subject to changes depending on the limitations caused by the current sanitary emergency.

Oggetto:
Ultimo aggiornamento: 28/07/2020 10:13

Non cliccare qui!