Vai al contenuto principale
Coronavirus: aggiornamenti per la comunità universitaria / Coronavirus: updates for UniTo Community
Oggetto:
Oggetto:

Programmazione avanzata

Oggetto:

Advanced programming

Oggetto:

Anno accademico 2021/2022

Codice attività didattica
MFN1621
Docente
Luca Padovani (Titolare del corso)
Corso di studio
Laurea in Matematica
Anno
2° anno
Periodo
Secondo semestre
Tipologia
D.M. 270 TAF C - Affine o integrativo
Crediti/Valenza
3
SSD attività didattica
INF/01 - informatica
Erogazione
Tradizionale
Lingua
Italiano
Frequenza
Facoltativa
Tipologia 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:

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

Testi consigliati e bibliografia



Oggetto:
Libro
Titolo:  
Programming: Principles and Practice using C++
Anno pubblicazione:  
2014
Editore:  
Addison Wesley
Autore:  
Bjarne Stroustrup
Obbligatorio:  
No


Oggetto:
Libro
Titolo:  
The C++ Programming Language (fourth edition)
Anno pubblicazione:  
2013
Editore:  
Addison Wesley
Autore:  
Bjarne Stroustrup
Obbligatorio:  
No
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:

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:

Orario lezioniV

Registrazione
  • Aperta
    Oggetto:
    Ultimo aggiornamento: 13/10/2021 15:14

    Non cliccare qui!