Stiamo espandendo la sezione Python di freeCodeCamp in un curriculum di data science in piena regola.

Attualmente, questi temi in materia di data science vengono trattati solo in poche università nel mondo. Il nostro obiettivo è che chiunque sia in grado di imparare questi concetti di matematica avanzata e machine learning impiegati nel campo del data science, ovunque si trovi nel mondo, gratuitamente, e in un modo interattivo e divertente.

Aggiornamento al 15 luglio 2021: abbiamo raggiunto l'obiettivo della nostra raccolta fondi🎉

Sono entusiasta di annunciare che la community ha raggiunto con successo l'obiettivo della nostra raccolta fondi per il curriculum in data science. Abbiamo raccolto $156,667 da 2,519 donazioni.

Oggi, ho incontrato Darrell Silver, che mi ha consegnato un assegno tanto grande quanto la sua donazione. Questo ha raddoppiato il totale delle donazioni fatte da tutti i nostri sostenitori, portandolo a $306,667.

via GIPHY

Un grazie enorme a tutti quelli che hanno contribuito alla raccolta fondi. Abbiamo già iniziato a mettere in uso questi fondi.

Prima di tutto, abbiamo aggiunto due nuovi membri al nostro team.

Edward Patrowski ha quasi vent'anni di esperienza nell'insegnamento di matematica e computer science, sia nelle scuole superiori che a livello universitario.

Ha già iniziato a progettare il curriculum e a lavorare sui Jupyter Notebook. Utilizzerà questi strumenti per insegnare calcolo, statistica, algebra lineare e altri concetti che sono alla base di data science e machine learning.

Kylie Ying è una studentessa laureata in computer science al MIT, che si occupa di machine learning e fisica delle particelle.

Sta creando una serie di video corsi che affiancheranno i Jupyter Notebook per dare corpo al curriculum in data science.

Ed, Kylie e altri collaboratori hanno già iniziato a pianificare una buona parte di questo curriculum con l'aiuto dell'ambiente accademico e di molti data scientist del campo.

image
Uno dei nostri documenti di pianificazione dei curriculum visibili al pubblico.

Abbiamo anche realizzato un Jupyter Notebook di verifica teorica usando SymPy - con test automatizzati funzionanti. Lo perfezioneremo ulteriormente nei prossimi mesi prima di rilasciare la prima versione del curriculum.

ADVERTISEMENT

Di cosa tratterà il curriculum in data science?

Sarai in grado di programmare una serie di centinaia di progetti in Python per ottenere certificazioni in:

  • Scienza computazionale in Python
  • Fondamenti di matematica (aritmetica, algebra, geometria, trigonometria)
  • Risoluzione di problemi mediante algoritmi (strutture di dati, ricerca esaustiva, divide et impera, algoritmo di Dijkstra, algoritmo greedy, programmazione dinamica)
  • Statistica descrittiva
  • Data Engineering (pipeline, ETL, storage, metodi di pulizia dei dati e rilevamento delle anomalie)
  • Analisi esplorativa dei dati
  • Calcolo mono e multivariato
  • Statistica inferenziale e probabilità
  • Algebra lineare e matriciale
  • Algoritmi di apprendimento supervisionato (classificazione, regressione)
  • Algoritmi di apprendimento non supervisionato (clustering, riduzione di dimensionalità)
  • Algoritmi di apprendimento per rinforzo (neural network)

Potrai realizzare questi progetti sul tuo browser o offline sul tuo sistema operativo. Utilizzerai dei Jupyter Notebook con grafici interattivi, set di dati e test automatizzati per verificare il tuo codice. E userai strumenti come:

  • SQL
  • NumPy
  • SciPy
  • SymPy
  • Matplotlib
  • Pandas
  • TensorFlow
  • Keras
  • e scikit-learn

Immagina di essere in grado di imparare concetti di matematica avanzata e informatica gratuitamente in poche migliaia di ore. È proprio ciò che stiamo per realizzare facendo uso di questi strumenti d'avanguardia dell'ecosistema Python.

Guarda la demo (28 minuti di video)

Sembra molto ambizioso. Tra quanto la community di freeCodeCamp porterà a termine quest'obiettivo?

Siamo fiduciosi che saremo in grado di rendere disponibili molti di questi nuovi progetti e certificazioni nel 2022.

Abbiamo già trattato molti di questi argomenti in corsi sul canale YouTube della community di freeCodeCamp (iscriviti se non l'hai già fatto 😉). La sfida più grande sarà riunire tutti questi argomenti in un curriculum lineare e coeso, e renderlo interattivo con test automatizzati.

Se non conosci i risultati del lavoro che la nostra no profit ha svolto finora, puoi leggere il report annuale 2020. Soltanto durante lo scorso anno, abbiamo fornito più di 1,300,000,000 minuti di apprendimento e con un budget di appena $498,000 (circa 50 ore di apprendimento per dollaro donato).

freeCodeCamp_historic_usage_-_Google_Sheets-1
Le persone usano molto freeCodeCamp. Stiamo crescendo di circa il 60% di anno in anno in minuti di utilizzo.
ADVERTISEMENT

Come insegnare matematica, data science e machine learning nel browser?

Questi temi non sono semplici da studiare ma abbiamo strategie per scomporre tutte queste conoscenze in elementi più gestibili.

La scelta progettuale più importante è l'ottimizzazione per gli sviluppatori. Invece di ideare il curriculum avendo in mente le scuole, ci stiamo focalizzando su singoli utenti adulti e motivati che hanno già delle conoscenze di base dello sviluppo web e se non ne hanno, possono completare la prima metà del curriculum di freeCodeCamp (questo è l'unico prerequisito per il corso in data science).

Dato che possiamo assumere che gli utenti conoscano già come programmare, possiamo insegnare matematica in un modo completamente nuovo. Invece di usare le lezioni tradizionali o i compiti a casa - strumenti come matite, penne e calcolatrici - possiamo integrare Python.

Questa interpretazione pratica conferisce un senso tutto nuovo di rilevanza alle antiche attività di risolvere equazioni e dimostrare teoremi.

E se conosco già alcuni di questi argomenti? Posso ottenere comunque le certificazioni?

Come per il curriculum in web development di freeCodeCamp, la maggior parte del corso è opzionale.

Se hai già conoscenze di alcuni argomenti da studi passati, puoi andare avanti e realizzare i progetti per le certificazioni. Una volta provate le tue conoscenze, potrai ottenere la certificazione.

Il curriculum di freeCodeCamp rimarrà lineare e senza sezioni facoltative, ma potrai scegliere dove iniziare, avendo sempre la possibilità di tornare indietro per ripassare.

freeCodeCamp non tratta già tutti questi argomenti nella community del canale YouTube?

Sì, e abbiamo corsi completamente gratuiti su tutti questi temi sul canale YouTube della nostra community.

I video sono più semplici da produrre rispetto a curricula integrati e interattivi, e sono soltanto il primo step verso il nostro obiettivo di fornire un insegnamento completo e certificazioni di data scientist.

I video rimarranno una solida risorsa supplementare di apprendimento. Sono ottimi per imparare ovunque ti trovi e approfondiscono alcuni concetti che il nostro curriculum sfiorerà soltanto.

ADVERTISEMENT

Cosa succede se sono nel bel mezzo del curriculum attuale di freeCodeCamp?

Nessun problema, non perderai i tuoi progressi.

Trasformeremo alcune delle nostre certificazioni in certificazioni legacy (come la certificazione sulla visualizzazione dei dati). Ma saranno ancora tue e sarai in grado di ottenerle anche dopo che avremo rilasciato le nuove certificazioni.

Qual è la tabella di marcia del rilascio?

La community di freeCodeCamp non fissa delle date per il rilascio al pubblico. Distribuiamo i nostri corsi quando sono pronti, mantenendoli continuamente e perfezionandoli.

Ecco cosa abbiamo programmato di rilasciare:

Fase #1: Pubblicheremo i progetti delle certificazioni, da completare per ottenere ogni certificazione in data science. Pubblicheremo anche video corsi che potrai utilizzare - in combinazione con altre risorse di apprendimento - per la tua formazione.

Fase #2: Pubblicheremo gli esercizi opzionali per i progetti di ogni certificazione, che sostituiranno i video che verranno spostati nella sezione delle risorse di apprendimento supplementare di freeCodeCamp.

Pensiamo di riuscire a realizzare la maggior parte di questi propositi entro due anni. Poi…

Fase #3: Aggiungeremo ulteriori esercizi opzionali per i progetti per fornire la possibilità di fare più pratica e ripetere gli esercizi. Il nostro scopo ultimo è di rendere disponibile più materiale di esercizio sulla programmazione di quello che possa essere ragionevolmente completato da una persona nell'arco della sua vita (potreste obiettare che abbiamo già tutto questo attraverso la nostra implementazione client-side del progetto Eulero e codice Rosetta, ma ci sono ancora migliaia di anni di conoscenze matematiche che possiamo trattare).

Imparare è un'attività che dura tutta la vita e il curriculum di freeCodeCamp continuerà ad evolversi riflettendo questo aspetto.

Tutto questo sarà open source?

Esatto, come tutto il resto del codice di freeCodeCamp, sarà rilasciato usando la licenza estremamente permissiva BSD-3. (È simile alla licenza del MIT ma protegge anche la nostra no profit dall'imitazione.)

E come il resto del curriculum di freeCodeCamp, tutto il nostro corso avrà una licenza Creative Commons, la CC-BY-SA 4.0 per essere esatti. Questa licenza è permissiva e non ha restrizioni commerciali. Esatto, potresti costruire un business attorno a freeCodeCamp se volessi.

ADVERTISEMENT

Come posso contribuire al nuovo curriculum in data science?

Se sei un insegnante, un data scientist in attività o un appassionato di matematica, apprezzeremmo il tuo feedback.

E chiunque può supportarci tramite la nostra raccolta fondi. Aiutaci a realizzare un curriculum in data science gratuito e open source per te, la tua famiglia e i tuoi vicini, in tutto il mondo donando qui.

Come posso sapere di più sul curriculum in data science e le certificazioni?

Sei fortunato: sono stato ospite del podcast The Changelog (un noto podcast sull'open source) per parlare delle nuove certificazioni che stiamo realizzando. Lo puoi ascoltare con il player integrato qui sotto (1 ora di ascolto):

Premi play per sentirmi parlare del curriculum in data science su The Changelog podcast.

Grazie per aver letto quest'articolo, buona programmazione.