Insegnamento LABORATORIO OPEN SOURCE
- Corso
- Programmazione e gestione di sistemi informatici
- Codice insegnamento
- A003651
- Curriculum
- Comune a tutti i curricula
- Docente
- Marina Latini
- Docenti
-
- Marina Latini
- Ore
- 36 ore - Marina Latini
- CFU
- 3
- Regolamento
- Coorte 2023
- Erogato
- 2023/24
- Attività
- Altro
- Ambito
- Tirocini formativi e di orientamento
- Settore
- NN
- Tipo insegnamento
- Obbligatorio (Required)
- Tipo attività
- Attività formativa monodisciplinare
- Lingua insegnamento
- Italiano
- Contenuti
- Il corso di Laboratorio sull'Open Source è progettato per fornire agli studenti una comprensione approfondita dei concetti e delle pratiche legate al mondo dell'open source. Durante il corso, esploreremo i principi fondamentali dell'open source, le sue implicazioni nella tecnologia e nella società, nonché le abilità pratiche necessarie per partecipare attivamente a progetti open source.
- Testi di riferimento
- Materiale fornito dal docente
- Obiettivi formativi
- Alla fine di questo corso, gli studenti saranno pronti ad entrare nel mondo dell'open source con una comprensione approfondita dei principi, delle pratiche e delle abilità necessarie per partecipare in modo significativo ai progetti open source, pronti a contribuire e a fare la differenza nella comunità open source.
- Prerequisiti
- Conoscenza di base di programmazione (preferibilmente in linguaggi come Python, Java o C++) e familiarità con i concetti di base di gestione del codice attraverso piattaforme come Git.
- Metodi didattici
- Il corso prevede lezioni teoriche, discussioni in classe, esercitazioni pratiche in laboratorio e il coinvolgimento diretto in progetti open source come LibreOffice. Gli studenti avranno l'opportunità di contribuire attivamente al progetto LibreOffice, applicando le competenze acquisite durante il corso.
- Altre informazioni
- Il docente è disponibile ad erogare lezioni frontali, esercitazioni e sessioni di esami in lingua Inglese.Il docente è disponibile a sostenere l'esame in lingua Inglese.
- Modalità di verifica dell'apprendimento
- La verifica avverrà mediante la presentazione di un progetto in modalità scritta e orale.
- Programma esteso
- Introduzione all'Open Source
Definizione di open source e il suo contesto storico.
Vantaggi e sfide dell'open source.
Analisi delle licenze open source.
Modelli di Sviluppo Open Source
Discussione sui modelli di sviluppo collaborativo, come il modello "bazaar" e il modello "cattedrale".
Ruoli all'interno di un progetto open source: sviluppatori, maintainer, contributor, ecc.
Progetti Open Source Rilevanti
Studio di casi di successo nel mondo dell'open source, come Linux, LibreOffice, Mozilla, ecc.
Impatto sociale ed economico dei progetti open source.
Contribuzione e Collaborazione.
Uso di piattaforme di gestione dei progetti come GitHub e GitLab.
Forking, branching, pull e merge requests.
Risoluzione dei conflitti e revisione del codice con GitHub, GitLab e Gerrit.
Il processo di sviluppo, rilascio e manutenzione del codice.
Piattaforme per creare e distribuire pacchetti binari a partire dai sorgenti in modo automatico, coerente e riproducibile come Open Build Service.
Sviluppo di Competenze Tecniche
Esercizi pratici di segnalazione e analisi dei problemi con Bugzilla and git bisect.
Implementazione di piccole migliorie al codice di LibreOffice per comprendere come effettuare le prime contribuzioni al progetto.
Distribuzione del software tramite .spec file e ricette di compilazione del software.
Localizzazione del software con Weblate.
Comunicazione efficace all'interno delle comunità open source.
Norme di comportamento e rispetto delle linee guida della comunità. - Obiettivi Agenda 2030 per lo sviluppo sostenibile
- Questo insegnamento concorre alla realizzazione degli obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile