LAB OF SOFTWARE PROJECT DEVELOPMENT

Anno accademico
2025/2026 Programmi anni precedenti
Titolo corso in inglese
LAB OF SOFTWARE PROJECT DEVELOPMENT
Codice insegnamento
ET7018 (AF:463773 AR:258245)
Lingua di insegnamento
Inglese
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
2° Periodo
Anno corso
3
Sede
RONCADE
Spazio Moodle
Link allo spazio del corso
La maggior parte delle aziende moderne dipende dallo sviluppo di software. Il manager digitale deve essere a conoscenza delle tecniche e degli strumenti utilizzati nello sviluppo di un progetto software. Questo corso serve ad apprendere le basi di questo processo attraverso un approccio teorico e pratico. Gli studenti svilupperanno un piccolo progetto software e, nel farlo, apprenderanno sia gli strumenti organizzativi necessari sia il proprio processo di sviluppo.

L'obiettivo di questo corso è fornire agli studenti le conoscenze di base sugli strumenti/piattaforme di sviluppo software più comuni e consentire loro di creare e gestire i propri progetti software.
Durante il corso, lo studente acquisirà le seguenti conoscenze e abilità.

Conoscenze:
- Metodologie più comuni per lo sviluppo di software: waterfall, agile, open o closed source;
- Le basi della creazione di software Python: struttura, documentazione, pubblicazione;
- Concetti e modelli di programmazione in Python.
- Nozioni di base sui principali paradigmi di programmazione;
- Nozioni di base sui sistemi di gestione dei database;
- Sviluppo test-driven e debugging.

Abilità:
- Familiarità con le piattaforme di hosting/sviluppo software (git, github)
- Nozioni di base sullo sviluppo software più avanzato in Python (oltre lo scripting);
- Creazione, sviluppo, documentazione e pubblicazione di un progetto Python;
- Utilizzo di base di SQL all'interno di un progetto Python
- Utilizzo di base del unit testing e debugging in Python
Familiarità con il linguaggio di programmazione Python, acquisito attraverso il corso "Introduction to coding".
Il corso adotta un approccio sia teorico che pratico all'argomento. Ogni settimana vengono affrontate le basi teoriche (2 lezioni) e viene offerta un'esperienza pratica con i relativi strumenti software in un laboratorio (1 lezione). Gli argomenti principali sono:

1. Software di controllo delle versioni (git, github)
2. Metodologie di sviluppo software, licenze software (agile, scrum/kanbas utilizzando git)
3. Paradigmi di programmazione e buone pratiche nello sviluppo di software, ad esempio stile, documentazione (moduli python argparse e csv)
4. Introduzione ai database, nozioni di base dell'algebra relazionale (sql di base, sqlite)
5. Sviluppo test-driven (unit testing in python) e debugging
Il corso si basa su diverse fonti, la maggior parte delle quali sono disponibili on-line e verranno dettagliate con il materiale del corso.
Lo studio delle fonti e delle slides è sufficiente per gli studenti che seguono il corso.
La valutazione consisterà in un esame scritto e in un progetto software di gruppo che sarà presentato al docente.
La prova scritta comprenderà domande a risposta multipla e domande aperte.
scritto e orale
Per quanto riguarda la gradazione del voto dello scritto (modalità con cui saranno assegnati i voti), a prescindere dalla modalità frequentante o non frequentante:
A. punteggi nella fascia 18-22 verranno attribuiti in presenza di sufficiente conoscenza e capacità di comprensione applicata in riferimento al programma;
B. punteggi nella fascia 23-26 verranno attribuiti in presenza di discreta conoscenza e capacità di comprensione applicata in riferimento al programma;
C. punteggi nella fascia 27-30 verranno attribuiti in presenza di buona o ottima conoscenza e capacità di comprensione applicata in riferimento al programma;
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.
Le lezioni saranno alternate tra teoriche (2/3) e pratiche (1/3). Durante le lezioni pratiche verranno illustrati i principali strumenti da utilizzare nel lavoro di progetto.
Il programma è ancora provvisorio e potrà subire modifiche.
Data ultima modifica programma: 08/12/2025