Gestione progetto e organizzazione d'impresa

Anno scolastico: 2025/2026 - Classi: 5INB / 5INC

L'obiettivo del corso è quello di insegnare le basi della gestione del ciclo di sviluppo dei progetti software, utilizzando tecnologie come i Version Control Systems (VCS), Git e altri.


Lezione 1 - Introduzione al corso

Argomenti:
  • Motivi per studiare Gestione Progetto;
  • Lo sviluppo collaborativo;
  • I Version Control Systems (VCS):
    • Caratteristiche principali;
    • Parole chiave (commit, branch e merge).
  • Introduzione a Git.
Materiali
Slides della lezione
(link)

Lezione 2 - Fondamenti di Git

Argomenti:
  • Cenni storici;
  • Configurazione profilo utente;
  • Comando git init;
  • Comando git commit -m "[...]".
Materiali
Slides della lezione
(link)
Esercizio 1 - Lo Zoo di Java
(link)

Lezione 3 - Funzioni di hash e commit

Argomenti:
  • Funzioni di hash;
  • Composizione di un commit:
    • Intestazione (autore, data e messaggio);
    • Modifiche dei file selezionati.
  • Navigazione nello storico dei commit:
    • Comando git checkout;
    • Puntatore HEAD;
    • Concetto di detached head.
Materiali
Slides della lezione
(link)
Esercizio 2 - La macchina del tempo
(link)

Lezione 4 - Gestione dei branch

Argomenti:
  • I branch in un VCS:
    • Definizione di branch;
    • Motivi per creare un branch;
    • Esempio: con o senza Git?
  • I branch in Git:
    • Creazione di un nuovo branch;
    • Visualizzazione dei branch in un repository;
    • Navigazione tra i branch;
  • Viaggio tra le dimensioni:
    • Detached head;
    • Regole di add e commit;
  • L'operazione di merge:
    • Definizione di merge;
    • Comandi per Git Bash.
Materiali
Slides della lezione
(link)
Esercizio 3 - Viaggio nelle dimensioni (1)
(link)

Lezione 5 - I conflitti nei merge

Argomenti:
  • L'operazione di merge:
    • Definzione;
    • Comando git merge;
    • Il commit di merge.
  • I conflitti nell'operazione di merge:
    • Come risolvere un conflitto;
    • Gestione delle modifiche;
    • Differenze tra HEAD e branch.
Materiali
Slides della lezione
(link)
Esercizio 4 - Segreteria dell'Accademia
(link)

Lezione 6 - Git Flow (parte 1)

Argomenti:
  • Introduzione a Git Flow:
    • Modello di funzionamento;
    • Elenco dei vari branch.
  • I branch di Git Flow:
    • Il branch development;
    • Il branch feature/[...];
    • Il branch release/[...];
    • Il branch hotfix/[...].
Materiali
Slides della lezione
(link)
Dispensa - "Learn Git Branching"
(link)

Indice delle lezioni:

Calendario delle lezioni
Classe 5INB
Ogni venerdì
11:20 / 13:00 - Aula S51
Classe 5INC
Ogni venerdì
13:00 / 14:40 - Aula 104

Docenti:

Classe 5INB
De Vincentiis Anna
Dei Rossi Leonardo Essam
Classe 5INC
Dei Rossi Leonardo Essam
Peserico Giulia