Contattataci

Struttura del corso

Fondamenti del Pensiero Agile

  • La Manifesto Agile e la sua rilevanza oltre il software
  • Confronto tra agile e modelli tradizionali a cascata e basati sulla pianificazione
  • Ruoli, eventi e artefatti Scrum mappati sui cicli dei progetti accademici
  • Kanban e gestione basata sul flusso per team di ricerca e didattica
  • Scelta di ibridi agile adatti agli ambienti di ingegneria e design

Pianificazione Agile e Collaborazione

  • Scrittura di user story e definizione dei criteri di accettazione per problemi ingegneristici
  • Tecniche di priorità del backlog: MoSCoW, valore vs. sforzo, ordinamento basato sul rischio
  • Pianificazione degli sprint e stime con team non software
  • Retroscope e miglioramento continuo in un contesto accademico
  • Strumenti e board di collaborazione per partecipanti multidisciplinari

Introduzione alla Cultura DevOps

  • Definizione di DevOps: abbattimento dei silos tra sviluppo e operazioni
  • Il modello CALMS: Cultura, Automazione, Lean, Misurazione, Condivisione
  • DevOps nei laboratori di ricerca, team di ingegneria civile e studi di architettura
  • Costruzione di una cultura senza colpevoli e loop di feedback nelle istituzioni educative
  • Considerazioni etiche, sulla sicurezza e sulla conformità nell'adozione di DevOps in ambito accademico

Controllo di Versione e Gestione Collaborativa del Codice

  • Fondamenti di Git per ingegneria e design riproducibili
  • Strategie di branching: trunk-based, feature branches e GitFlow semplificato
  • Pull request, revisione tra pari e proprietà del codice nei team didattici
  • Gestione di asset non codici: file CAD, modelli BIM, dataset di simulazione
  • Organizzazione dei repository per materiali di corso e progetti studenteschi

Integrazione Continua e Automazione delle Build

  • Concetti di CI e la loro applicazione a strumenti ingegneristici compilati e scripting
  • Impostazione di build automatizzate per software, simulazioni e documentazione
  • Fasi della pipeline: compilazione, packaging, linting e controlli pre-impostazione
  • Panoramica delle principali piattaforme CI: GitHub Actions, GitLab CI, Jenkins
  • Gestione di artefatti di grandi dimensioni, caching delle dipendenze ed esecuzione parallela

Qualità del Software e Analisi Statica

  • Definizione della qualità del software: manutenibilità, affidabilità, usabilità, efficienza
  • Metriche del codice: complessità cicomatica, accoppiamento, coesione e duplicazione
  • Strumenti di analisi statica per Python, Java, C++ e scripting ingegneristico comune
  • La documentazione come qualità: docstring, standard README e documentazione vivente
  • Integrazione di gate di qualità nelle pipeline CI senza bloccare il progresso degli studenti

Strategie di Test e Progettazione dei Test

  • La piramide dei test: unit test, test di integrazione, test di sistema e test di accettazione
  • Scrittura di unit test per calcoli ingegneristici, simulazioni e utilità
  • Fondamenti di Sviluppo Guidato dai Test (TDD) e Sviluppo Guidato dal Comportamento (BDD)
  • Mocking di sistemi esterni: sensori, API, solver agli elementi finiti
  • Strutturazione delle suite di test per progetti di équipe multidisciplinari

Automazione dei Test e Testing Continuo

  • Automazione dell'esecuzione dei test all'interno delle pipeline CI/CD
  • Reporting dei test, soglie di copertura e gestione dei test instabili (flaky tests)
  • Testing basato sulle proprietà e fuzzing per algoritmi ingegneristici
  • Strategie di regression testing per compiti di corso in evoluzione
  • Testing delle prestazioni e del carico per carichi di lavoro di simulazione e rendering

Concetti di Consegna Continua e Deployment

  • Fondamenti di CD: consegna vs. deploy, ambienti e promozione
  • Pattern di deploy: blue-green, canary e feature toggles
  • Applicazione dei principi CD per pubblicare artefatti di ricerca, siti di corso e applicazioni
  • Introduzione ai container con Docker per ambienti ingegneristici riproducibili
  • Introduzione all'Infrastructure as Code: gestione dichiarativa di setup di laboratori e cloud

Osservabilità, Monitoraggio e Feedback

  • Logging, metriche e tracing per software accademico e simulazioni
  • Impostazione di un monitoraggio leggero per progetti studenteschi e strumenti di ricerca
  • Utilizzo dei dati di feedback per iterare su materiali didattici e compiti di laboratorio
  • Dashboard e allerting appropriati per contesti educativi
  • Verifica post-deploy e procedure di rollback

Best Practice di Sicurezza e Qualità

  • Fondamenti di coding sicuro: convalida degli input, autenticazione e gestione dei segreti
  • Scanning delle dipendenze e gestione delle vulnerabilità negli stack open source
  • Conformità delle licenze per il software utilizzato nella didattica e nella pubblicazione
  • Considerazioni sulla privacy dei dati quando si gestiscono dati studenteschi e di ricerca
  • Creazione di una cultura consapevole della sicurezza nei programmi di ingegneria e design

Traduzione delle Pratiche in Moduli Didattici

  • Progettazione di assegnazioni di progetto agile per studenti di sistemi, ingegneria civile, design e architettura
  • Creazione di rubriche che valutano la qualità del processo alongside la qualità del prodotto
  • Impostazione di repository modello con CI pre-configurata per l'uso degli studenti
  • Graduale introduzione dei concetti DevOps durante un semestre
  • Valutazione delle équipe studentesche utilizzando metriche reali di qualità e automazione

Selezione delle Toolchain e Vincoli Accademici

  • Valutazione di strumenti gratuiti e open source per dipartimenti attenti al budget
  • Integrazione con LMS esistenti, archiviazione file e infrastrutture di laboratorio
  • Gestione del technical debt in codebase di ricerca di lunga durata
  • Onboarding di studenti e docenti con background tecnici variabili
  • Mantenimento della sostenibilità quando i contributori chiave si laureano o ruotano

Requisiti

  • Una comprensione di base dei concetti di sviluppo software
  • Conoscenza dei flussi di lavoro generali di ingegneria o design
  • Esperienza nell'utilizzo di computer per lavoro accademico o basato su progetti

Destinatari

  • Professori e docenti dei corsi di Ingegneria dei Sistemi, Ingegneria Civile, Design e Architettura
  • Personale accademico che intende modernizzare la propria didattica con pratiche rilevanti per il settore
  • Responsabili della ricerca e coordinatori di laboratori che integrano la tecnologia nei programmi di studio
 42 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative