La sigla MOOC corrisponde a: Massive Oline Open Course. E’ proprio di questo genere di corsi che si occupa Coursera: tutte le università del mondo possono creare ed amministrare corsi su moltissimi argomenti direttamente dal sito di Coursera.

Purtroppo di corsi in italiano che stanno per partire, ce n’è solo uno dell’ università de la Sapienza intitolato “La visione del mondo della Relatività e della Meccanica Quantistica”.

Nella totalità però, il numeri di corsi raggiunge  589 corsi di livello universitario. Alla fine del corso viene rilasciato un’attestato di partecipazione che (dipende dal corso ma in generale funziona così) se abbiamo svolto gli esercizi e i quiz assegnati durante il corso ci viene rilasciato un attestato di partecipazione “con distinzione”.

coursera-logo

Volendo però, è possibile pagare una piccola somma (circa 30€) che ci permette di avere un certificato molto più “valido“: la Signature Track consiste nel fornire dei dati di riconoscimento biometrico (es: la faccia, i movimenti del mouse) che poi utilizzeranno per controllare che siamo stati veramente noi ad effettuare i vari test.

Ovviamente essendo di livello universitario, non  aspettatevi che sia semplice.

Google-Android

Corso di programmazione Android gratis

Su Coursera è finalmente sbarcato un corso di programmazione Android: va bene, non ricordo l’ Università del Maryland per nulla di importante ma devo ammattere che il professore Adam Porter è davvero un’ ottimo insegnante.

Il corso è il primo di una serie di tre corsi che hanno come scopo finale quello di spiegare la programmazione Android rivolta al cloud ([fancy_link link=”https://www.coursera.org/specialization/mobilecloudcomputing/2″]Mobile Cloud Computing with Android[/fancy_link]). Intanto direi di cominciare col primo, e se l’argomento vi piace continuare con i successivi 😉

Nonostante il corso sia ovviamente spiegato in inglese sono nati diversi gruppi di studio in Italiano su Facebook e su G+ che, visto che i video possono essere scaricati e sono forniti anche i sottotitoli in inglese, regolarmente cercano di subbare i video delle spiegazioni in italiano in modo da aiutare quelli meno serrati con la lingua.

Personalmente ho scelto di seguire il corso (che spero di riuscire a completare :)) in quanto in giro è veramente difficile trovare delle guide aggiornate e spiegate bene, e poi perchè la programmazione Android potrebbe essere un ottimo punto di forza come conoscenza.

Anzi, imparando dalla documentazione ufficiale (veramente ben fatta) ho anche pubblicato un semplice editor di testo: STextEditor.

Ovviamente la certificazione risulta abbastanza banale da presentare in un CV (anche se comunque la inserirò): quello che però deve interessare, sono le capacità effettive che risulteranno alla fine del corso.

Prima di continuare, dai un’occhiata alla presentazione del corso:

[youtube url=http://www.youtube.com/watch?v=1EmVP4RhML8]

Il corso prevede dei video settimanali dove il professore spiegherà di volta in volta un’argomento della settimana:

[fancy_box]Week #1:

•  Lecture #1 – The Android Platform

•  Lecture #2 – The Android Development Environment

•  Lab #1: Setup: Students identify required software & install it on their personal computers.  Students perform several tasks to familiarize themselves with the Android Platform and Development Environment.

Week #2:

•  Lecture #3 – Application Fundamentals

•  Lecture #4 – The Activity Class

•  Lab #2 – The Activity Lifecycle & Reconfiguration: Students build applications that trace the lifecycle callback methods issued by the Android platform and that demonstrate Android’s behavior when the device configuration changes (e.g., when the device moves from portrait to landscape mode and back).

Week #3:

•  Lecture #5 – The Intent Class

•  Lecture #6 – Permissions

•  Lecture #7 – The Fragment Class

•  Lab #3a – Intents & Permissions:  Students build applications that require starting multiple Activities via both standard and custom Intents.

•  Lab #3b – Permissions:  Students build applications that require standard and custom permissions.

•  Lab #3c – Multi-pane and single-pane User Interfaces: Students build an application that uses a single code base, but creates different user interfaces depending on a device’s screen size.

Week #4:

•  Lectures #8 – User Interface Classes – Part I

•  Lectures #9 – User Interface Classes – Part II

•  Lab #4 – ToDoManager:  Students build a ToDo list manager using the user interface elements discussed in lecture. The application allows users to create new ToDo Items and to display them in a ListView.

Week #5:

•  Lecture #10 – User Notifications

•  Lecture #11 – The BroadcastReceiver Class

•  Lecture #12 – Threads, AsyncTask & Handlers

•  Lecture #13 – Alarms

•  Lecture #14 – Networking

•  Lab #5a – Threads: We’ll write concurrent, multi-threaded code to load ToDo items from a networked server via background threads (i.e., without blocking the main UI thread).

•  Lab #5b – Broadcast Receiver: We’ll build an application that uses a BroadcastReceiver to react when events such as connecting and disconnecting the charger occur.

Week #6:

•  Lecture #15 – Graphics & Animation I

•  Lecture #16 – Graphics & Animation II

•  Lecture #17 – Multi-touch & Gestures

•  Lecture #18 – MultiMedia

•  Lab #6a – Gesture Sampler:  Students build and application that accepts gesture input, such as using an “X” gesture to delete, using a “?” gesture to show help, etc.

•  Lab #6b – Bubble Popper: We’ll write an application to display and animate bubbles (graphics that look like bubbles) on the device’s screen. When users touch the screen where a bubble appears, the bubble pops.

Week #7:

•  Lecture #19 – Sensors

•  Lecture #20 – Location & Maps

•  Lab #7a – Obstacle Course: Students build an application that uses the orientation of the device (tilting, rotating, etc.) to guide an object around obstacles.

Week #8:

•  Lecture #21 – DataManagement

•  Lecture #22 – The ContentProvider Class

•  Lecture #23 – The Service Class

•  Lab #8a – Data Management (SQL): Students develop a database for storing and retrieving multimedia notes with textual tags.

•  Lab #8b – Mutlimedia Notes Content Provider: Students extend the multimedia notes database so multimedia notes can be shared via a ContentProvider across multiple applications. 

[/fancy_box]

Prerequisiti per seguire il corso

L’ unica premessa è la conoscenza del linguaggio Java, con cui i programmi vengono appunto realizzati. Se conoscete altri linguaggi di programmazione potete facilmente mettervi a studiare java e mettervi sotto con il corso.

Non c’è neanche bisogno di un telefono Android in quanto nell’ambiente di sviluppo potremo emulare qualsiasi telefono o tablet.

Il corso

Durerà circa 9 settimane (2 mesi) e ci saranno quiz e esercizi di programmazione da eseguire. Volendo possiamo anche solo vedere i video e risparmiare tempo evitando di svolgere gli assignments, questo ci permetterà di avere le conoscenze ma non il certificato.

Se un pochino vi ho interessati, potete avere una preview del corso a cui sono già registrati più di 250 mila persone quì.

Se invece volete registrarvi al corso o volete avere altre informazioni, vi basta andare quì.

Ci vediamo sui gruppi di studio! 🙂