Professional C# Programming - Corso Aziendale


Descrizione Dettagli Programma Contatti
 
Il C# viene generalmente ritenuto un linguaggio "semplice". Di conseguenza, i programmatori .NET si dedicano soprattutto all'apprendimento delle numerose librerie: Windows Forms, WPF, Silverlight, ASP.NET e MVC, WF, WCF, ecc. Se da un lato questo aiuta a passare piu' rapidamente all'azione, dall'altro relega il linguaggio ad un ruolo marginale. Tuttavia, il linguaggio di programmazione e' lo strumento attraverso il quale esprimiamo in modo esatto i nostri pensieri. Non dedicargli la giusta attenzione spesso significa non cogliere tutte le opportunita' della piattaforma su cui lavoriamo.

Questo corso si concentra sul linguaggio, sugli idiomi di codifica tipici del C#, e su alcune parti fondamentali della Base Class Library, utili al di la' della tipologia di applicazioni realizzate. Gli obiettivi fondamentali sono:
  • Chiarire esattamente il significato ed il comportamento dei diversi costrutti del linguaggio.
  • Mostrare quando e come utilizzarli, in un'ottica di programmazione robusta, flessibile, manutenibile: in una parola,professionale.
  • Esaminare problematiche frequenti (es. gestione delle eccezioni), mostrando schemi di codifica robusti e ben collaudati.
  • Evidenziare la linea evolutiva del C#, e la conseguente evoluzione degli stili di codifica. Mostrare quindi i concetti piu' recenti (extension methods, lambda expressions, dynamic types) non come una collezione disaggregata di costrutti, ma come un insieme omogeneo di strumenti che segue una strategia ben definita.
  • Ove necessario, scendere all'interno della piattaforma .NET, esaminando alcuni aspetti del Common Language Runtime indispensabili per capire a fondo il modello di esecuzione del C#.
  • Mostrare le peculiarita' del C#/.NET e come utilizzarle per scrivere codice moderno, che non si limita a replicare i vecchi concetti appresi in altri linguaggi. Ad esempio, il giusto spazio viene dedicato ad attributi e reflection come strumenti per migliorare l'estendibilita' e la modularita' del software.
  • Trasmettere alcune pratiche consolidate per la scrittura di codice robusto, come la creazione di Unit Test.
  • Affrontare alcune tematiche ricorrenti, come l'uso dei Thread, la serializzazione degli oggetti e l'accesso a dati semistrutturati in XML, la creazione di applicazioni estendibili tramite plug-in, ecc

Come sempre nei miei corsi, l'insegnamento non e' mai dogmatico, e l'obiettivo e' permettere a chi partecipa di programmare in modo piu' consapevole, avendo chiare le conseguenze delle diverse scelte in termini di tempi di sviluppo, riusabilità, manutenibilità, comprensibilità, estendibilità, efficienza.

Il programma del corso e' molto ampio: si parte "da zero" e si arriva a coprire gli aspetti piu' avanzati ed innovativi del C# 4.0. Ovviamente, e' sempre possibile ritagliarne una parte, scegliendo tra gli elementi fondamentali piuttosto che i soli aspetti avanzati, in funzione della preparazione e delle necessita' dei partecipanti.