Struttura del corso

Durata totale: 450 ore (300 ore formazione + 150 ore stage)

Metodo: 70% pratica – 30% teoria

Modalità: Lezioni frontali, esercitazioni guidate, live coding, progetto finale

MODULO 1 – Fondamenti di Programmazione e C# (60 ore)

Introduzione a C# e .NET (20 ore)

  • Cos’è la programmazione e a cosa serve
  • Breve storia di C# e della piattaforma .NET
  • Differenza tra .NET Framework e .NET moderno
  • Dove viene usato C# oggi (desktop, web, servizi)
  • Installazione e configurazione dell’ambiente di sviluppo
  • Primo programma in C#

Concetti base di programmazione (40 ore)

  • Algoritmi e logica di base
  • Variabili e tipi di dati principali
  • Operatori matematici e logici
  • Input e output da console
  • Stringhe e formattazione del testo

MODULO 2 – Controllo del Flusso e Strutture Dati di Base (50 ore)

Strutture di controllo (25 ore)

  • Condizioni: if, else, switch
  • Cicli: for, while, do-while
  • Uso di break e continue

Collezioni di base (25 ore)

  • Array e array multidimensionali
  • Liste (List<T>)
  • Dizionari (Dictionary<TKey, TValue>)
  • Iterazione con foreach

MODULO 3 – Programmazione Orientata agli Oggetti (50 ore)

Concetti fondamentali OOP (50 ore)

  • Cos’è un oggetto e una classe
  • Campi, proprietà e metodi
  • Costruttori
  • Incapsulamento e modificatori di accesso
  • Ereditarietà
  • Polimorfismo
  • Classi astratte
  • Interfacce
  • Enum e struct
  • Record (introduzione semplificata)

MODULO 4 – Accesso ai Dati (80 ore)

Introduzione ai database relazionali (10 ore)

  • Cos’è un database relazionale
  • Concetti di base: tabelle, colonne, righe, chiavi primarie e chiavi esterne
  • SQL Server: installazione e configurazione di base
  • SQL Server Management Studio (SSMS)
  • Operazioni SQL di base: SELECT, INSERT, UPDATE, DELETE

ADO.NET (30 ore)

  • Cos’è ADO.NET e come funziona
  • Connection String: come configurare la connessione al database
  • SqlConnection: aprire e chiudere connessioni
  • SqlCommand: eseguire query e comandi SQL
  • SqlDataReader: leggere dati in modo forward-only
  • SqlParameter: query parametrizzate per prevenire SQL injection
  • Gestione delle transazioni con SqlTransaction
  • DataTable e DataSet: lavorare con dati disconnessi
  • Best practices: using statement e gestione delle risorse
  • Operazioni CRUD complete con ADO.NET

Entity Framework Core (40 ore)

  • Cos’è un ORM (Object-Relational Mapping)
  • Introduzione a Entity Framework Core
  • Installazione dei pacchetti NuGet necessari
  • DbContext: configurazione e utilizzo
  • DbSet e mapping delle entità
  • Code First vs Database First
  • Migrations: creare e aggiornare il database
  • LINQ to Entities: query con sintassi fluent e query syntax
  • Operazioni CRUD con EF Core
  • Relazioni tra entità: One-to-One, One-to-Many, Many-to-Many
  • Eager loading, Lazy loading e Explicit loading
  • Tracking vs No-Tracking queries
  • Data Annotations e Fluent API per la configurazione del modello
  • Raw SQL queries in EF Core
  • Gestione delle transazioni in EF Core
  • Best practices e ottimizzazione delle performance

MODULO 5 – Gestione Errori, LINQ e Asincronia (40 ore)

Gestione degli errori (15 ore)

  • Cos’è un’eccezione
  • Try-catch-finally
  • Creazione di eccezioni personalizzate
  • Buone pratiche

LINQ e manipolazione dei dati (15 ore)

  • Cos’è LINQ
  • Query semplici su collezioni
  • Filtrare, ordinare e trasformare dati

Programmazione asincrona (10 ore)

  • Concetto di asincronia
  • async e await
  • Task e Task<T>

MODULO 6 – Progetto Finale e Best Practices (20 ore)

Progetto pratico (15 ore)

Sviluppo di una applicazione console completa con accesso ai dati, ad esempio:

  • Gestione di una biblioteca, negozio o sistema di prenotazioni
  • Operazioni CRUD complete con database
  • Utilizzo di ADO.NET o Entity Framework Core
  • Gestione delle relazioni tra entità
  • Menu interattivo e navigazione
  • Gestione degli errori e validazione input

Buone pratiche e introduzione al testing (5 ore)

  • Codice leggibile e manutenibile
  • Principi base del Clean Code
  • Introduzione ai test automatici

MODULO 7 – Stage in Azienda / Project Work (150 ore)

Lo stage ha l’obiettivo di consolidare le competenze acquisite durante il corso attraverso attività pratiche in contesto lavorativo reale oppure tramite project work simulato.

Attività previste

  • Affiancamento a sviluppatori o tutor tecnici
  • Analisi di semplici requisiti funzionali
  • Sviluppo o manutenzione di applicazioni C#
  • Scrittura e modifica di codice esistente
  • Debug e risoluzione di problemi
  • Utilizzo di strumenti di versionamento (Git)

Obiettivi dello stage

  • Applicare le conoscenze teoriche a casi reali
  • Migliorare l’autonomia nello sviluppo software
  • Comprendere il flusso di lavoro di un team tecnico
  • Prepararsi all’ingresso nel mondo del lavoro IT

 

Strumenti utilizzati

  • Visual Studio 2022 Community
  • SQL Server Express o LocalDB
  • SQL Server Management Studio (SSMS)
  • Git e GitHub (introduzione pratica)
  • Debugger integrato

Valutazione

  • Esercitazioni pratiche durante il corso
  • Valutazione del progetto finale

Risultati attesi

Al termine del corso lo studente sarà in grado di:

  • Scrivere programmi in C# partendo da zero
  • Comprendere e applicare la programmazione orientata agli oggetti
  • Gestire errori e dati in modo corretto
  • Lavorare con database relazionali utilizzando SQL
  • Utilizzare ADO.NET per l’accesso ai dati
  • Sviluppare applicazioni con Entity Framework Core
  • Sviluppare una applicazione completa con database
  • Proseguire lo studio verso .NET avanzato, ASP.NET Core o sviluppo web

450 ore

Destinatari

  • Neodiplomati e neolaureati che vogliono acquisire competenze pratiche subito spendibili nel lavoro
  • Persone in riqualificazione professionale disoccupati o in cerca di nuova occupazione
  • Lavoratori che desiderano cambiare settore e entrare nel mondo IT
  • Professionisti di altri ambiti come impiegati, tecnici, amministrativi che vogliono acquisire competenze digitali avanzate
  • Principianti assoluti
  • Persone senza esperienza di programmazione
  • Persone interessate al mondo dell’informatica

Competenza – Crescita – Futuro

non parliamo di affari,
parliamo di ‘TE’!

Integriamo specializzazioni e competenze per sviluppare azioni comuni e assicurare i massimi standard qualitativi di formazione in ogni ambito di settore sia pubblico che privato.

  • Progettazione: Qualità e coerenza formativa

  • Sviluppo: Supporto formativo continuo

  • Formazione: Eventi per crescere insieme

0+
Corsi Attivi
0+
Ore di Formazione
0+
Formatori
0+
Studenti Formati