Introduction to the Java language. Origins and objectives. Life cycle of a Java program. Implementation, compilation and execution of a Hello, World program. Basic constructs of the Java language. Introduction of the Eclipse development environment. I / O in Java. Exception handling. Types of abstract data: arrays and collections. Inheritance and polymorphism. Interfaces and implementation. User interface in Java. Events and listeners. Programming exercise in Java: creation of an interactive application for the calculation of the tax code from existing libraries for calculation. Introduction to Android. Android architecture. Real and virtual machines. Life cycle of an application. Introduction to Gradle Introduction to the Android Studio development environment. Implementation of the static part of an Android application. Manifest. Resources and internationalization. Graphic layout. Layouts, styles and themes. Activity. Fundamental widgets. Events and listeners. Implementation of a first Hello, World application. Further elements of the user interface of an Android application: fragment, menu, dialog, toast. Intent and communication between Activity. Management of persistent data in the Android environment: Shared Preferences, files, databases, access to Web services, use of remote databases with Firebase. Publishing of an Android application. Signature, safety and business models. Thread, Task and Services. Access to sensors and maps. Introduction to testing of Android applications Android programming exercise: creation of an application to calculate the tax code starting from the interactive Java application made previously. Introduction to Concurrent Versioning Systems. Key features offered by Git. Creation and sharing of software projects with Github Introduction to Web applications. Basic architectures and languages. Client server model and subsequent evolutions. Introduction to Client Side languages for Web applications. Introduction to HTML and HTML 5. CSS. Introduction to Javascript. Basic constructs. Events and listeners. Types of data. Interaction with the DOM. Javascript debugging with Firebug. JQuery. Introduction to Rich Internet Applications and Ajax. Overview of the additional extensions proposed for Javascript. Programming exercise in Javascript Server side languages. Introduction to PHP. Node.js: general features, tools and hosting. Creation of a Web Server (Hello, World) in node.js Basic forms. Creation of new modules in Node.js. Management of requests and responses http. Access to the file system. Events and listeners. Sending emails. Programming tutorial with Node.js: creation of a static server in node.js