Università del Maryland rilascia corso di programmazione Android gratuitamente

L’università del Maryland inizierà un corso di programmazione Android il prossimo mese (più precisamente il 21 Gennaio 2014): il corso offrirà agli interessati le nozioni fondamentali per creare applicazioni per smartphone e tablet con a bordo il sistema operativo di Google.

Il corso ha una durata di 8 settimane ed è diretto a persone con una conoscenza base di Java: nonostante ciò non è necessario avere conoscenze ed esperienze nello sviluppo di applicazioni per dispositivi mobile in quanto il corso è per i principianti.

E’ necessario avere una connessisione Internet, un computer e del tempo (tra le 3 e le 6 ore a settimana) per visualizzare i video rilasciati dai docenti,leggere, scrivere e discutere: non è necessario possedere un dispositivo Android in quanto tutto il lavoro si svolgerà sull’emulatore Android.

Ogni lezione sarà correlata di una presentazione video ed esercizi che aiuteranno gli studenti a mettere in pratica ciò che hanno imparato. Alla fine del corso, gli studenti dovranno presentare un progetto molto più completto e coloro che supereranno il corso riceveranno un certificato autenticato dall’insegnante del corso Adam Porter.

Ecco come si articolerà il corso:

Week #1:

•  Lecture #0 – Handheld systems, their use, and how this affects the design of handheld applications

•  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: We’ll build applications that 1) trace the lifecycle callback methods issued by the Android platform and that 2) change the application’s layout when the device configuration changes (e.g., when the device moves from portrait to landscape mode).

Week #3:

•  Lecture #5 – The Intent Class

•  Lecture #6 – Permissions

•  Lecture #7 – The Fragment Class

•  Lab #3a – Intents & Permissions:  We’ll build several applications that require starting multiple Activities via standard and custom Intents, and that require non-default permissions.

•  Lab #3b – Tablet User Interfaces: We’ll build two applications; one that has a series of Activities for use on a phone; one that has a multi-pane user interface for use on a tablet.

Week #4:

•  Lectures #8 – User Interface Classes – Part I

•  Lectures #9 – User Interface Classes – Part II

•  Lab #4 – ToDoManager:  We’ll build a ToDo list manager using the user interface elements discussed in lecture. The application will use custom views for creatively displaying ToDo items in a list. The application will display two different types of user interfaces, based on whether the device on which it’s running is a small phone or a larger tablet.

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. 

Final Project: iRemember

We’ll implement the front end of a complex handheld application involving many of the concepts presented in the class.

Per chi fosse interessato è possibile avere maggiori informazioni guardando la pagina del corso presente sulla piattaforma Coursera: dalla medesima è possibile anche iscriversi in pochi minuti.

Cosa ne pensate? Vi iscriverete a questo corso? Io mi sono già iscritto e nel caso voleste maggiori chiarimenti non esitate a commentare e/o a contattarci!

  • Giovanni Chelli

    Personalmente trovo questo corso davvero molto interessante, anche il fattore del prezzo, gratuito, rende maggiore l’interesse.

  • Penso che mi iscriverò molto volentieri 🙂 grazie per la segnalazione!

  • mick5070

    Un’ottima iniziativa secondo me 🙂

    • Vero, ottima trovata! Poi si sa che le uni americane sono 10 passi avanti a dir poco!