MODULO 1: Ripasso dei Fondamenti di Programmazione
Consolida le basi della programmazione acquisite nel corso propedeutico per proseguire con concetti avanzati:
- L’ambiente Visual Studio: Introduzione all’ambiente di sviluppo.
- Il nostro primo programma: Creazione ed esecuzione di un semplice programma.
- Variabili, commenti e scorciatoie: Strumenti per scrivere codice chiaro ed efficiente.
- Tipi di dati: Principali tipi utilizzati in C#.
- Operatori: Aritmetici, logici e relazionali.
- Dichiarazioni IF e SWITCH: Controllo del flusso del programma.
- Cicli While, For, Foreach: Iterazioni e loop per ripetere azioni.
MODULO 2: Introduzione alla Programmazione ad Oggetti (OOP)
Scopri come le classi e gli oggetti rendono il codice più modulare ed efficiente:
- Concetti base dell’OOP: Cos’è e perché è importante.
- Classi e oggetti: Strutture fondamentali in C#.
- Campi e metodi: Componenti principali delle classi.
- Argomenti e parametri: Passaggio di dati nei metodi.
- Classi e membri statici: Utilizzo condiviso di risorse.
- Il metodo costruttore e overload: Creazione e personalizzazione di oggetti.
- Object Initializer: Inizializzazione rapida di oggetti.
- Encapsulamento: Uso di campi
readonly
, getter e setter per la sicurezza del codice.
- Proprietà: Accesso ai dati delle classi.
- Indicizzatori: Creazione di strutture simili agli array.
MODULO 3: Relazioni tra le Classi – Ereditarietà e Composition
Esplora le connessioni tra classi e apprendi i principi del design orientato agli oggetti:
- Ereditarietà: Riutilizzo del codice con classi derivate.
- Classe Object: Radice di tutte le classi in C#.
- Tight e Loose Coupling: Relazioni forti e deboli tra classi.
- Composition: Un’alternativa all’ereditarietà.
- Modificatori d’accesso: Controllo della visibilità (
public
, private
, protected
, internal
).
- Upcasting e downcasting: Conversione di oggetti.
- Boxing e unboxing: Conversioni tra tipi di valore e tipi di riferimento.
- Override e polimorfismo: Personalizzazione e comportamento dinamico.
- Classi e metodi abstract e sealed: Strutture avanzate per il design del codice.
MODULO 4: Flessibilità con Interfacce, Delegate ed Eventi
Garantisci modularità e estensibilità alle applicazioni con potenti strumenti C#:
- Interfacce: Loose coupling e implementazione multipla.
- Generics: Utilizzo di tipi generici per flessibilità.
- Delegate e lambda: Definizione e utilizzo di metodi anonimi.
- Eventi: Comunicazione tra oggetti tramite publisher e subscriber.
MODULO 5: Funzionalità Avanzate e Gestione degli Errori
Approfondisci strumenti utili per applicazioni robuste e performanti:
- Extension Methods: Estensione delle funzionalità delle classi.
- LINQ: Manipolazione dei dati con query.
- Tipi Nullable: Gestione di valori null.
- Eccezioni: Gestione degli errori con
try-catch-finally
.
- Cenni di programmazione asincrona: Introduzione alla gestione di operazioni non bloccanti.
MODULO 6: Creazione di un Videogame con Unity
Applica le competenze acquisite sviluppando un gioco interattivo:
- Ambiente di sviluppo Unity: Configurazione e integrazione con C#.
- Scripting in C#: Creazione di logiche per il gameplay.
- Controllo dei GameObject: Movimento, collisioni e rigidbody.
- Prefab e spawning temporizzato: Generazione di oggetti dinamici.
- Gestione degli eventi: Implementazione di logiche come il Game Over.