Ambienti di Programmazione e Programmazione Mobile

Ing. Informatica, triennale, III anno, I periodo (a scelta per la magistrale)

OBIETTIVI DEL CORSO

  • Apprendere appieno l’utilizzo dei sistemi operativi basati su Unix (Linux in particolare) e i principali linguaggi di scripting.
  • Apprendere la programmazione mobile su Android con l’ausilio del linguaggio Kotlin
  • Al termine del corso conoscerete Linux e sia dal punto di vista utente che con delle basi da amministratore e a progettare applicazioni Android

Programma

  • Storia dei sistemi Unix e Linux

  • I Desktop e le distribuzioni Linux

  • Il file system di Linux

  • Gestione dei processi e della memoria in Linux

  • La redirezione dell’input/output e le pipe.

  • Comandi principali e programmazione shell base e avanzata

  • L’ Amministrazione del sistema

  • Ambienti di Programmazione sotto Linux

  • Il Linguaggio C, differenze con Java, i tipi di base, i puntatori, le struct, le funzioni, ecc.

  • Installazione e manutenzione Linux (Debian/Ubuntu, Gentoo)

  • Introduzione al mondo Mobile, ad Android e all’IDE Android Studio

  • Cenni della programmazione in Kotlin

  • Location based systems

  • Activity and Activity Lifecycle

  • Explicit and Implicit intents

  • Layout, widget and GUI

  • Resources

  • Sensors and System services

  • Data Management

  • Location and Google Map Services

  • Tag and NFC

Materiale Didattico

Libri di Testo (parte Linux)

Linux Documentation Project, http://sunsite.unc.edu/linux

“Guida completa Linux” - Peterson, MC Graw Hill.

In italiano:

Amministrare Gnu Linux, Simone Piccardi
http://www.pluto.it/ildp/ Materiale Linux in italiano
http://www.pluto.it/ildp/guide.html tutte le guide

Libri di Testo (parte Android)

Android Developer, sito web di riferimento dei realizzatori di Android 
Massimo Carli, Android 9, Apogeo 
The First Line of Code Android Programming with Kotlin, Springer 

Altro materiale didattico

Lucidi delle lezioni e Dispense integrative, sulla pagina Teams del corso

Consigliati e Approfondimenti sul C

Kernighan and Ritchie, C Programming Language (la base) 
Stephen Prata, C Primer Plus (molto completo)  
http://c.learncodethehardway.org/book/ 
http://cslibrary.stanford.edu/101/EssentialC.pdf (bignami) 

Gianluigi Folino
Gianluigi Folino
Senior Researcher

My research interests include applications of distributed computing and data mining in the areas of cybersecurity, big data, and bioinformatics matter.