Vai al contenuto principale
Oggetto:
Oggetto:

Programmazione avanzata

Oggetto:

Advanced programming

Oggetto:

Anno accademico 2021/2022

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
Tradizionale
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

Essere in grado di progettare un programma completo in ogni sua parte utilizzando le classi e le librerie standard del C++.

Being 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 un totale di 24 ore) che consistono in una parte di presentazione di concetti della programmazione a oggetti in C++ e una parte di risoluzione di esercizi di programmazione. 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. 

Nel caso in cui le circostanze impediscano lo svolgimento di lezioni in presenza, la parte di presentazione di concetti di programmazione a oggetti sono sostituite da registrazioni audio/video ed il docente si rende disponibile durante incontri sincroni periodici per chiarimenti sui contenuti del corso e sulla risoluzione degli esercizi.

The course consists of 8 lectures (24 hours) consisting of a presentation of basic concepts of object-oriented programming in C++ and of the resolution of proposed exercises. 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.

In case lectures cannot be held in a classroom, the teacher provides a screencast with slides and an audio commentary and 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 di programmazione. Lo studente deve dimostrare 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 programming project. The student is expected to master the programming techniques proposed in the course, to be able to justify her/his design decisions and to reply to criticisms 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 dei due libri segnalati. 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++).

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. 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).



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.

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

Oggetto:
Ultimo aggiornamento: 13/10/2021 15:14

Location: https://www.matematica.unito.it/robots.html
Non cliccare qui!