MOOC: la mia esperienza

MOOC: la mia esperienza

Nell’autunno del 2011 la Stanford University mette a disposizione sul web il materiale e le lezioni relative ad un corso di Intelligenza artificiale tenuto presso la propria sede a titolo gratuito. Si iscrivono 160.000 studenti provenienti da 190 paesi, io ero fra gli iscritti. Il corso fu un successo enorme, e le modalità con cui era stato organizzato destinate a tracciare un percoso formativo innovativo: i MOOC. L’evoluzione dei MOOC è stata rapidissima, tanto rapida che ad oggi esistono numerose piattaforme presso le quali le università di tutto il mondo mettono a disposizione i propri corsi universitari. Esistono, addirittura, motori di ricerca di corsi MOOC.

Decido, perciò, di testare un MOOC con la scusa di capirne qualcosa di più in materia di elettronica. Decido di rivolgermi alla piattaforma coursera.org e, dopo una veloce ricerca, trovo il corso che più si avvicina alle mie richieste: Linear Circuits. Il corso in lingua inglese, organizzato dalla Georgia Institute of Technology, ha inizio il 18 Agosto 2014 per una durata complessiva di 10 settimane. Mi registro al portale coursera.org e mi iscrivo gratuitamente al corso. Sulla pagina del corso appaiono subito delle informazioni che mi avrebbero fatto comodo anche durante il corso di studi all’Università di Bologna:

  • Syllabus: tutti gli argomenti trattati, modulo per modulo
  • Weekly schedule: l’organizzazione delle lezioni distruibute sulle 11 settimane, degli homework e dei quiz.
  • Grading and Logistics: metodo di valutazione degli homework e quiz.

Dalle informazioni mi rendo subito conto che i docenti avrebbero tenuto, in contemporanea, lo stesso corso presso la sede in Georgia. La piattaforma coursera.org mette a disposizione anche un forum, moderato dai docenti, dove gli studenti possono discutere, chiedere, cooperare per il fine ultimo di comprendere a pieno la materia. Il forum è frequentato dai corsisti provenienti da qualsiasi parte del mondo.

Finalmente la piattaforma mi avvisa tramite email che le lezioni sono iniziate! Con l’eccitazione di uno scolaretto, e con il tempo disponibile esclusivamente nelle ore notturne, seguo la prima lezione video pre-registrata. Nel video si vedono chiaramente le slide e il docente in webcam, sono disponibili i sottotitoli in inglese, e la possibilità di scorrere avanti e indietro temporalmente. La lezione video è, però, interattiva dopo ogni macro-concetto infatti il video va in pausa e viene proposto un esercizio di esempio. Ogni esercizio viene validato nelle risposte ma non contribuisce al punteggio finale.

Ogni lezione ha uno o più homework, ovvero, dei compiti valutati e con una scadenza ben precisa, utilissima a scandire i tempi di fruizione dei contenuti: vedo la lezione video, studio, eseguo i compiti. La piattaforma coursera.org mette a disposizione dei docenti e degli studenti delle pagine ad-hoc per la visione e la sottomissione dei compiti che, almeno in questo corso, hanno come risultati dei valori numerici. Alla fine di ogni modulo è previsto un esame (quiz) composto solitamente da 10 esercizi da svolgere in 1 ora di tempo.

Anche se il corso è a titolo gratuito, coursera.org in collaborazione con l’università che l’ha organizzato mette a disposizione un percorso di validazione e verifica del lavoro svolto. Il circuito di validazione prevede l’invio di un documento di identità, di foto identificativa tramite webcam e di un testo sul quale vengono fatte analisi sulla velocità di scrittura al fine di creare una vera e propria “firma digitale” che identifica univocamente uno studente. La validazione da diritto ad un certificato finale firmato e validato dall’università organizzante e prevede un costo che nel caso specifico è di 59$. Decido, perciò, di aderire alla circuito di validazione che prevede ad ogni invio di homework o quiz la scrittura di un breve contratto di fiducia reciproca sul quale coursera.org ogni volta esegue l’analisi della velocità di scrittura e di una foto istantanea tramite webcam. Per dovere di cronaca è possibile entrare nel circuito di validazione entro le prime due settimane del corso.

Il corso Linear Circuits è terminato, l’ho superato con votazione 99.4% e l’università ha rilasciato un certificato digitale firmato che la piattaforma coursera.org mette a disposizione tramite un link che resterà per sempre di mia “proprietà”. E’ disponibile, inoltre, una pagina dove è possibile consultare:

  • Votazione, data di conseguimento del titolo, Università e docenti relativi al corso
  • Descrizione del corso
  • Nozioni e tematiche trattate durante i vari moduli del corso
  • Policy di attribuzione dei crediti
  • Verifica e validazione dello studente

Chi è curioso può visionare il seguente link: https://www.coursera.org/account/accomplishments/records/7AJW6dhUskkAeB4t. Mentre qui sotto il link al’attestato da “appendere nello studio”:

Linear Circuits by Georgia Institute of Technology on Coursera. Certificate earned on December 3rd, 2014

Linear Circuits by Georgia Institute of Technology on Coursera. Certificate earned on December 3rd, 2014

In conclusione: è stata un’esperienza fantastica, ho appreso tante nozioni, ho chiarito molti dubbi, ho acquisito conoscenze che saranno utilissime nel mio lavoro quotidiano. Sono rimasto così entusiasta che ho deciso di proseguire iscrivendomi ad un altro corso “Introduction to Electronics” presso la stessa università e tenuto dagli stessi docenti che comprende il naturale proseguimento delle nozioni precedentemente acquisite. Terminerò questo corso a fine Dicembre, attualmente mi sto preparando per l’esame finale. Sto prevedendo, inoltre, un “piano di studi” comprendente 5 corsi e circa 1 anno di lavoro il tutto focalizzato sul Cloud: architettura, gestione, sviluppo, ecc.

LinuxDay 2013

Ebbene sì, anche quest’anno parteciperò all’organizzazione del LinuxDay. Questa volta, cercando di essere meno talebano, presenterò una pratica che per molti può essere scontata, ma che forse tanto scontata non è. Cercherò di rispondere alle domande:

  1. Come posso collaborare ad un progetto Open Source?
  2. Voglio creare un progetto Open Source.  Da dove parto?

Partirò da esperienze personali che mi hanno coninvolto come collaboratore e come sviluppatore. Se questo argomento può suscitare curiosità, ti aspetto Sabato 26 Ottobre al Centro Giovani di San Benedetto del Tr.

ld13

New Qt project: qbar

Hello there! I’m still looking for an elegant window manager for developers under GNU/Linux. I think that mcwm is one of the nearest to my concept of design. No window borders, small RAM resources, XCB based.

When I downloaded mcwm project I noticed the TODO file containing an interesting feature request: snap borders. So in a couple of day I produced a patch and submitted to the author.  Unfortunately the author’s git repository doesn’t have a web interface, so, if you’re curious, you can see the patch as follows:

$ git clone git://hack.org/mcwm
$ cd mcwm
$ git diff 864bc76d d20afb19

Well, now that the patch is merged, It’s time to develop a general purpose toolbar. A toolbar to display values, a toolbar to perform actions, a toolbar to rule them all! 🙂

And…in a couple of days I developed qbar that uses stdin streaming to fill itself with objects like: buttons, labels, menu, progress bar. And who knows about the future? You can write you “applet” in standard bash script and redirect the stdout to qbar through a pipe. As you can imagine there is a protocol for the arguments given in the stdin. The protocol is the following:

LABEL
[L][<refresh>]<text>

BUTTON
[B][<refresh>][<icon_path>][<command>]<text>

MENU
[M][<icon_path>][<text>][<icon_path][<command>]<text>*[<icon_path>][<command>]<text>...

SEPARATOR
[S][<size_mode>]<size>

PROGRESS BAR
[P][<refresh>][<size>]<text>

<refresh> can be S (static) or R (refresh)
<size_mode> can be E (expanding) or F (fixed)

qbar is developed in Qt (4.8), so you can use a simple CSS stylesheet to develop a new theme. Let me show you how:

QMainWindow {
	background: #333333;
	color: #fff;
}

QLabel {
	color: #fff;
}

QMenu {
	background: #333333;
	color: #fff;
}

QPushButton {
	border-radius: 10px;
	padding-left: 5px;
	padding-right: 5px;
	color: #fff;
}

QPushButton:hover, QMenu::item:selected{
	background: #666;
}

#ITEM_2 {
	width: 150px;
}

QProgressBar {
     border: 2px solid rgba(0,0,0,0);
     border-radius: 5px;
     text-align: center;
     background-color: #666;
     color: #fff;
 }

 QProgressBar::chunk {
     background-color: #05B8CC;
 }

As you can see from the code, you can refer to the n-th element using the CSS selector <#ITEM_> followed by the element id. And, you can use the following command line parameters:

qbar [-a <l|c|r>] [-p <t|b>] [-t] [-h <pixels>] [-stylesheet <file>]

-a alignment
   l = left
   c = center
   r = right
-p position
   t = top
   b = bottom
-t set transparent background
-h height in pixels
-stylesheet css file

qbar is published at Gitorious:

git://gitorious.org/qt-projects/qbar.git

and at Qt-apps.org. What’s missing? Ah…yes, screenshot!

qbar

If you liked it, please vote for it on qt-apps.org, and if you want please submit patches and feature requests, all the code is released under the terms of GNU/GPL.

Capitani codardi

Chi mi conosce sa che mi pongo sempre criticamente (a volte anche troppo) nei confronti delle situazioni che più mi appassionano o mi coinvolgono. Spiegare perché si è critici nei confronti dell’andamento del proprio Paese, non è cosa facile, o meglio, non basta dire “qui le cose non funzionano”, nemmeno io l’accetterei di buon grado come giustificazione. Cosa vale essere tanto patrioti da immolarsi ideologicamente alla difesa di una coperta corta che viene tirata una volta sopra, una volta sotto da chi, nel bene o nel male, governa questa nazione? Voglio dire, nascondersi dietro l’italianismo, ci permetterà veramente di uscire da questa situazione? Tanto vale iniziare a fare come i nostri cugini francesi e, fieri della nostra bandiera, usare sorcio al posto di mouse.

Del resto abbiamo votato, chi più chi meno, per far parte dell’Europa. Per come l’avevano messa, sarebbe dovuta essere una Madre di una federazione di stati uniti, ma tanto vale l’intento: fare della propria patria un’area geografica più ampia. Siamo europei, non più e non solo italiani. Poco importa se non ci sono politiche comunitarie legate al lavoro, alla giustizia, al welfare. Il vero senso dell’Europa (o almeno io sono riuscito a trovare solo quello) è la libertà di spostarsi all’interno dei suoi confini e godere delle risorse degli Stati membri. Sei austriaco e non hai il mare? Vai in vacanza nella tua Europa, hai il mare in Spagna, Portogallo, Italia e tanti altri. Hai una voglia irresistibile di Pretzel? Vai in Austria, Germania, ecc. Certo, puoi anche essere austriaco e farti il bagno in una piscina o essere italiano e comprare i Pretzel alla Coop, ma questo non fa di te un europeo convinto.

Quindi, ci crediamo o no in questa Europa? Se la risposta è no, allora torniamo ad essere solo italiani, riprendiamoci la nostra moneta, paghiamo il caffè 500.000 lire ed usciamo dal mercato economico europeo. Se la risposta è , usciamo dal nostro provincialismo, e con la stessa facilità con la quale le aziende qui delocalizzano, delocalizziamoci! Se il tuo Stato, per il quale versi tasse su tasse, non ha il minimo interesse ad atturare politiche per il contenimento dell’evasione fiscale (a parte qualche blitz per giustificare il posto della prorpia poltrona), e sceglie di non fare riforme strutturali ma di applicare misure orizzontali per appesantire ulteriormente il carico , per quale motivo occorre esserne così riconoscenti tanto da continuare a stare qui e versare altri tributi?

E’ forse questo il significato di patriottismo? O c’è del masochismo? Non è forse questa una guerra civile fredda fra Stato e Popolo, fra furbi e corretti? Da quanti anni aspettiamo, invano, una presa di posizione forte (qualunque essa sia) da parte dei nostri governanti? Da quanto tempo aspettiamo l’araba fenice (“[…] che vi sia ciascun lo dice, dove sia nessun lo sa. [Metastasio]) della ripresa economica? Da quanto tempo pensiamo: “è possibile che non riescano a trovare una soluzione ?

Non ho la minima speranza che questo Paese si possa riprendere.

Non sono così coraggioso e nemmeno altrettanto presuntuoso da impersonare il capitano che rimane sulla nave mentre essa affonda.

Cari amici del M5S


Cari amici del M5S, caro Beppe

è vero, non hanno capito. Non riescono a farsene una ragione, non si arrendono all’idea che non solo possiamo fare a meno di loro ma possiamo addirittura governare i nostri territori e decidere autonomamente delle nostre vite.

I vecchi signori si indignano di fronte all’avvento della Terza Repubblica poiché rappresenta, attraverso la Rete, la possibilità di determinare ogni scelta senza i placet dei ‘professionisti della politica’ o dei potenti che si nascondono dietro di essi.

Assieme al sistema mediatico dominante, essi invocano disperate politiche di ‘alleanze’ in nome della loro idea di governabilità. E lo fanno come se in passato non fossero stati i diretti protagonisti delle peggiori disfatte del paese. Intendono farlo, ancora una volta, in nome della rappresentanza conferita ai loro ‘nominati’ nelle segrete stanze di partito, secondo leggi che non rappresentano la volontà dei cittadini.

L’ultima disperata mossa riguarda la presunzione di interpretare il sentire comune del popolo del M5S che, a loro dire, sarebbe favorevole ad un accordo col PD in nome di una presunta salvifica alleanza di governo.

Il Partito Pirata ripudia il sistema della Seconda Repubblica e, più in generale, ogni sistema che impedisce al popolo di esplicitare la sovranità assoluta. È per questa ragione che oggi vi chiediamo di compiere la Rivoluzione di cui questo paese ha bisogno. Vi chiediamo di conferire tutto il potere nelle mani del popolo sovrano.

Vi chiediamo di dare voce a milioni di persone con la forza della Rete. Vi chiediamo di strozzare gli ultimi sussulti di un ceto politico ormai alla malora e segnare il punto del knock-out consegnando alle donne e agli uomini la possibilità di decidere, ogni giorno, del proprio futuro.

Dichiariamo, da subito, così come da nostra costituente, la disponibilità ad attrezzare una piattaforma di e-democracy per accogliere, assieme a voi, chiunque voglia costruire questo paese pezzo per pezzo dopo che i partiti che hanno avuto in mano il potere lo hanno smantellato.

Chiediamo a voi e ai parlamentari del M5S di mettere a disposizione il loro mandato ogni giorno, e di lasciare decidere su lavoro, casa, cconomia, ciritti civili, libertà della rete e quant’altro attenga alle nostre vite.

Vorremmo partecipare assieme a voi attraverso la piattaforma LiquidFeedback, e decidere quando, come e se sostenere un governo o se buttarlo giù nel momento in cui non applichi quanto gli chiediamo.

Cari amici, caro Beppe, vi ringraziamo per ciò che avete avviato in questo paese, ve ne siamo sinceramente grati. Ora, però, lasciate decidere, lasciate scegliere i cittadini.

Questo documento è stato approvato democraticamente dall’Assemblea Permanente del Partito Pirata.

Il Papa è nudo

Sì, l’avevo previsto, qualcosa di strano sarebbe successo. Io personalmente realizzo la caduta nell’istante in cui il Papa annuncia le sue dimissioni, 11 Febbraio 2013. Da quel giorno, fatto certo ed inconfutabile, il Joseph Ratzinger NON è più vicario di Cristo e pastore qui in terra della Chiesa universale. Ovviamente il titolo Papa onorario non esiste[vedi aggiornamento sotto!], non c’è un titolo per un ex-papa, un ex-papa torna ad essere un uomo. Sì, un uomo, come me e te che ora stai leggendo, niente di più niente di meno.

Non voglio entrare nel merito del perché il Papa si sia dimesso, non sono affari miei e non ho strumenti per poterne parlare adeguatamente. Quello che invece posso considerare da Cristiano è che trovo il fatto molto inquietante, è facile sentirsi spiazzati, forse anche abbandonati. Ma tant’è, formalmente dal 28 Febbraio  si riaprirà il Conclave e via con un altro Papa, senza la morte del precedente.

Ora prima che l’uomo Joseph Aloisius Ratzinger, se ne vada per altri lidi deve rispondere a noi altri uomini in terra di due cosucce:

  1. Visto che unitamente alle sue dimissioni Ratzinger non è più Capo di Stato Vaticano la procedura giudiziaria della Contea di Harris (Texas) può andare avanti. Ratzinger infatti è accusato di intralcio alla giustizia, non è stato mai processato in quanto avente immunità come Capo di Stato.
  2. Oltre a chiarire in maniera trasparente l’operato dello IOR, Ratzinger dovrebbe spiegare ai Cristiani, che hanno fra i comandamenti il non uccidere, perché ha nominato presidente dell’Istituto per le Opere di Religione tale Ernst von Freyberg presidente della Voss Schiffswerft und Maschinenfabrik una società di Amburgo attiva nella cantieristica navale civile e militare per “alto livello professionale e morale”.

Detto questo, non posso che sperare ed augurarmi una palingenesi nella povertà della Chiesa Cattolica retta e guidata dal nuovo vicario di Cristo in terra.

AGGIORNAMENTO (26/02/2013)
Oggi il Papa si è auto-attribuito il titolo di Papa emerito e di Romano pontefice emerito. Quindi devo correggermi: il titolo da ex-papa non esisteva, ora, creato ad-hoc da chi poi lo userà, c’è!

jQuery short answers quiz

I’m developing a website containing my deutsch course lessons. Our teacher given us some exercises, and I had the need to render it on an interactive web page. How to accomplish this mission? Obviously using jQuery.
The main issue is to write in a simple way your “short answers” form, and leave the hard job to jQuery code. So the form need to looks like:

<form>
    The sky is <input type="text" answ="blue"/>.
    The pen is <input type="text" answ="on"/> the table.<br />
    Yes I, <input type="text" answ="am"/>.<br />
    <input type="button" class="subm" value="Verify"/>
</form>

As you can see, each <input> contains the attribute answ with the correct answer and the element you want to use to check needs to have class=”subm”. That’s all!

The JS code resizes all the text inputs using the answer’s length, and changes CSS class (answ_error, answ_ok) of the input element. Finally a couple of attributes (tot and ok) will be added to the form, containing the number of text inputs and the number correct answers.

Code is available here.

La (mia) migliore offerta

In questi giorni nei cinema è in programmazione il nuovo film di Tornatore “The best offer” – La migliore offerta (Trailer)

migliore

Virgil Oldman é un genio eccentrico, esperto d’arte, apprezzato e conosciuto in tutto il mondo. La sua vita scorre al riparo dai sentimenti, fin quando una donna misteriosa lo invita nella sua villa per effettuare una valutazione. Sarà l’inizio di un rapporto che scovolgerà per sempre la sua vita.

Nel cast oltre Geoffrey Rush, Jim Sturgess, Sylvia Hoeks, Donald Sutherland, Maximilian Dirr in qualche modo c’è finito anche il sottoscritto, attraverso l’azienda per la quale lavoro (inim.biz).

In una scena nel film, infatti, fa la comparsa un progetto sviluppato da me: Evolution, una tastiera domotica multimediale. Il progetto è basato su sistema operativo GNU/Linux e l’interfaccia grafica sul framework Qt.

Di seguito una piccolissima parte della scena di riferimento (al minuto 2:12), dove Evolution è installata a protezione del caveau.

Una piccola, grande soddisfazione personale e dell’azienda per cui lavoro.