Prima parte del corso di fondamenti di informatica (o elementi di informatica) dei primi anni di tutte le facoltà di ingegneria (informatica, biomedica, civile, aerospaziale, gestionale, etc.), matematica e altro.
Si tratta della prima parte in quanto vengono coperti solo alcuni degli argomenti. Seguiranno una seconda parte per gli argomenti restanti ed una terza parte per l'implementazione degli esercizi con i linguaggi di programmazione di alto livello quali C/C++ e Java.
L'obiettivo del corso è quello di impostare un metodo di apprendimento per associazione, basato su esempi continui (ogni concetto è sempre corredato di esempio) e sulle similitudini con problemi più semplici e di più facile comprensione.
Sarà importante raccogliere tanti feedback per costruire sempre meglio le restanti parti del corso, seguendo i suggerimenti che emergeranno dalle valutazioni di chi seguirà questa prima parte.
Gli argomenti trattati riguardano le basi della programmazione e sono basati principalmente su degli algoritmi rappresentati tramite flowchart. Si partirà dal concetto di algoritmo utilizzato per risolvere un problema, gli elementi che costituiscono un flowchart (o digramma di flusso) e si arriverà a capire cos'è un programma e cosa quali sono i linguaggi di programmazione con cui ci si può implementare un certo algoritmo. Successicamente verrà presentato il concetto di istruzioni di sequenza, istruzioni di controllo e infine le istruzioni iterative con focus sui tipi diversi di iterazione (condizionale, numerica). Infine si vedranno le variabili contatore ed accumulatore, spiegando la differenza tra dichiarazione, inizializzazione ed assegnazione. A questo punto verranno presentati i vettori, il concetto di indice, di accesso al singolo elemento di un vettore. Come inizializzare e come riempire (inserimento) un vettore. Infine sarà presentata l'operazione di ricerca di un elemento in un vettore. Il corso termina con il tipo di dato astratto pila (o stack) e le operazioni tipiche di inserimento (push) e rimozione (pop).