Struttura del corso

Introduzione

  • Panoramica delle Funzionalità del C e delle Sue Applicazioni

Preparazione dell'Ambiente di Sviluppo

  • Scelta di un IDE
  • Configurazione del compilatore

Scrivere un Programma Esempio

  • Definizione del problema
  • Codifica in base ai requisiti

Definire l'Ambito delle Variabili e delle Funzioni

  • Comprensione dell'ambito, della visibilità e della durata di vita
  • Lavorare con le classi di archiviazione: auto, extern, register, static

Gestire i Dati in un Programma C

  • Oltre ai tipi di dati primitivi
  • Lavorare con tipi di dati avanzati: strutture, liste concatenate, ecc.
  • Archiviare diversi tipi di dati nella stessa posizione di memoria

Modificare le Proprietà di una Variabile

  • Oltre ai modificatori di tipo
  • Lavorare con i qualificatori di tipo: constant, volatile, ecc.

Manipolare Bit in C

  • Lavorare con dati più piccoli di un byte
  • Lavorare con operatori di manipolazione bit a bit

Controllare il Flusso del Programma

  • Oltre alla sequenziazione
  • Utilizzare l'istruzione goto

Lettura e Scrittura di Dati

  • Ripasso delle funzioni di Input/Output
  • Migliorare la leggibilità dell'output

Sviluppare Codice Cross-Platform

  • Comprendere le direttive del compilatore
  • Compilare il codice in modo condizionale

Potenziale delle Prestazioni del Programma

  • Macro vs funzioni
  • Definire macro per eseguire frammenti di programma

Allocazione Dinamica della Memoria

  • Vantaggi dell'uso dei puntatori: velocità di esecuzione
  • Puntatori a funzioni
  • Accesso alla memoria e manipolazione dell'indirizzo

Debugging di un Programma C

  • Tecniche avanzate per la verifica, la rilevazione e la correzione degli errori
  • Lavorare con gdb (Gnu Debugger)

Creare una Libreria Statica

  • Come viene linkata una libreria statica nel file eseguibile
  • Creazione di una libreria statica

Creare una Libreria Condivisa

  • Librerie statiche vs librerie condivise (dinamiche)
  • Come viene linkata e caricata in memoria una libreria condivisa durante l'esecuzione
  • Creazione di una libreria condivisa

Astrazione dei Dati nel Programma

  • Panoramica dell'interfaccia, della specifica e dell'implementazione
  • Creazione di un tipo di dato astratto
  • Test di regressione di un tipo di dato astratto

Ricerca e Ordinamento dei Dati

  • Ricerca in array utilizzando ricerca lineare, binaria, ecc.
  • Ordinamento degli array usando ordinamento per selezione, inserimento, a bolle

Comunicazione Interprocessuale e Segnali

  • Comprensione dei processi, delle socket e dei segnali
  • Implementare IPC utilizzando file condivisi, memoria condivisa, pipe, code di messaggi, socket, semafori, ecc.

Eseguire il Programma C in Parallelo

  • Eseguire parti diverse del programma concorrentemente attraverso multithreading
  • Scrivere un thread

Programmazione di Rete Avanzata

  • Ripasso dei protocolli TCP, UDP, IP e altri principali protocolli
  • Servire più porte, sopravvivere a interruzioni di rete brusche, ecc.
  • Scrivere potenti API socket

Verso un Codice di Alta Qualità

  • Ricodifica del codice da parte dei peer e programmazione parallela
  • L'importanza della codifica iterativa (rifattorizzazione)

Sommario e Conclusioni

Requisiti

  • Esperienza in programmazione C

Pubblico di Riferimento

  • Programmatori
  • Sviluppatori
 28 Ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative