Vai ai contenuti

Gli studenti del City College di New York provano un'esperienza pratica con la cloud

Invece di allocare risorse limitate per la costruzione di infrastrutture nuove, il City College di New York si è rivolto a Google Cloud per aiutare a insegnare tecnologie open source come la virtualizzazione e i container. Ora gli studenti possono sfruttare una preziosa formazione pratica prima di addentrarsi nel settore dell'informatica.

I dipartimenti di informatica devono fornire istruzione e formazione sulle ultime tecnologie adottate nei luoghi di lavoro, che di questi tempi sono soprattutto la cloud e le tecnologie collegate, come la virtualizzazione. Tuttavia, la maggior parte delle università non dispone delle risorse per costruire nuove infrastrutture a supporto di queste tecnologie e il ritmo del cambiamento è talmente rapido che è quasi impossibile mantenersi al passo con le piattaforme, gli strumenti e i linguaggi più recenti.

Al City College of New York (CCNY), i docenti volevano offrire agli studenti un'esperienza pratica di virtualizzazione, container e altre tecnologie cloud, argomenti che non venivano trattati nei libri di testo o in altri materiali del corso. Il CCNY aveva bisogno di una strategia nuova che permettesse di tenere il passo con gli ultimi sviluppi informatici e di farlo in modo pratico ed economico.

"Molti programmi informatici tendono ad avere un approccio piuttosto teorico e tradizionale alle strutture dei dati principali, agli algoritmi e ai sistemi operativi", afferma Peter Barnett, professore associato di informatica allo CCNY. "È importante convincere gli studenti ad 'aprire la mente'. Dobbiamo offrire loro un'istruzione lungimirante affinché diventino informatici completi".

Creare un'istruzione informatica completa con l'aiuto di Google Cloud

Barnett è stato indirizzato alle borse di studio Google Cloud da Lindsay Siegel, Direttrice esecutiva dello Zahn Innovation Center, un incubatore del CCNY che comprende un bootcamp per startup, programmi di mentoring, servizi pro bono e impianti di prototipazione rapida.

Quando Barnett ha parlato per la prima volta di Google Cloud alla sua classe, ha assegnato agli studenti un esercizio per farli riflettere su come le piattaforme cloud implementano elementi dei sistemi operativi tradizionali e degli application server. Agli studenti è stato chiesto di considerare la domanda "Dove ti trovi?": in un container o in una macchina virtuale? Come riesci a capire se ti trovi su un server specifico oppure in un cluster di sistema distribuito su macchine?

Gli studenti potevano scegliere se lavorare con Google Cloud o un altro provider di tecnologia cloud. Barnett ha affermato che i numerosi studenti che hanno scelto Google Cloud hanno trovato i tutorial intuitivi ed è quindi stato facile iniziare a importare i dati e a sviluppare le applicazioni. Gli studenti contavano sull'assistenza del team di Google Cloud e degli stessi professori del CCNY qualora incappassero in qualche problema nell'avviamento dei progetti.

Alcuni studenti hanno lavorato con Google App Engine e hanno scoperto il funzionamento dei container, altri invece hanno scelto uno dei tutorial sulla creazione di un'app in Google Compute Engine. Tutti gli studenti hanno capito come analizzare la loro macchina virtuale (VM) o gli ambienti a container usando i comandi di Linux e hanno esaminato i database backend con i comandi SQL.

Invitare gli studenti a pensare come ingegneri

Immergendosi nella piattaforma cloud, gli studenti sono stati invitati a pensare in modo concettuale alla cloud e a capire che, anche in questo ambiente, stanno ancora utilizzando hardware a tutti gli effetti. Hanno letto articoli, guardato tutorial e fatto esperimenti su ciò che potevano fare fuori e dentro i container. Hanno preso nota del consumo di memoria e di CPU e hanno imparato come viene fornito lo spazio di archiviazione virtuale e come vengono ottenuti i loro indirizzi IP.

Tre studenti, Nissan, James e Michael, hanno superato i requisiti minimi nel creare un'applicazione campione. "Hanno importato i loro repository e sviluppato le applicazioni. Ha funzionato bene e Google ha fatto loro un'ottima impressione come ambiente di lavoro", afferma Barnett.

Capire perché e come

Quando agli studenti viene chiesto di porre le proprie domande, questi scoprono di gran lunga più informazioni su un argomento. Durante alcuni degli esercizi, gli studenti hanno osservato quanto tempo impiegava un'applicazione per rispondere in base alla posizione, cioè il Regno Unito o gli Stati Uniti. Questo aspetto li obbligava a fare un'ulteriore riflessione su dove fosse la sede delle risorse di calcolo fisiche. Uno studente ha implementato il database MySQL di Google Cloud nel suo progetto Cloud e lo ha analizzato per scoprire dove fossero archiviati i file di sistema.

Barnett ha invitato i suoi studenti a imparare le tecnologie cloud che li interessavano di più. Alcuni studenti hanno esplorato Kubernetes per gestire i container, altri invece hanno fatto esperimenti con il bilanciamento del carico con MongoDB. Gli studenti poi hanno condiviso le esperienze tra di loro per capire meglio una serie di ambienti diversi.

"Gli studenti non lavoreranno su server intesi come componenti hardware. La cloud non è un'idea futura: è il presente."

Peter Barnett, Professore associato di informatica, City College di New York

Oltre la demo

Gli studenti del corso conclusivo del professor Barnett alla CCNY al momento stanno utilizzando Google Cloud per implementare la parte backend di importanti progetti di software con un potenziale scientifico, sociale e imprenditoriale significativo.

I progetti dei suoi cinque team comprendevano: l'utilizzo del machine learning per migliorare il riconoscimento ottico dei caratteri della scrittura a mano libera; l'assistenza fornita ad allenatori, fisioterapisti e ai relativi clienti per sviluppare e mantenere una forma corretta durante l'esercizio; il potenziamento della ricerca di brevetti utilizzando l'analisi dei contenuti insieme al machine learning; la ricostruzione dell'interno delle stazioni della metropolitana e di altri luoghi pubblici per aiutare le persone con disabilità visiva a muoversi in quegli spazi; infine, la generazione con l'intelligenza artificiale di musica quasi casuale che cambia in risposta al feedback dell'utente.

La maggior parte di questi progetti impiega l'intelligenza artificiale sotto forma di analisi dei contenuti e machine learning; Google Cloud offre, a supporto, un insieme solido di API come ML-Engine e BigQuery. Il team di Google for Education ha concesso quantità generose di tempo su Google Cloud a ciascun team di Barnett per favorire lo sviluppo e i test, che sono attualmente in corso.

Offrire un'esperienza reale

Per diventare informatici di successo, gli studenti devono imparare sia la teoria sia le applicazioni pratiche degli strumenti utilizzati nei luoghi di lavoro odierni. I servizi cloud come Google Cloud offrono al CCNY accesso a strumenti all'avanguardia per sviluppatori e a infrastrutture cloud su larga scala, senza richiedere un investimento iniziale importante. Gli studenti possono imparare come lavorare con diversi linguaggi e piattaforme cloud, tra cui Python, Ruby, Sinatra e Google Cloud. Questi strumenti e linguaggi sarebbero fuori portata per molte scuole, a cui la ristrettezza delle risorse impedisce di offrire una simile gamma di tecnologie da esplorare. Google Cloud rappresenta una soluzione economicamente accessibile per fornire ambienti informatici moderni e può adattarsi per rispondere alle esigenze di tutti gli studenti e i dipartimenti.

"L'ambiente cloud è la manifestazione moderna del sistema operativo", afferma Barnett. "Gli studenti non lavoreranno su server intesi come componenti hardware. La cloud non è un'idea futura: è il presente".

Registrati qui per ricevere aggiornamenti, approfondimenti, risorse e molto altro.