Programmazione dei calcolatori con laboratorio

Docente: Gianluca Rossi

Comunicazioni

Inizio secondo semestre

08-03-2022 18:17

Le lezioni del secondo semestre inizieranno giovedì 10 marzo col seguente orario: giovedì e venerdi dalle ore 10:00 alle ore 11:30.


Lezioni

0null

Sul canale Teams. Collegati.


Materiale didattico

Informazioni

Anno accademico2021-2022
Crediti12
SettoreINF/01
Anno1
Semestre1-2
PropedeuticitàNessuna

Programma

 

Lo scopo del corso è introdurre agli studenti il concetto di problema computazionale e di risoluzione automatica mettendoli in grado di comprendere ed analizzare la struttura di un problema, individuare metodi di risoluzione alternativi, raffrontarli dal punto di vista dell’efficienza, implementarli mediante un opportuno linguaggio di programmazione e valutarne la correttezza.

 

In particolare verranno trattati i seguenti temi: risoluzione automatica dei problemi; algoritmi e programmi; modelli di calcolo; linguaggi di programmazione; tipi di linguaggi di programmazione; compilazione ed interpretazione; linguaggi imperativi; struttura di un programma; tipi di dati semplici e strutturati; variabili; strutture di controllo; puntatori; funzioni; ricorsione; operazioni di input/output; strutture di dati elementari (array, liste e dizionari).

 

Durante il corso verranno presentati una quantità di problemi che saranno risolti facendo riferimento ai linguaggi di programmazione Python e C.

 

Il corso è composto da due parti che si sovrappongono sia come contenuti che temporalmente. Una  parte fornisce una introduzione generale ai temi sopra elencati. L'altra parte è orientata alla soluzione dei problemi proposti utilizzando linguaggi di programmazione ad alto livello: a tale scopo verrà presentati il linguaggi Python e e C.


Testi di riferimento

John V. Guttag. Introduzione alla programmazione con Python. EGEA 2021

Un qualsiasi manuale del linguaggio C ad esempio:

  • Linguaggio C (seconda edizione) di B.Kernighan e D.Ritchie edito da Pearson Education Italia
  • C. Corso completo di programmazione di P.J. Deitel e H.M. Deitel edito da Apogeo

Altre risorse


Ricevimento studenti

Per appuntamento sulla piattaforma Teams.


Modalità di esame

Sono previste 3 sessioni d’esame: Sessione estiva (giugno-luglio); Sessione autunnale (fine agosto-settembre); Sessione invernale (fine gennaio-febbraio). Ogni sessione si compone di 2 appelli che NON sono mutamente esclusivi ovvero chi non supera l’esame del primo appello di una sessione può partecipare al secondo appello.

 

 

L’esame finale si compone di tre parti che si svolgeranno in due giorni distinti. La mattina del primo giorno lo studente dovrà rispondere ad un test contenente 10 domande a risposta multipla. Chi risponderà correttamente ad almeno 6 dei 10 quesiti sarà ammesso alla prova di laboratorio che si terrà lo stesso giorno. In questa seconda prova, da svolgere al calcolatore, allo studente sarà richiesta la soluzione di 2 problemi (uno in Python, l'altro in C). Gli studenti che supereranno questa seconda prova saranno ammessi al colloquio finale che si svolgerà nei giorni successivi.

 

 

Il test a risposta multipla assegna un punto per ogni risposta esatta, quindi assegna da 6 a 10 punti. Le altre due prove assegnano un punteggio che va da 12 a 22. Il voto finale sarà ottenuto sommando il due punteggi ottenuti nelle tre prove.

 

 

N.B. L’esame non può essere suddiviso in più appelli ovvero non è possibile sostenere la prova di laboratorio o il colloquio orale in un appello d’esame successivo a quello in cui si sono svolte le prove precedenti.

 

Trasferimenti da altri Corsi di Studi

 

Gli studenti trasferiti da un altro corso di studi ai quali, in fase di trasferimento, sono stati riconosciuti almeno 6 CFU del Corso di Programmazione dei Calcolatori con Laboratorio sono esonerati dalla prova di laboratorio. Pertanto devono sostenere soltanto il test a risposta multipla ed il colloquio finale.