INFORMATICA

Anno accademico
2023/2024 Programmi anni precedenti
Titolo corso in inglese
COMPUTER SCIENCE
Codice insegnamento
CT0631 (AF:466584 AR:253742)
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
I Semestre
Anno corso
1
Sede
VENEZIA
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 sarà Python.
Nessun prerequisito specifico richiesto, tranne la logica elementare.
- 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 visibilità 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" -- Allen B. Downey, 2nd Edition, December 2015, O'Reilly Media, Inc. ISBN: 9781491939369
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 consisterà 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.
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
scritto
Programma definitivo.
Data ultima modifica programma: 31/05/2023