INFORMATICA
- Anno accademico
- 2026/2027 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER SCIENCE
- Codice insegnamento
- CT0631 (AF:723599 AR:428088)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 6
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- IINF-05/A
- Periodo
- I Semestre
- Anno corso
- 1
- Sede
- VENEZIA
Inquadramento dell'insegnamento nel percorso del corso di studio
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.
Risultati di apprendimento attesi
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.
Prerequisiti
Contenuti
- 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
Testi di riferimento
Modalità di verifica dell'apprendimento
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.
Modalità di esame
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.
Graduazione dei voti
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.
Metodi didattici
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.