
Introduzione ai concetti di algoritmo, flowchart, programma e linguaggio di programmazione.
Concetto di variabile, dichiarazione del tipo, allocazione in memoria e operazioni consentite, assegnazione per valore o da altra variabile.
Istruzioni sequenziali, di selezione e di iterazione con differenza tra uscita condizionata da una particolare condizione oppure da un certo numero di iterazioni.
Evoluzione dello stato delle variabili passo passo, ad ogni iterazione del ciclo numerico (for).
Canali di input e di output che consentono l'interazione utente o automatica con il programma in esecuzione. L'interazione è orientata soprattutto a fornire i dati di input e a percepire quelli elaborati in output.
Variabile contatore e inizializzazione al valore 0 oppure 1 in base ai requisiti ed al tipo di iterazione utilizzata nell'algoritmo.
La variabile accumulatore per la somma di continui incrementi e le condizioni di uscita per ottenere il valore finale.
Introduzione ai vettori, concetto di indice e accesso ad uno specifico elemento di un array.
Inizializzazione di un array con algoritmo "eseguito" passo passo su flowchart e con l'evoluzione dello stato delle variabili.
Riempimento o inserimento di elementi in un array come input (tastiera o file) oppure secondo dei criteri noti o randomici.
Ricerca di un elemento in un array, definendone la presenza, le posizioni oppure la ripetizione (il numero di volte che compare).
Il tipo di dato astratto pila, le operazioni di inserimento e rimozione (push e pop), l'indice stack pointer.
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).