Il corso è propedeutico per concorrere alla formazione della figura professionale "Programmatore Junior" in grado di lavorare in gruppi di progetto per lo sviluppo di applicazioni sulla base di specifiche tecniche fornite dall’analista o dal capo progetto.
Il corso è destinato a tutte le persone che avendo una conoscenza di base della programmazione desiderino acquisire velocemente il paradigma Object Oriented ed il linguaggio Microsoft C#. L’acquisizione delle conoscenze avverrà attraverso l’illustrazione di esercizi pratici usando Visual Studio.
Acquisita padronanza con C# sarà poi facile imparare a sviluppare Web App usando ASP Net MVC o creare App Android, iOS e Windows usando Xamarin.
Gli argomenti sono suddivisi in due sezioni: 1) "C# Base" ha lo scopo di far acquisire praticamente usando il linguaggio C# tutte le nozioni base necessarie alla programmazione object oriented; 2) "Paradigma object oriented" ha lo scopo di far acquisire i concetti di Obiect Oriented, le rappresentazioni grafiche ed approfondire il linguaggio C#.
1. Il linguaggio C#: una prima visione procedurale per acquisire le istruzioni e i tipi di dati di base:
- variabili, operatori, espressioni e blocco di istruzioni;
- i tipi di dati primitivi e gli array;
- controllo del flusso del programma:
istruzione if “then” else;
istruzioni break, continue e return;
istruzione switch;
istruzioni while e do while;
istruzione for, foreach;
2. Il Paradigma Object Oriented (incapsulamento e visibilità, ereditarietà, polimorfismo, astrazione), comprendere cos’è una Classe, cos’è un Oggetto e cos’è un programma ad oggetti;
- Passare dal “problema” al modello statico delle classi usando schemi UML (Unified Modeling Language);
- Le classi in C#: lo spazio dei nomi, l’incapsulamento e la visibilità, l’ereditarietà, il polimorfismo e l'astrazione, le interfacce;
- Le principali librerie di classei e relativi spazi dei nomi offerti da C#: System, Collections.Generic, Data, IO, Text;
- Esempi d’uso con creazione di file (stream), scrittura e lettura, formattazione dei dati, input ed output da consolle;
- Serializzazione e deserializzazione degli oggetti;
- Le eccezioni: i blocchi try catch finally – come e quando usarli;
- Creazione di una classe di eccezione personalizzata;
- Introduzione alla programmazione concorrente: costruire e gestire thread;
- la costruzione e debug di un’applicazione completa con gestione degli errori, interfaccia grafica ed accesso ai file.