Vai al contenuto principale
Oggetto:
Oggetto:

Programmazione a oggetti

Oggetto:

OBJECT-ORIENTED PROGRAMMING

Oggetto:

Anno accademico 2024/2025

Codice attività didattica
MAT0324
Docente
Enrico Bini (Titolare)
Corso di studio
Laurea in Matematica
Anno
2° anno
Periodo
Secondo semestre
Tipologia
D.M. 270 TAF F - Altre attività
Crediti/Valenza
9
SSD attività didattica
INF/01 - informatica
Erogazione
Tradizionale
Lingua
Italiano
Frequenza
Facoltativa
Tipologia esame
Scritto
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Coerentemente con gli obiettivi formativi del Corso di Studio previsti dalla scheda SUA-CdS, l'insegnamento si propone di fornire allo studente strumenti avanzati di programmazione, considerati come parte integrante della cultura di un matematico. I macro-obiettivi sono:

  • apprendere la programmazione ad oggetti
  • acquisire una maggiore consapevolezza della relazione fra codice e prestazioni

L'insegnamento prevede lezioni miste teorico-pratiche in laboratorio. Si vuole stimolare lo studente a affrontare problemi di difficoltà crescente, in modo da passare gradualmente da situazioni di tipo imitativo, a casi in cui occorra uno sforzo autonomo per affrontare situazioni non puramente ripetitive.

Consistently with the educational objectives of the Study Program, the course aims at providing students with advanced programming tools, considered an integral part of a mathematician's education. The major objectives are:

  • Learning object-oriented programming
  • Gaining greater awareness of the relationship between code and performance

The course includes a combination of theoretical and practical lessons in the laboratory. The goal is to encourage students to tackle increasingly difficult problems, gradually moving from imitative scenarios to cases that require independent effort to address non-repetitive situations.

Oggetto:

Risultati dell'apprendimento attesi

CONOSCENZA E CAPACITÀ DI COMPRENSIONE
L'insegnamento si propone di fornire allo studente i fondamenti della programmazione ad oggetti.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
I macro-obiettivi di tale capacità sono: (i) sapere progettare programmi ad oggetti secondo quanto specificato dai requisiti; (ii) apprendere l'utilizzo di librerie software numeriche; (iii) acquisire consapevolezza delle prestazioni di un programma.

AUTONOMIA DI GIUDIZIO
Lo studente si esercita a valutare la correttezza dei programmi scritti da altri e da sé, nonché impara a valutare la bontà della propria soluzione (dal punto di vista dell'eleganza del codice e della sua complessità pratica).

ABILITÀ COMUNICATIVE
Lo studente impara a utilizzare con proprietà il linguaggio tecnico-scientifico della materia nell'esposizione dei concetti appresi.

CAPACITÀ DI APPRENDIMENTO
Si vuole stimolare lo studente a affrontare problemi di difficoltà crescente, in modo da passare gradualmente da situazioni di tipo imitativo, a casi in cui occorra uno sforzo autonomo per affrontare situazioni non puramente ripetitive.

KNOWLEDGE AND UNDERSTANDING
The course aims to provide students with the fundamentals of object-oriented programming.

APPLYING KNOWLEDGE AND UNDERSTANDING
The major objectives are: (i) knowing how to design object-oriented programs according to specified requirements; (ii) learning to use numerical software libraries; (iii) gaining awareness of program performance.

INDEPENDENT JUDGEMENT
The student practices evaluating the correctness of programs written by others and by themselves, as well as learning to assess the quality of their own solutions (in terms of code elegance and practical complexity).

COMMUNICATION SKILLS
The student learns to properly use the technical-scientific language of the subject in presenting the concepts learned.

LEARNING SKILLS
The goal is to encourage students to tackle increasingly difficult problems, gradually moving from imitative scenarios to cases that require independent problem-sloving to address non-repetitive situations.

 

Oggetto:

Programma

Il corso riguarda la programmazione orientata agli oggetti in C++. Verranno trattati i seguenti argomenti:

  1. Definizione delle classi
  2. Derivazione ed ereditarietà
  3. Funzioni virtuali
  4. Polimorfismo e binding dinamico
  5. Utilizzo di librerie avanzate

The course is about object-oriente programming in C++. This is the list of topics that are covered:

  1. Definition of classes
  2. Derivation and inheritance
  3. Virtual functions
  4. Polymorphism, dynamic binding
  5. Usage of advanced libraries

 

Oggetto:

Modalità di insegnamento

Il corso prevede 72 ore di insegnamento (9 CFU) e si svolge interamente in laboratorio, alternando lezioni teoriche ed esercitazioni pratiche con gli elaboratori.

The course consists of 72 hours of teaching (9 ECTS) and takes place entirely in the laboratory, alternating between theoretical lessons and practical exercises on the available PCs or personal laptop.

Oggetto:

Modalità di verifica dell'apprendimento


L'esame sarà scritto, e somministrato tremite la Piattaforma Esami I-learn (https://esami.i-learn.unito.it/)

L'esame consiste nel rispondere a una serie di domande sia a risposta chiusa che aperta che possono, ad esempio, richiedere il completamento del codice di semplici programmi, la comprensione di codice fornito, oppure la scrittura di porzioni di codice, in conformità alle richieste del docente.

The exam will be written, and administered through the I-learn Exam Platform (https://esami.i-learn.unito.it/)

The exam consists in answering a sequence of both multiple-choice and open-ended questions, which may, for example, require completing the code of simple programs, understanding the provided code, or writing portions of code, according to the instructor's requirements.

 

Oggetto:

Attività di supporto

Il docente e` disponibile a ricevere studenti (on-line oppure in presenza) su appuntamento.

The instructor is available to meet with students (online or in-person) by appointment.

Testi consigliati e bibliografia



Registrazione
  • Aperta
    Oggetto:
    Ultimo aggiornamento: 14/06/2024 14:37

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