INFORMATICA
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER SCIENCE
- Codice insegnamento
- CT0631 (AF:575790 AR:324129)
- Lingua di insegnamento
- Italiano
- 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
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
Il punteggio calcolato da HackerRank è in 100-esimi, in base alla percentuale di test case sulla quale il codice prodotto risulta corretto.
A tale voto è possibile aggiungere fino a 3 punti extra a discrezione del professore, se lo studente ha sostenuto con sufficienza un numero adeguato di esercitazioni durante lo svolgimento del corso.
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.