Git, HTTP/API e Python applicati a scenari reali.
Impara il C partendo dalle fondamenta reali: compilazione, tipi, input controllato, condizioni, cicli, array, stringhe, funzioni, struct, puntatori, argomenti CLI, file e moduli. Il corso non si limita a far scrivere codice che “funziona”: ti abitua da subito a leggere warning, rispettare i buffer, controllare gli errori e ragionare come chi dovrà mantenere codice C nel mondo reale.
Un corso pensato per chi non ha mai scritto una riga di codice: si parte dal primo programma che stampa una frase, si passa per variabili, input da tastiera, operatori, condizioni e cicli, e si arriva agli array. Non serve alcuna esperienza precedente di programmazione: ogni simbolo nuovo (`;`, `{}`, `<<`, `>>`, `==`) viene spiegato prima di essere usato. Il corso usa C++ moderno (`std::` esplicito, niente `using namespace std;`) ma resta volutamente semplice: niente vector, classi o file, quello arriva dopo in C++ Intermedio.
Impara Git da zero, senza bisogno di rete: init, status, add, commit, diff, branch, merge, restore, .gitignore, tag e un flusso di lavoro completo. Non solo 'i comandi giusti da digitare', ma perché Git è organizzato in questo modo — la base per collaborare su codice reale senza sovrascrivere il lavoro degli altri.
Approfondisci il C oltre le basi: build rigorosa, Makefile, separazione header/source, aritmetica dei puntatori, memoria dinamica, realloc, API con const e size_t, parsing, qsort, file robusti, errno, bit flag, liste collegate, configurazioni e test automatici. Il focus è scrivere codice che non sia solo corretto nel caso felice, ma leggibile, controllato e più vicino a un componente reale.
Consigliato prima: C Base — Fondamenti solidi di programmazione procedurale
Approfondisci C++ moderno con build ripetibile, separazione header/source, namespace, incapsulamento, parsing, map, set, lambda, algoritmi STL, smart pointer, polimorfismo, template, optional, validazione e un log analyzer finale. Il corso fa il salto dal singolo esercizio a codice modulare, leggibile e riutilizzabile, più vicino a tool reali e componenti mantenibili.
Consigliato prima: C++ Base — Da zero agli array
Impara HTTP in modo pratico con un server locale reale: GET, POST, header, query string, JSON, cookie, status code e redirect. Non solo 'la sintassi di curl', ma il protocollo su cui gira ogni sito e ogni API che userai o costruirai — la base per debuggare un'app web o capire un problema di sicurezza applicativa.
Consigliato prima: Linux Base — Da zero al terminale
Costruisci piccoli strumenti Python per leggere log, estrarre IP, contare eventi, calcolare hash, gestire JSON/CSV, controllare porte locali e produrre report. Ogni script è un esempio didattico di una tecnica reale, con l'attenzione a cosa cambierebbe per renderlo pronto alla produzione, non solo un esercizio isolato.
Consigliato prima: Linux Base — Da zero al terminale, Cybersecurity Base — Concetti fondamentali operativi
Sviluppa codice C maturo: input robusto, overflow checking, ADT, cleanup centralizzato, callback, serializzazione, ring buffer, aggregazioni, getopt, parser a stati, errori strutturati, dispatcher, ordinamento di record, test runner e un mini database finale. Questo livello sposta l’attenzione dal singolo esercizio al componente: interfacce pulite, risorse gestite, controlli espliciti e codice più vicino a strumenti reali.
Consigliato prima: C Intermedio — Memoria, parsing e progettazione modulare
Porta C++ verso un livello ingegneristico: Rule of Five, RAII, move semantics, constexpr, variant, regex, thread, mutex, async, command pattern, CLI robusta, parser di configurazioni, test runner, pipeline dati, result object, contatori thread-safe e un event processor finale. Il focus non è solo far compilare il codice, ma progettare componenti prevedibili, testabili e resistenti a input imprevisti.
Consigliato prima: C++ Intermedio — STL, OOP e codice modulare