INFORMATICA I - MOD. 1

Anno accademico
2026/2027 Programmi anni precedenti
Titolo corso in inglese
COMPUTER SCIENCE I - MOD. 1
Codice insegnamento
CT0569 (AF:723452 AR:428088)
Lingua di insegnamento
Italiano
Modalità
In presenza
Crediti formativi universitari
6 su 12 di INFORMATICA I
Livello laurea
Laurea
Settore scientifico disciplinare
IINF-05/A
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 con a seguire un breve prova orale.
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.
L'esame scritto sarà seguito da una breve prova orale, volta a valutare ulteriormente le stesse competenze e la padronanza del linguaggio tecnico.

Il voto è determinato da: - conoscenza delle materie, tenendo conto dell’uso corretto dei vari costrutti del linguaggio per la risoluzione degli esercizi (peso 20%); - capacità di applicare le conoscenze, tenendo conto delle procedure corrette/errate utilizzate per fornire le soluzioni agli esercizi (peso 60%); - correttezza, efficienza e leggibilità delle soluzioni fornite per gli esercizi (peso 20%).
scritto

Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.

Griglia di valutazione:
28-30L: padronanza degli argomenti trattati a lezione, ottime competenze nell'analizzare problemi e tradurli in algoritmi e codici funzionanti.
26-27: buona conoscenza degli argomenti trattati a lezione, buone competenze nell'analizzare problemi e tradurli in algoritmi e codici corretti funzionanti o parzialmente corretti.
24-25: conoscenza non sempre approfondita degli argomenti trattati a lezione, discrete competenze nell'analizzare problemi con codici spesso non completamente corretti.
22-23: conoscenza spesso superficiale degli argomenti trattati a lezione, carenze nell'analizzare problemi appena più complessi, con errori nei codici prodotti.
18-21: conoscenza a tratti lacunosa degli argomenti trattati a lezione, competenze appena sufficienti per risolvere problemi molto semplici con codice funzionante.Il voto dell'esame è calcolato automaticamente dalla piattaforma HackerRank sulla quale si svolgerà l'esame scritto.
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.
Programma definitivo.
Data ultima modifica programma: 27/09/2026