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)

Lezione 7 - Git Flow (parte 2)

Argomenti:
  • L'estensione Git Flow:
    • Uso del comando git flow init;
    • Configurazione iniziale dei branch.
Materiali
Slides della lezione
(link)
Esercizio 5 - Wattpad
(link)

Lezione 8 - Introduzione a GitHub

Argomenti:
  • Introduzione a GitHub:
    • Cenni storici;
    • Git + GitHub = VCS ibrido.
  • Creazione del repository:
    • Nome e descrizione;
    • Visibilità (pubblico / privato);
    • Cenni su .gitignore;
    • Cenni sulle licenze.
  • Credenziali e sicurezza:
    • Gestione dei Personal Access Tokens;
    • Gli Scope di un token;
    • Salvataggio delle credenziali su Git.
  • Lavorare sul repository:
    • Comandi git clone e git remote add [...];
    • Comando git pull;
    • Comando git push.
Materiali
Slides della lezione
(link)
Esercizio 6 - Hello World (GitHub)
(link)

Lezione 9 - Gestione delle Pull Request

Argomenti:
  • Concetto di Pull Request (PR):
    • Ripasso su operazione di merge;
    • Operazione di merge in cloud.
  • Sviluppo condiviso:
    • Fasi di approvazione di una PR;
    • Tag(s) della PR:
      • Revisori (Reviewers);
      • Assegnatari (Assignees);
      • Etichette (Labels).
    • Chiusura di una PR.
Materiali
Slides della lezione
Progetto di Natale
Slides della lezione
(link)
Approfondimento - API REST con PHP + JS
(link)
Approfondimento - Query SQL con PHP
(link)

Lezione 10 - Waterfall Methodology

Argomenti:
  • Introduction:
    • Key Takeaways;
    • What is the Waterfall methodology?
  • Stages of the Waterfall:
    • Stage #1: Requirements;
    • Stage #2: Design;
    • Stage #3: Implementation;
    • Stage #4: Verification;
    • Stage #5: Maintenance.
  • Benefits of the Waterfall methodology;
  • Limitations of the Waterfall methodology.
Materiali
Slides della lezione
(link)
Activity #1 - Fortis Financial "SafePass"
(link)

Lezione 11 - Agile Methodology

Argomenti:
  • What is the Agile methodology:
    • Key Takeaways.
  • Why choose Agile?
  • The phases of Agile:
    • Phase #1: Requirements;
    • Phase #2: Design;
    • Phase #3: Development;
    • Phase #4: Testing;
    • Phase #5: Deployment;
    • Phase #6: Review.
  • Agile vs. Waterfall.
Materiali
Slides della lezione
(link)
Calendario delle lezioni
Classe 5INB
Ogni venerdì
11:20 / 13:00 - Aula S51
Classe 5INC
Ogni venerdì
13:00 / 14:40 - Aula 104

Indice delle lezioni:

Primo quadrimestre
Lezione 1 (26/09/2025)
Lezione 2 (03/10/2025)
Lezione 3 (10/10/2025)
Lezione 4 (17/10/2025)
Lezione 5 (17/10/2025)
Lezione 6 (24/10/2025)
Lezione 7 (14/11/2025)
Lezione 8 (21/11/2025)
Lezione 9 (05/12/2025)
Secondo quadrimestre
Lezione 10 (27/02/2025) [1]
Lezione 11 (06/03/2025) [1]


[1] Lezioni del modulo CLIL "Software development methodologies".