• Non ci sono risultati.

Osservazione sulla formazione universitaria

Nel documento Università degli Studi di Padova (pagine 49-55)

Valutazione retrospettiva

4.3 Osservazione sulla formazione universitaria

loro gestione dei progetti (way of working). Lavorare in un team numeroso mi ha insegnato che la comunicazione tra gli sviluppatori, la pianificazione delle attività e il versionamento del codice sono elementi essenziali per accrescere l’efficienza delle attività svolte. A questo scopo ho utilizzato degli strumenti di Atlassian utilizzati dall’azienda: BitBucket per il versionamento del codice e Jira per tracciamento di issue e task.

4.3 Osservazione sulla formazione universitaria

Ritengo che il corso di studi di Informatica sia professionalizzante. Infatti, fornisce tutte le nozioni di base che permettono ad un neolaureato di apprendere velocemente e facilmente una nuova tecnologia, un nuovo linguaggio di programmazione o un nuovo framework.

L’alto livello di formazione è raggiunto anche grazie ai progetti didattici richiesti da alcuni corsi, i quali permettono di applicare le conoscenze teoriche apprese durante le lezioni frontali in aula. In particolare, i progetti collaborativi insegnano agli studenti ad organizzare le loro attività e ad utilizzare strumenti per condividere risorse comuni (come il codice sorgente): le competenze maturate in questi progetti aiuteranno un laureato nel mondo del lavoro, in cui i team di sviluppatori sono molto numerosi e la pianificazione delle attività è di vitale importanza per un’azienda con date di consegna stringenti.

Focalizzando l’attenzione sulla mia esperienza di stage, mi sono sentito preparato e competente in tutte le attività svolte, a partire dall’apprendimento delle tecnologie che l’azienda ha richiesto di utilizzare fino a giungere all’implementazione del prodotto software. Inoltre i processi aziendali studiati mi hanno aiutato ad entrare con facilità nel contesto e nella mentalità di Miriade.

Il mio bagaglio tecnico, risultato degli studi della triennale, mi ha permesso quindi di affrontare positivamente lo stage. Detto questo, ritengo che ci siano delle tematiche che dovrebbero essere affrontate per rendere la preparazione di un laureato completa:

database non relazionali: avere delle conoscenze sui database non relazioni sarebbe importante vista la diffusione sempre maggiore di database NoSQL. Ad esempio, durante lo stage mi sono trovato nella situazione di dover scegliere tra database relazione e non relazionale. A questo proposito, sarebbe importante far capire agli studenti la differenza tra questo tipo di database, in quali casi sia preferibile utilizzare una determinata tipologia e i motivi di tale preferenza;

principi REST: durante il periodo di stage e durante il progetto di Ingegneria del Software, mi sono trovato di fronte a servizi web REST, che non avevo mai incontrato durante le lezioni frontali in aula; ritengo che questa tematica dovrebbe essere affrontata perchè è sempre maggiore il diffondersi e l’utilizzo di servizi web REST;

ultime novità tecnologiche: le tecnologie utilizzate durante i corsi non sono sempre aggiornate; potrebbe essere utile, nonchè interessante, se venisse organizzato qualche seminario tecnologico per insegnare le tecnologie più utilizzate oggigiorno nel mondo del lavoro.

Glossario

Amazon Web Services collezione di servizi cloud che compongono la piattaforma on demand offerta dall’azienda Amazon. Questi servizi sono operativi in diverse regioni geografiche, indipendenti le une dalle altre, in cui Amazon stessa ha suddiviso il globo.

API Application Programming Interface. Indica un insieme di funzioni, protocolli e strumenti che permettono di creare applicazioni software. Spesso con tale termine si intendono le librerie software disponibili in un certo linguaggio di programmazione.

B2B Business-to-business. Questa locuzione è utilizzata per descrivere le transazioni commerciali elettroniche tra imprese, distinguendole da quelle che intercorrono tra le imprese e i consumatori (business-to-consumer, B2C) oppure tra le imprese e il governo (business-to-government, B2G).

Back-end parte di un software che elabora i dati generati dal front-end. Il back-end incapsula la logica di elaborazione dei dati e non interagisce direttamente con l’utente.

Cloud con questo termine si indica un paradigma di erogazione di risorse informatiche, come l’archiviazione, l’elaborazione o la trasmissione di dati, caratterizzato dalla disponibilità on demand attraverso Internet a partire da un insieme di risorse preesistenti e configurabili.

DBMS Database Management System. È un sistema software in grado di gestire collezioni di dati assicurando la loro consistenza e riservatezza. Inoltre, permette ai programmatori di inserire, aggiornare e gestire i dati tramite interrogazioni (query).

DELETE metodo HTTP utilizzato per eliminare la risorsa specificata nell’URI.

Design pattern soluzione generale ripetibile a un problema comune ricorrente nella progettazione del software. Si tratta di un modello logico da applicare per la risoluzione di un problema che può presentarsi in diverse situazioni durante le fasi di progettazione e sviluppo del software, ancor prima della definizione dell’algoritmo risolutivo della parte computazionale.

Enterprise portal noto anche come enterprise information portal (EIP). Le organiz-zazioni utilizzano principalmente questa tecnologia per aggregare le informazioni da diverse fonti, inclusi sistemi eterogenei, in un singolo sistema a cui posso accedere soli utenti autorizzati.

41

42 Glossario Framework insieme di classi cooperanti che forniscono lo scheletro di un’applicazione riusabile per uno specifico dominio applicativo. Delinea l’architettura delle applicazioni in cui viene usato.

Front-end parte di un sistema software che gestisce l’interazione con l’utente o con sistemi esterni che producono dati di ingresso.

GET metodo HTTP utilizzato per richiede la rappresentazione della risorsa specifi-cata nell’URI della richiesta. Le richieste che utilizzano GET dovrebbero solo recuperare i dati.

Git sistema di controllo di versione utilizzato per tenere traccia delle modifiche fatte ai file di un progetto e permette di coordinare il lavoro tra più persone. Viene utilizzato principalmente per la gestione del codice sorgente nello sviluppo del software, ma può essere utilizzato anche per tenere traccia delle modifiche in qualsiasi insieme di file. Come sistema di controllo di revisione distribuito, è finalizzato a velocità, integrità dei dati e supporto per flussi di lavoro distribuiti e non lineari.

Google Cloud Platform suite di servizi cloud, offerta da Google, che funziona sulla stessa infrastruttura che Google utilizza internamente per i propri prodotti, come Google Search e YouTube. Offre una serie di moduli e strumenti per il data storage, l’analisi dei dati e il machine learning.

HTTP HyperText Transfer Protocol. Protocollo a livello applicativo usato come principale sistema per la trasmissione di informazioni sul Web.

Java linguaggio di programmazione general-purpose ad alto livello, orientato agli oggetti, concorrente e strongly typed. Questo linguaggio nasce con il concetto di

"write once, run anywhere"; ciò si traduce nel compilare il codice sorgente Java in bytecode, che può essere eseguito in qualsiasi piattaforma che implementa la Java Virtual Machine.

JSON JavaScript Object Notation. Formato di file adatto all’interscambio di dati fra applicazioni, specialmente client-server. I file JSON sono costituiti da coppie attributo-valore risultando facilmente comprensibili ai programmatori.

Open source indica un software il cui codice sorgente è reso disponibile sotto una licenza che permette di studiarlo, modificarlo e ridistribuirlo a chiunque e per qualsiasi scopo. Il termine open-souce indica anche un metodologia di sviluppo del software collettiva.

Package organizza classi in gruppi logici, principalmente con lo scopo di definire namespace distinti per diversi contesti.

POST metodo HTTP utilizzato per inviare un’entità alla risorsa specificata nell’URI, causando spesso una modifica nello stato o effetti collaterali sul server.

PUT metodo HTTP utilizzato per sostituisce tutte le rappresentazioni correnti della risorsa specifica nell’URI con l’oggetto contenuto nel body della richiesta.

Glossario 43 Repository nei sistemi di controllo di revisione, un repository è una struttura di dati su disco che memorizza i metadati per un insieme di file. A seconda che il sistema di controllo di versione utilizzato sia distribuito (Git) o centralizzato, il contenuto di un repository può essere duplicato sul computer di ogni utente o può essere mantenuto su un singolo server. Alcuni dei metadati contenuti in un repository includono un record storico delle modifiche fatte.

REST modo di fornire l’interoperabilità tra sistemi informatici su Internet. Le applicazioni che aderiscono a REST permettono di manipolare rappresentazioni testuali di risorse Web utilizzando un insieme predefinito di operazioni stateless.

Stand-alone software in grado di operare senza l’aiuto di altri software.

User-friendly indica un software intuitivo e semplice da usare anche per utenti inesperti che non hanno particolari competenze tecniche.

Bibliografia

Nel documento Università degli Studi di Padova (pagine 49-55)

Documenti correlati