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)