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

ModulesAreaTypeHoursTeacher(s)
FONDAMENTI DI PROGRAMMAZIONEING-INF/05LEZIONI90
MARCO COCOCCIONI unimap
PERICLE PERAZZO 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

Prova scritta a risposte chiuse, prova pratica al calcolatore e prova orale.

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 con la soluzione delle tracce d'esame degli anni precedenti.

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

_____________________________________________________________________________

VECCHIA MODALITA’, utilizzata prima dell’emergenza SARS-CoV-2 e che verra' ripristinata ad emergenza finita __________________________________________________________________________ Per partecipare all'esame, occorre iscriversi online alla prova pratica, secondo le consuete modalità. Una volta iscritti, ci si presenta il giorno della prova pratica, e la prova inizia con: 1) Una prova scritta composta da 6 domande a risposta chiusa (Quiz). 2) Una prova pratica al calcolatore, per i soli che hanno risposto correttamente ad almeno 4 domande su 6 del Quiz. Entro la mezzanotte del giorno successivo allo svolgimento della
prova pratica, gli studenti dovranno effettuare l'autocorrezione del loro elaborato. 3) Una orale, che si svolge generalmente una settimana dopo la prova
pratica, usufruibile solo a chi ha superato il Quiz e la prova pratica. __________________________________________________________________________ _____________________________________________________________________________ NUOVA MODALITA', valida per la fase 2 dell'emergenza SARS-CoV-2 _____________________________________________________________________________ Per partecipare all'esame, occorre iscriversi online alla prova pratica, secondo le consuete modalità. Una volta effettuata l'iscrizione ENTRO 4 GIORNI dalla data dell'esame pratico, il giorno del pratico occorrerà collegarsi alla piattaforma Microsoft Teams. Dopodiché l'esame ha inizio, con la seguente modalità: [ ESAME PRATICO ] 1) la prova scritta a risposta chiusa (Quiz) NON CI SARA'. Pertanto tutti
sono ammessi alla prova pratica, secondo le modalità descritte al
prossimo punto. 2) prova pratica da svolgere ciascuno al proprio calcolatore di casa
(PC/computer portatile/tablet). La prova pratica segue le stesse modalità degli anni scorsi, anche nella
sua suddivisione in prima e seconda parte. L'unica cosa che cambierà è il fatto che prima verrà reso noto il testo
della prima parte, e dopo un'ora verrà chiesto di consegnare intanto la
soluzione della prima parte. Gli studenti dovranno pertanto inviare i file compito.h e compito.cpp ad un server web, attivo ad un
indirizzo web che verrà comunicato durante la sessione d'esame. Successivamente i docenti renderanno noto il testo della seconda parte
(ossia forniranno la traccia completa) e gli studenti dovranno, sempre
dopo un'ora dall'inizio dello svolgimento della seconda parte, inviare la nuova versione dei file compito.h e compito.cpp al solito
server di cui sopra. Entro la mezzanotte del giorno successivo allo svolgimento della prova
pratica, gli studenti dovranno effettuare l'autocorrezione del
loro elaborato. Solo gli elaborati che verranno autocorretti verranno valutati. Con l'autocorrezione lo studente conferma la consegna dell'elaborato,
pertanto la consegna diventa ufficiale e verra' conteggiata tra le
quattro possibili nell'anno solare 2020. Qualora la prima parte non dovesse compilare, lo studente non
viene ammesso all'orale. Lo studente non verrà ammesso all'orale neanche nel caso in cui la
valutazione fosse inferiore al punteggio di 18 trentesimi. [ ESAME ORALE ] Coloro che avranno superato la prova pratica potranno presentarsi
all'orale telematico nella data prestabilita, purché si iscrivano
all'esame orale entro la mezzanotte della sera precedente. Il giorno della prova orale occorre dotarsi di un PENNARELLO NERO SPESSO
e di FOGLI BIANCHI, per poter scrivere in maniera cose che risultino
leggibili una volta che il foglio venga inquadrato dal proprio smartphone.
Si consiglia agli studenti di dotarsi di un supporto che sorregga lo smartphone, in modo tale che il video con l'inquadratura del foglio non
risulti "mosso". SI RINGRAZIANO TUTTI GLI STUDENTI PER GENTILE COLLABORAZIONE E CI SCUSIAMO
PER IL DISAGIO CAUSATO DA QUESTA NUOVA, TEMPORANEA, MODALITA' D'ESAME. _____________________________________________________________________________

Assessment methods

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

Updated: 10/09/2020 13:50