INTRODUCTION TO CODING

Anno accademico
2025/2026 Programmi anni precedenti
Titolo corso in inglese
INTRODUCTION TO CODING
Codice insegnamento
ET4018 (AF:449947 AR:256118)
Lingua di insegnamento
Inglese
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
Periodo
4° Periodo
Anno corso
3
Sede
VENEZIA
Il corso mira a fornire una panoramica dei fondamenti e delle tecniche alla base dei sistemi computazionali.
Scopo principale del corso è introdurre gli studenti al pensiero computazionale, risolvendo una varietà di problemi tramite semplici programmi sviluppati in Python, un linguaggio di programmazione ad alto livello oggigiorno molto utilizzato.

Il corso è importante e rilevante per tutti gli studenti che vogliono approfondire o rinforzare i più importanti concetti di base dell'Informatica e della programmazione, acquisendo quindi alcune competenze nel campo dell'informatica.
Conoscenza e comprensione:

- Conoscere e comprendere la rappresentazione dell'informazione nei sistemi computazionali
- Conoscere le principali componenti di un calcolatore e il loro funzionamento di base
- Conoscere i principi della programmazione strutturata (variabili, assegnamenti, condizionali, loop, funzioni, I/O di base, ecc.)
- Conoscere e comprendere i tipi di dato del linguaggio e la loro manipolazione
- Conoscere la nozione di algoritmo con esempi

Capacità di applicare conoscenza e comprensione:

- Capacità di realizzare semplici programmi Python per la manipolazione di dati
- Capacità di debuggare un semplice programma Python
Conoscenze logico/matematiche di base (ordinamenti, medie, connettori logici)
Basi dei sistemi computazionali:
    - Come i computer memorizzano e trasmettono i dati
    - Come l'hardware e il software operano sui dati
    - Come gli utenti usano i computer per risolvere problemi

I temi principali includono la nozione di calcolo, la risoluzione di problemi e gli algoritmi, il linguaggio Python, semplici algoritmi e strutture di dati, test e debug del software.

Infine, alcune argomenti sulla storia dell'informatica e su problematiche sociali / etiche.
- "Think Python. How to Think Like a Computer Scientist (2e)".
Allen Downey. Green Tea Press (disponibile online).


- Risorse online

- Note del docente
L'esame consiste di un progetto e di una prova orale. Il progetto mira a verificare le abilità di problem solving del candidato mentre la prova orale include la discussione del progetto e la verifica di concetti teorici.
Gradazione della valutazione:
- 25% progetto
- 25% discussione del progetto
- 25% esercizi di coding
- 25% conoscenze teoriche
scritto e orale
A. punteggi nella fascia 18-22 verranno attribuiti in presenza di:
- sufficiente conoscenza e capacità di strutturare il progetto;
- limitata capacità di motivare le scelte implementative;
- sufficienti abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico che attiene ai temi del corso;

B. punteggi nella fascia 23-26 verranno attribuiti in presenza di:
- discreta conoscenza e capacità di strutturare il progetto;
- discreta capacità di raccogliere e/o interpretare i dati, proponendo soluzioni implementative efficaci;
- discrete abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico che attiene ai temi del corso;

C. punteggi nella fascia 27-30 verranno attribuiti in presenza di:
- buona o ottima conoscenza e capacità di strutturare il progetto;
- buona o ottima capacità di raccogliere e/o interpretare i dati, proponendo soluzioni implementative innovative;
- abilità comunicative pienamente appropriate, specie in relazione all'utilizzo del linguaggio specifico che attiene ai temi del corso.

D. la lode verrà attribuita in presenza di conoscenza e capacità di comprensione applicata in riferimento al programma, capacità di giudizio e abilità comunicative, eccellenti.
Lezioni teoriche e pratiche.
Esercitazioni.
Programma definitivo.
Data ultima modifica programma: 23/05/2025