Codifica
Linguaggi di programmazione e loro funzionamento
I partecipanti apprenderanno i principi e i concetti di base dei linguaggi di programmazione. Viene fornita una panoramica dei linguaggi di programmazione di alto e basso livello, sottolineando le differenze tra questi tipi. Linguaggi di alto livello come Python e Java vengono considerati rispetto a linguaggi orientati alla macchina come l'Assembly.
Dalla programmazione visuale a 0 e 1
Questa sezione copre la gamma di programmazione dai linguaggi di programmazione visuale ai linguaggi orientati alla macchina. Vengono presentati esempi di linguaggi di programmazione visuale, come Scratch, e di linguaggi orientati alla macchina, come Assembler. Vengono spiegati i diversi livelli di programmazione e le loro applicazioni.
Fondamenti di programmazione
Vengono insegnati i concetti di base della programmazione. Questi includono la sintassi e la semantica dei linguaggi di programmazione, la dichiarazione e l'uso delle variabili e dei tipi di dati (come interi, float, stringhe, booleani), nonché l'uso degli operatori aritmetici, logici e di confronto.
Modelli di progettazione
I design pattern sono modelli di soluzione collaudati per i problemi ricorrenti nello sviluppo del software. I partecipanti imparano la definizione e lo scopo dei design pattern e vengono forniti esempi di pattern comuni come singleton, factory e observer. Vengono inoltre discussi l'applicazione e i vantaggi dei design pattern nello sviluppo del software.
Strutture di controllo
Questa sezione tratta le strutture di controllo di base della programmazione, comprese le condizioni e le ramificazioni con gli enunciati if, else ed elif, nonché i cicli come i cicli for e while. Viene inoltre spiegata l'importanza del controllo dei cicli mediante l'uso di break e continue.
Funzioni e modularità
I partecipanti impareranno a definire e chiamare le funzioni, compresi i parametri, i valori di ritorno e la riutilizzabilità del codice. Vengono inoltre illustrati i principi di base della modularità e della suddivisione del codice in moduli gestibili e riutilizzabili.
Strutture dati di base
Questa sezione fornisce una comprensione di base delle strutture di dati come liste, array, dizionari, hashmap, tuple e set. Gli studenti impareranno a creare, accedere e modificare queste strutture.
Algoritmi semplici e risoluzione di problemiI partecipanti vengono introdotti agli algoritmi di ordinamento di base, come il bubble sort e il selection sort. Impareranno anche a conoscere algoritmi di ricerca come la ricerca lineare e binaria. Vengono discusse strategie sistematiche di risoluzione dei problemi e metodi di debug.
Programmazione orientata agli oggetti (OOP)Vengono insegnati i principi di base della programmazione orientata agli oggetti, tra cui classi, oggetti, attributi e metodi. Concetti come l'ereditarietà, il polimorfismo e l'incapsulamento sono spiegati in modo essenziale e illustrati con semplici esempi.
Progetti semplici e applicazioni praticheI partecipanti mettono in pratica le loro conoscenze in piccoli progetti pratici, come lo sviluppo di una calcolatrice, di una lista di cose da fare o di un semplice gioco. Infine, vengono illustrate semplici tecniche per controllare e migliorare il proprio codice attraverso le revisioni del codice.