16-18 anniI più scelti
Introduzione alla programmazione con C# - Corso individuale
Questo corso offre un’introduzione alla programmazione “vera e propria”. Si affrontano gli elementi fondamentali di C#, un linguaggio moderno sviluppato da Microsoft. Lo studente, inoltre, impara a creare siti web e apprende le basi per un uso sicuro di Internet e dell’hacking.
Introduzione
Ti stai chiedendo come lavorano i programmatori? In questo corso scopriremo come si utilizza il linguaggio C# lavorando con l'ambiente Visual Studio, come un vero programmatore! “Ciclo, metodo, istruzione condizionale”: pensi che sia un’antica formula magica? Da bravi programmatori scopriremo il significato di questi termini. Potrai poi utilizzarli per creare tanti programmi.
Programma del corso
1Introduzione a C#
L’obiettivo della lezione è creare il primo programma con C# e familiarizzare con l’ambiente Visual Studio.
2Variabili e costanti
L’obiettivo della lezione è presentare il concetto di variabili, costanti ed illustrare quali tipi vengono utilizzati più spesso.
3Le operazioni matematiche
L’obiettivo della lezione è illustrare il funzionamento delle operazioni matematiche.
4Gli operatori logici e casting
L'obiettivo della lezione è introdurre il casting, l'uso di operatori matematici e logici. Il secondo obiettivo è presentare l'incremento e il decremento nel linguaggio C#.
5L’istruzione condizionale IF pt. I
L’obiettivo della lezione è presentare l’istruzione condizionale IF.
6L’istruzione condizionale IF pt. II
Continuazione della lezione precedente.
7Switch
L’obiettivo della lezione è presentare l’istruzione condizionale Switch.
8Buone norme di programmazione
L'obiettivo della lezione è imparare come testare e correggere il tuo codice e utilizzare in modo efficace l'IDE (Integrated Development Environment) per facilitare il lavoro.
9Introduzione ai cicli
L’obiettivo della lezione è familiarizzare con il concetto di ciclo.
10I cicli
L’obiettivo della lezione è approfondire la tematica dei cicli.
11Gli arrays
L’obiettivo della lezione è illustrare le modalità di applicazione e di utilizzo degli array.
12I metodi pt. I
L’obiettivo della lezione è presentare i metodi.
13I metodi pt. II
L’obiettivo della lezione è approfondire la tematica dei metodi.
14Ripasso del materiale
L’obiettivo della lezione è riassumere quanto appreso nel corso del semestre.
15BrickGame
L'obiettivo di questa lezione è utilizzare le conoscenze acquisite finora nella preparazione di un gioco nel sistema di console, ispirato ai giochi delle console Brick Game.
16BrickGame pt. II
L'obiettivo della lezione è migliorare il gioco della lezione precedente. Il miglioramento consisterà, tra le altre cose, nell'accelerare il gioco, introdurre bonus collezionabili e implementare il sistema di nitro.
17Acchiappa la talpa
L'obiettivo della lezione è preparare un progetto per il popolare gioco "Acchiappa la talpa". Sarà un gioco con finestra (WinForm). Per consentire agli studenti di completare il progetto, mostreremo prima come lavorare con PictureBox e utilizzare la grafica nei progetti, utilizzando l'esempio di un compito preliminare.
18Acchiappa la talpa pt. II
L'obiettivo della lezione è perfezionare e riprodurre più fedelmente il nostro gioco "Acchiappa la talpa". Sarà ancora più simile al gioco originale aggiungendo posizioni designate da cui le talpe possono sbucare dalle tane e un sistema di punteggio.
19Elaborazione delle immagini
Creeremo un progetto per imparare l'elaborazione delle immagini.
20Introduzione all'OOP
L’obiettivo della lezione è presentare agli alunni le informazioni di base e il concetto di programmazione ad oggetti, nonché come lavorare su Solution Explorer.
21L'ereditarietà
L’obiettivo della lezione è approfondire la tematica di programmazione ad oggetti. Verranno presentati alcuni concetti come l’ereditarietà, la sovrascrittura dei metodi e gli elementi statici nella programmazione.
22L’ereditarietà pt. II
L’obiettivo della lezione è ripetere e consolidare il materiale riguardante le basi della programmazione ad oggetti e conoscere elementi come l’overloading dei metodi, il ciclo foreach e le liste.
23Ripasso OOP - RPG
L’obiettivo della lezione è ripetere e consolidare il materiale riguardante le basi della programmazione ad oggetti.
24Progetto: Gioco del Memory pt. I
Creeremo una finestra con il gioco del memory in cui, una volta avviato, le coppie di immagini verranno estratte casualmente. Il nostro compito sarà quello di trovare tutte le coppie nel minor tempo possibile, per guadagnare più punti possibili. Il gioco sarà dotato di un conto alla rovescia e, una volta terminato, potrà essere iniziato nuovamente.
25Progetto: Gioco del Memory pt. II
Continuazione del progetto realizzato nella lezione precedente.
26Progetto: Gioco del Memory pt. III
Continuazione del progetto realizzato nella lezione precedente.
27Progetto: Battaglia Navale pt. I
Questo sarà il nostro progetto più grande. Il gioco "Battaglia navale" sarà composto da due finestre (impostazione del tabellone e logica di gioco). Programmeremo il gioco con un computer. Il progetto preparato è un'applicazione che può essere espansa e modificata a nostro piacimento. Nella prima lezione ci concentreremo sulla preparazione dell'aspetto delle finestre e sulle classi di base che verranno utilizzate nel progetto.
28Progetto: Battaglia Navale pt. II
Continuazione del progetto realizzato nella lezione precedente.
29Progetto: Battaglia Navale pt. III
Nella lezione di oggi finiremo il lavoro sugli eventi relativi alla fase di posizionamento delle navi sul tabellone da parte del giocatore.
30Progetto: Battaglia Navale pt. IV
Nella lezione di oggi lavoreremo sulla meccanica di gioco, cioè sugli elementi di programmazione relativi alla finestra di gioco. La lezione sarà un riassunto dell'intero progetto.
31Word
Durante le lezioni, creeremo il nostro editor di testo. Impareremo le operazioni sui file (salvataggio e lettura dei documenti) e l'editing del testo in un campo di testo.
32Paint
Durante le lezioni, creeremo il nostro programma per disegnare. Impareremo a disegnare in C# e a creare forme geometriche di base.
33Il gioco della vita pt. I
In questa e nelle prossime lezioni prepareremo la nostra implementazione del Gioco della Vita. Questa è una simulazione in cui non esiste un giocatore tipico e l'unica influenza sul gioco avviene durante l'impostazione delle condizioni iniziali. La simulazione coinvolge cellule che si evolvono e formano strutture diverse.
34Il gioco della vita pt. II
In questa lezione miglioreremo il nostro progetto Game of Life. Miglioreremo le prestazioni del programma e aggiungeremo diversi modi per eseguire la simulazione. Ciò ci consentirà di testare le prestazioni di un organismo pre-preparato.
35Metodi di Archiviazione dei Dati
L'obiettivo di questa lezione è discutere vari metodi di archiviazione dei dati in C#. Saranno presentati i concetti di record, dizionari, code e insiemi.
36Database in C#
L'obiettivo di questa lezione è spiegare come connettersi a un database MySQL in C# e dimostrare come recuperare dati da esso.
37Database in C# pt. II
L'obiettivo di questa lezione è discutere di come prevenire le SQL injection, spiegare cos'è una transazione e illustrare lo scopo di Entity Framework.
38Introduzione a LINQ
L'obiettivo di questa lezione è introdurre LINQ, le sue applicazioni, quando utilizzarlo e i suoi vantaggi.
39Test
L'obiettivo di questa lezione è scoprire come scrivere test unitari e di integrazione in C# e illustrare i vantaggi derivanti da tale pratica.
40LeetCode e HackerRank: Compiti di Programmazione di Base
L'obiettivo di questa lezione è mostrare i siti Web LeetCode e HackerRank. Vari compiti verranno eseguiti su LeetCode, utilizzando i concetti discussi in precedenza.
41LeetCode e HackerRank pt.II
Continuazione della risoluzione dei compiti. Dimostrare e risolvere in modo collaborativo compiti che possono apparire nei colloqui di lavoro aziendali.
42Introduzione a JavaScript
Durante questa lezione discuteremo le basi della programmazione in JavaScript, come le variabili, i cicli e le istruzioni condizionali.
43Introduzione a JavaScript pt.II
L'obiettivo di questa lezione è discutere ulteriormente il linguaggio JavaScript, in particolare come richiamare funzioni scritte in C# da JavaScript.
44Introduzione ad Angular
Durante questa lezione copriremo le basi di Angular, spiegando perché e quando utilizzarlo, e definendo i concetti di componenti, moduli e servizi.
45Introduzione ad Angular pt. II
L'obiettivo di questa lezione è discutere ulteriormente il framework Angular, incluso come eseguire il frontend e il backend. Spiegherà inoltre la distribuzione di un'applicazione.
46Gigantbook pt. I
Durante questa lezione, creeremo una versione semplificata di Facebook. Questo progetto prevede la creazione di un profilo personale, la consultazione dei profili degli altri utenti e l'invio di messaggi ad altri utenti. Utilizzeremo C#, Angular e un database SQL. Gigantbook sarà un'applicazione web.
47Gigantbook pt. II
Continuazione della lezione precedente.
48Introduzione a Unity
Familiarizzazione con il motore grafico utilizzato per la realizzazione dei giochi per computer realizzati durante le lezioni e creazione del primo gioco.