Introduzione ai tirocini

Cosa sono i tirocini

Con la riforma dei corsi di laurea è stata introdotto il concetto di tirocinio pratico obbligatorio per tutti gli studenti di Informatica e Scienze di Internet. Un'azienda operante nel settore può proporre argomenti di tirocinio, e gli studenti assegnati debbono presentarsi in azienda ed eseguire il lavoro secondo le regole specificate dall'azienda. L'università si fa carico di assegnare gli studenti alle aziende richiedenti, e ad estendere la protezione assicurativa al periodo svolto in azienda. Il tirocinio deve essere svolto al terzo anno del corso triennale, ha durata di 225 ore di lavoro effettivo da svolgere, secondo le congiunte esigenze di studente ed azienda, all'interno di un periodo di circa tre mesi.

Con regolarità in una pagina del sito web del corso di laurea vengono elencati i tirocini offerti e le aziende che li offrono. Entro il 15 ottobre e il 15 marzo di ogni anno accademico bisogna sottomettere alla Commissione Tirocini le domande di assegnazione. Sulla base di criteri precisi, applicati in particolare quando più studenti fanno domanda per la medesima offerta, la commissione assegna poi il tirocinio allo studente.

Da qualche tempo, oltre ai tirocini in azienda, anche i docenti possono offrire proposte di tirocinio agli studenti della triennale. In questo caso, lo studente incaricato si offre di svolgere un lavoro all'interno di uno dei gruppi di ricerca del docente, lavorando a casa o in dipartimento, per le stesse 225 ore richieste per i tirocini.

Altre e più dettagliate informazioni sui tirocini sono offerte alla specifica pagina del sito di Informatica.

Differenze tra tesi e tirocinio

La tesi è un'opera individuale e creativa realizzata da uno studente alla fine del suo corso di studi. Può essere implementativa, compilativa o (per le lauree specialistiche) anche di ricerca. Il tirocinio è un'attività para-lavorativa presso un'organizzazione esterna (un'azienda, una pubblica amministrazione, ecc.) all'interno di un'attività già organizzata e controllata. Accademicamente questa è un'attività pre-laurea che dà diritto a crediti necessari per il conseguimento della laurea, ma non ad un voto (a parte, ovviamente, un pass-or-fail).

Sono, come si vede, due tipi di attività completamente diverse e incomparabili. Tuttavia in parte le attività di tesi e tirocinio si possono confrontare e diventare contigue. In questo caso per un docente di questo corso di laurea diventa possibile fornire, all'interno delle attività di ricerca sue e del suo gruppo, alcune attività di supporto alla progettazione e implementazione delle sue ricerche, che possono essere caratterizzate come tirocini.

Il difetto fondamentale di questo tipo di tirocini, va detto, è che il candidato rimane all'interno delle attività accademiche, che sono diverse, più protette e più generali, tipicamente, delle realtà di lavoro che si trovano in azienda. Inoltre, per definizione, non si fa vedere e non si rende indispensabile alla azienda presso cui esegue il tirocinio, che è stato tradizionalmente un frequente modo per le aziende di trovare nuovi dipendenti, e per gli studenti di trovare un lavoro stabile e sicuro. Scegliendo un tirocinio in università, dunque, ci si chiue la porta all'esplorazione pre-laurea del mondo del lavoro e all'identificazione di un potenziale datore di lavoro in posizione di favore (al di fuori, dunque, delle ristrette possibilità offerte dai colloqui tradizionali).

I tirocini offerti da Fabio Vitali

A partire dall'anno accademico 2005-06, ho deciso di offrire tirocini anche io. Con il mio gruppo di ricerca stiamo maturando un certo numero di applicazioni in cui le parti di ricerca e sviluppo sono ormai concluse, e che ancora non sono perfettamente a punto. Questi si dividono in tirocini puri e tirocini associati ad una tesi.

Tirocini puri

Le attività su cui si incentrano i tirocini puri sono di natura prevalentemente assistiva ai miei progetti. Sono di questa natura i seguenti tipi di tirocinio:

  • Test: questo tipo di tirocinio prevede la sistematica analisi delle caratteristiche di un'applicazione da noi realizzata, al fine di ottenere misure di correttezza e efficienza. Questo comprende sostanzialmente:
    • l'esatta comprensione dello scopo e della applicabilità dell'applicazione,
    • l'identificazione delle parti dell'applicazione da testare
    • la creazione delle test suite, ovvero di un insieme di esperimenti, e possibilmente di un set di documenti/comandi/esempi di input da sottomettere all'applicazione con lo scopo di verificarne la maggior quantità possibile di funzionalità. Le test suite si distinguono in esterne (si testa l'applicazione nella sua interezza) e interne (si testano individualmente i singoli moduli di cui l'applicazione è composta)
    • la creazione del set di risultati attesi, ovvero del tipo di output che uno si attenderebbe se il programma funzionasse bene, in modo da facilitare il confronto tra i risultati ottenuti e quelli giusti.
    • lo svolgimento dei test e la valutazione degli errori secondo le tre categorie di errori critici, errori gravi, errori cosmetici. Ogni errore deve essere descritto nella maniera più precisa possibile, secondo una metrica fornita.
    • il suggerimento, per gli errori più semplici o quelli la cui risoluzione è fondamentale per la prosecuzione del test, di un bug fix o di un workaround. Questo fix deve essere discusso con la persona responsabile dell'applicazione e eventualmente integrato nella versione ufficiale del programma al più presto.
    • A fine tirocinio, la scrittura di un report completo in cui si evidenziano le attività svolte, il numero di bug identificati, quelli risolti, quelli di cui si suggerisce una risoluzione, e quelli ancora non affrontati.
  • Debug: è il contraltare del tirocinio di test. Si prende un'applicazione già testata, e di cui esiste una lista di problemi noti, e si affronta il problema di fornire una soluzione ai problemi riscontrati. Insieme al tutor di tirocinio si identificano le priorità (in base alla gravità del bug e alle capacità del tirocinante) e si propongono rimedi. Ogni rimedio deve essere verificato rieseguendo l'intera test suite (e non solo il test che ha generato il bug!!!) e annotando differenze nei risultati di tutti i test significativi. Il processo viene iterato fino a completa soddisfazione del tirocinante e del tutor di tirocinio.
  • Installazione e documentazione: Sono molti i programmi di cui esistono meccanismi incompleti di installazione e documentazione scarsa. Il tirocinio allora si occupa di migliorare la situazione. Parte importante di questa attività è la manutenzione dei siti (tipicamente pagine di questo wiki) in cui è possibile esaminare l'applicazione, scaricare la documentazione, scaricare il programma, e riportare commenti e opinioni.

Tirocinio + tesi

Fanno parte di questa categoria tesi della laurea triennale un po' più impegnative delle tesi normali (io le considero equivalenti alle tesi della specialistica per impegno e profondità) che vengono offerte a coprire sia l'impegno di tesi che quello di tirocinio. Poichè tipicamente hanno anche una parte implementativa, ci si aspetta che i requisiti di tirocinio vengano soddisfatti in questo modo. Per un elenco delle tesi+tirocinio da me offerte, è sufficiente esaminare la pagina TesiDaAssegnare o parlare con me (per quei temi che non sono ancora assegnati).

-- FabioVitali - 28 Jan 2006

Revision: r1.3 - 21 Feb 2006 - 12:50 - FabioVitali
Tesi > IntroduzioneAiTirocini
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Fabio's Wiki? Send feedback