INFORMATICA I - MOD. 1

Anno accademico
2020/2021 Programmi anni precedenti
Titolo corso in inglese
COMPUTER SCIENCE I - MOD. 1
Codice insegnamento
CT0569 (AF:335263 AR:175640)
Modalità
In presenza
Crediti formativi universitari
6 su 12 di INFORMATICA I
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
Annuale
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 fornendone una specifica precisa;
2. progettare una o più soluzioni algoritmiche;
3. implementare tali soluzioni utilizzando linguaggi di programmazione di tipo imperativo;
4. verificare l'esecuzione dei programmi proposti con opportuni casi di test.

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, metodologie di soluzione top-down e bottom-up.
Ricorsione.
Tipi di dati astratti: liste, dizionari, stringhe, set.
Classi e moduli.
Sviluppo e debugging di programmi tramite IDE
Plotting
Hans Petter Langtangen: "A Primer on Scientific Programming with Python", 3rd edition, Springer.
L'esame consiste in una prova scritta e nello svolgimento delle esercitazioni bi-settimanali
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.
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: 14/09/2020