View syllabus
Fundamentals of Programming
MARCO COCOCCIONI
Academic year2023/24
CourseCOMPUTER ENGINEERING
Code862II
Credits9
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
FONDAMENTI DI PROGRAMMAZIONEING-INF/05,ING-INF/05LEZIONI90
MARCO COCOCCIONI unimap
PERICLE PERAZZO unimap
CARLO PULIAFITO unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Dato un problema, lo studente deve essere in grado di progettare le strutture dati e l'algoritmo capace di risolverlo. Qualora per le soluzione del problema sia opportuno creare un nuovo tipo di dato astratto, lo studente deve essere in grado di progettare in maniera accurata e corretta la relativa classe, utilizzando il linguaggio di Programmazione C++. 

Knowledge

Given a problem, the student must be able to design the data structures and the algorithm capable of solving it. If for the solution of the problem it is appropriate to create a new abstract data type, the student must be able to accurately and correctly design the relative class, using the C++ programming language.

Modalità di verifica delle conoscenze

L'esame consiste di tre prove. Per accedere a quella successiva occorre aver superato quella precedente.

1) Prova scritta (QUIZ a risposta chiusa)

2) Prova pratica al calcolatore

3) Prova orale

La prova 1) si tiene lo stesso giorno della prova 2).

La prova 1) potrebbe essere rimossa nei periodi di pandemia (farà fede quanto riportato nella sezione avvisi del sito del corso nei giorni prima dell'esame pratico).

Assessment criteria of knowledge

Written test with closed answers, computer test and oral test.

Capacità

Capacità di individuare la struttura dati più idonea a risolvere un dato problema.

Capacità implementativa, ossia di implementare in linguaggio C++ la classe che risolve il problema assegnato.

Skills

Ability to identify the most suitable data structure to solve a given problem.


Implementation ability, that is to implement in C++ language the class that solves the assigned problem.

Modalità di verifica delle capacità

Lo studente dovrà dimostrare di aver acquisito i concetti base della programmazione

strutturata e della programmazione mediante tipi di dato astratti.

Assessment criteria of skills

The student must demonstrate to have acquired the basic concepts of structured programming and programming using abstract data types.

Comportamenti

N/A

Behaviors

N/D

Modalità di verifica dei comportamenti

N/A

Assessment criteria of behaviors

N/D

Prerequisiti (conoscenze iniziali)

Non richiesti.

Prerequisites

Not required.

Indicazioni metodologiche

Si consiglia caldamente di partecipare alle lezioni ed ai laboratori. È fondamentale inoltre aver la possibilità di esercitarsi al calcolatore a casa, cimentandosi quanto più possibile con le tracce d'esame degli anni precedenti, che sono provviste di soluzione (tutto il materiale si trova sul sito del corso).

Teaching methods

It is highly recommended to participate in lessons and workshops. It is also essential to have the opportunity to practice the computer at home, trying to solve the exam tests from previous years.

Programma (contenuti dell'insegnamento)

Concetti di base della programmazione. Rappresentazione dell'informazione.
Programmare in C. Concetti di base della programmazione a oggetti.
Programmare in C++. Progettare ed implementare tipi di dato astratti.

Syllabus

Basic concepts of programming. Information representation.
Programming in C. Basic concepts of object-oriented programming.
Programming in C++. Design and implement abstract data types.

Bibliografia e materiale didattico

1) Andrea Domenici, Graziano Frosini, "Introduzione alla Programmazione ed Elementi di Strutture Dati con il Linguaggio C++",
Milano: Franco Angeli (va bene dalla quinta edizione in poi)

2) Paolo Corsini e Graziano Frosini, "Note sull’organizzazione di un calcolatore e Rappresentazione dell’informazione", Edizioni ETS, Pisa, 2011

3) Slide del corso, in formato PDF, pubblicate sul sito del corso

Bibliography

1) Andrea Domenici, Graziano Frosini, "Introduzione alla Programmazione ed Elementi di Strutture Dati con il Linguaggio C++", Milano: Franco Angeli (okay from the fifth edition onwards)

2) Paolo Corsini, Graziano Frosini, "Note sull’organizzazione di un calcolatore e Rappresentazione dell’informazione", Edizioni ETS, Pisa, 2011

3) Course slides, in PDF format, published on the course site.

Indicazioni per non frequentanti

Studiare in maniera approfondita i testi di riferimento ed il materiale pubblicato sulla pagina web del corso (in particolare il materiale svolto in laboratorio).

 

Non-attending students info

Study in depth the reference texts and the material published on the web page of the course (in particular the material done in the laboratory).

Modalità d'esame

L'esame consiste di una prova scritta a risposta chiusa (quiz), una prova pratica e una prova orale. Per accedere alla prova pratica occorre aver risposto correttamente ad almeno quattro delle sei domande della prova a quiz. Il quiz e la prova pratica si svolgono contestualmente, mentre la prova orale puo' essere sostenuta in un appello diverso. Per iscriversi alla prova orale occorre aver superato la prova pratica. Per partecipare ad una delle prove calendarizzate (prova pratica/prova orale), OCCORRE ISCRIVERSI CON ALMENO 4 GIORNI DI ANTICIPO. Sul calendario degli appelli troverete la data della prova pratica e non quella della prova scritta a risposta chiusa: e' sottointeso che il giorno della prova pratica si inizia con la prova scritta a risposta chiusa. La prova scritta verra' corretta subito. Chi avra' raggiunto la sufficienza (almeno quattro risposte corrette su sei) potra' accedere alla prova pratica, come gia' detto sopra. IL NUMERO DI VOLTE IN CUI CI SI PUO' PRESENTARE ALLA PROVA PRATICA E' MINORE O UGUALE A QUATTRO. Pertanto, se lo studente fallisse per quattro volte (anche non di seguito) la sola prova scritta, non potra' piu' presentarsi all'esame in quell'anno accademico. Deve pertanto attendere la prima prova invernale dell'anno accademico successivo. Stessa cosa se lo studente fallisse per quattro volte l'appello orale.

Assessment methods

Written test with closed answers, computer test and oral test.

Updated: 13/09/2023 11:23