Created on 16 Dec 2018 ;    Modified on 18 Dec 2018

edX: il corso Introduction to Computational Thinking and Data Science

Pensavo di vincere facile un'altra volta, ... ed invece il corso Introduction to Computational Thinking and Data Science, mi ha preso in contropiede! E il relativo certificato questa volta l'ho sudato.

Ma andiamo con ordine.

Il corso Introduction to Computational Thinking and Data Science è la logica prosecuzione di Introduction to Computer Science and Programming Using Python, che ho recensito in questo articolo.

Entrambi sono corsi che MITx eroga tramite edX.

Tipo di contenuto

Anche in questo caso, come per Computer Science and Programming, la parolina Introduzione ..., svetta in testa al titolo. Ma questa volta il contenuto non è proprio da scuola superiore. Almeno per quel che riguarda la scuola italiana.

Per cominciare, in questo corso la capacità di programmazione è data per scontata.

E l'attenzione del docente si focalizza sugli argomenti, usando la programmazione come veicolo per dimostrare via via i concetti illustrati.

Anche in questo caso, il rigore dell'esposizione dei concetti è equilibrato. Pur senza essere formale e troppo particolareggiato, è preciso ed efficace. Tra l'altro il prof.Guttag sfoggia una notevole capacità di fare battute, che stemperano la tensione e riaccendono l'attenzione dello studente.

Il programma di massima è il seguente:

  • Optimization: the knapsack problem;
  • decision trees and dynamic programming;
  • graph problems;
  • plotting (ripreso dal corso Introduction to Computer Science and Programming Using Python);
  • stochastic thinking;
  • random walks;
  • inferential statistics;
  • Monte Carlo simulations;
  • sampling and standard error;
  • experimental data;
  • (notes of) machine learning.

Osservazioni

Dopo una introduzione dei problemi di ottimizzazione e della rappresentazione dei dati tramite grafi ed alberi, il corso si orienta rapidamente all'analisi statistica dei dati e alla modellazione stocastica dei fenomeni fisici e di concetti matematici.

La coda riguardante il machine learning è decisamente leggera: serve solo a dare un'idea generale degli aspetti più semplici, con cui tipicamente si comincia a trattare questa materia.

A mio avviso è la modellazione stocastica il nucleo fondamentale di questo corso, che la affronta con un piglio molto euristico: codice su codice. Mentre i concetti statistici che sottintendono il tutto vengono descritti estesamente, ma non dimostrati.

Qui non tento di riassumere i contenuti: dovrei scrivere un saggio a parte. Se siete interessati, seguite le lezioni (se non volete il certificato, potete farlo gratuitamente), o procuratevi il testo scritto dal prof.Guttag: Introduction to Computation and Programming Using Python, Second Edition.

Conclusione

Un corso impegnativo, che raccomando a chi vuole coscientemente iniziare ad approfondire il mondo della computer science.

Se nell'affrontarlo avete chiari alcuni concetti di base di statistica e di matematica, vi troverete molto più a vostro agio. Altrimenti sarà proprio dura.

Inoltre dovete conoscere l'inglese in modo discreto, almeno per quel che riguarda la capacità di lettura. Infatti utilizzando i transcript delle lezioni è possibile seguire anche se non si ha abbastanza capacità di comprensione del parlato.