Linguaggio Programmazione C++ (2017/2018)

Codice insegnamento
4S007124
Docente
Federico Busato
Coordinatore
Federico Busato
crediti
2
Altri corsi di studio in cui è offerto
Settore disciplinare
- - -
Lingua di erogazione
Italiano
Periodo
II sem. dal 1-mar-2018 al 15-giu-2018.

Orario lezioni

Vai all'orario delle lezioni

Obiettivi formativi

Il corso fornisce le conoscenze necessarie per lo sviluppo e organizzazione di programmi in linguaggio C++. Particolare enfasi sarà data ai costrutti avanzati di tale linguaggio, considerando i suoi moderni standard C++11/14. Inoltre, saranno presentate tecniche per la corretta organizzazione e mantenimento del codice.
A completamento del corso, gli studenti acquisirando le competenze necessarie per sviluppare programmi in linguaggio C++ in modo proficuo.

Programma

Il corso è organizzato in 12 lezioni da due ore ciascuna.

Organizzazione del corso:

  • Course and C++ Language Introduction.
  • Fundamental Concepts I. IOStream, Primitive Types, Statements and Control Flow
  • Fundamental Concepts II. Memory management, Pointers and References, C++ Keywords, Type Conversion, Preprocessing, Functions
  • Utilities. Math functions, Algorithm Library, String, Random Numbers, Time Measuring
  • Object Oriented Programming. C++ Classes, Class Hierarchy, Class Keywords, Polymorphism in C++, Operator Overloading, C++ Special Objects
  • C++ Templates and Meta-Programming I. Function Templates, Type Deduction, Compile-Time Utilities, Type Traits, Template Parameters
  • C++ Templates and Meta-Programming II. Class Templates, Template Meta-Programming, SFINAE, Variadic Templates
  • Containers and Iterators. Lambda Expressions, Std Containers, User-Defined Iterators
  • Code Organization.
  • C++ Tools and Error Handling. CMake, Gdb, Valgrind, Demangler, Version-Control, Linter, Code Statistics and Analyzer
  • Advanced Concepts. Move Semantic, C++ Idioms
  • Code Optimization.
Course material: Modern-CPP-Programming link

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Marc Gregoire Professional C++ (Edizione 3) Wrox Pr Inc 2014 978-1-118-85805-9
Bjarne Stroustrup Programming Principles and Practice Using C++ (Edizione 2) Addison-Wesley 2014 978-0-321-99278-9

Modalità d'esame

Il corso prevede l'acquisizione di 2 CFU di tipologia D (attività a scelta dello studente). La frequenza al corso non è obbligatoria. La prova finale consiste nello svolgimento di un piccolo progetto in C++ in modo autonomo o in collaborazione. L'esito della prova finale sarà di tipo passato/non passato senza voto.

Opinione studenti frequentanti - 2016/2017


Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

I dati relativi all'AA 2017/2018 non sono ancora disponibili