INFORMATICA I - MOD. 1

Anno accademico
2021/2022 Programmi anni precedenti
Titolo corso in inglese
COMPUTER SCIENCE I - MOD. 1
Codice insegnamento
CT0569 (AF:355374 AR:186676)
Modalità
In presenza
Crediti formativi universitari
6 su 12 di INFORMATICA I
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
I Semestre
Anno corso
1
Spazio Moodle
Link allo spazio del corso
L’insegnamento si propone di introdurre gli elementi base della programmazione imperativa per formulare soluzioni algoritmiche.
Lo studente acquisirà conoscenza e comprensione dei principi fondanti dell'informatica, relativamente a linguaggi imperativi e algoritmi di base.
Acquisirà altresì comprensione della risolubilità dei problemi informatici e capacità di selezionare metodi adeguati per analisi e modellazione di base.
Al termine dell’insegnamento lo studente dovrà essere in grado di utilizzare strumenti di programmazione (quali editor di codice o Integrated development environment) standard per lo sviluppo e il debugging di programmi. In particolare dovrà saper:
1. formalizzare un problema in modo che sia risolvibile computazionalmente;
2. progettare una o più soluzioni algoritmiche;
3. implementare tali soluzioni utilizzando linguaggi di programmazione di tipo imperativo;
4. verificare l'esecuzione dei programmi e giudicarne l'efficienza.

Il linguaggio di programmazione utilizzato nell’insegnamento sara' Python.
Elementi di base di logica.
Concetti di base sui calcolatori: rappresentazione numerica, algebra di Boole, architettura di von Neumann, pensiero computazionale.
Variabili e tipi elementari. Assegnamento ed espressioni.
Branching e Cicli.
Liste semplici e liste innestate.
Funzioni e visibilita’ di variabili.
Problem solving: decomposizione dei problemi, divide et impera.
Ricorsione.
Tipi di dati astratti: liste, dizionari, stringhe, set.
Classi e moduli.
Sviluppo e debugging di programmi tramite editor o IDE.
Plotting
"Think Python" 2nd Edition, Allen B. Downey.
Disponibile in versione cartacea o digitale:
https://greenteapress.com/wp/think-python-2e/
https://www.oreilly.com/library/view/think-python-2nd/9781491939406/

Il professore fornirà materiale di studio durante le lezioni, in inglese.
L'esame consiste in una prova scritta e nello svolgimento delle esercitazioni bi-settimanali, più un orale opzionale.
La prova scritta mira a valutare le capacità di problem solving dello studente, la conoscenza del linguaggio Python e la capacità di codificare l’algoritmo risolutivo ideato nel linguaggio di programmazione. La prova scritta consistera' in un test iniziale a risposta chiusa volto a valutare le conoscenze teoriche dello studente, e una seconda parte volta al valutare le conoscenze applicate acquisite dallo studente tramite lo sviluppo di alcune soluzioni algoritmiche e la loro implementazione in Python.
L'orale potrà essere svolto per migliorare il punteggio dello scritto, ma può anche portare ad una riduzione.
A seconda delle condizioni (lezioni ed esami in presenza o da remoto) la modalità di valutazione potrà cambiare.
Lezioni frontali ed esercitazioni. Le lezioni frontali saranno utilizzate per introdurre gli elementi di teoria del corso, utilizzando editor on-line per mostrare i costrutti del linguaggio ed esempi di codice. Le esercitazioni si svolgeranno in aula con i PC degli studenti, che potranno usare sia strumenti locali che on-line per completarle.
Italiano
La struttura ed i contenuti dell'insegnamento potranno subire variazioni in conseguenza dell'epidemia di COVID-19
scritto
Programma definitivo.
Data ultima modifica programma: 11/03/2021