Anche quest’anno viene riproposto il Corso PRP (Preparazione Recupero e Potenziamento) di Programmazione in C, che si pone come obiettivo quello di integrare e approfondire le lezioni curriculari con altre, meno formali, in cui gli studenti saranno seguiti e guidati da altri studenti che metteranno a disposizione le loro conoscenze e competenze gratuitamente, così da migliorare non solo la preparazione dello studente nella materia interessata, ma anche il suo approccio con essa.
Il corso è aperto a coloro che abbiano già studiato programmazione. Verrà proposto un breve ripasso della struttura sintattica e semantica del C per poi affrontare argomenti più ostici come la gestione dinamica della memoria.
Vivere Ingegneria e Vivere Scienze MM.FF.NN. hanno predisposto un programma tematico comune per la preparazione alle materie di programmazione in C dei seguenti Corsi di Laurea di Ingegneria e dell’ex-facoltà di Scienze MM.FF.NN. :
- Ingegneria Informatica e delle Telecomunicazioni (disciplina: Calcolatori Elettronici);
- Ingegneria Elettronica (disciplina: Calcolatori Elettronici);
- Ingegneria Gestionale ed Informatica (disciplina: Calcolatori Elettronici);
- Matematica (disciplina: Programmazione con Laboratorio);
- Informatica (disciplina: Programmazione e Laboratorio);
- Scienze Fisiche (disciplina: Informatica e Programmazione);
Poiché gli argomenti trattati sono già presenti nella materie dei vari Piani di Studi, non potranno essere attribuiti CFU. Si consiglia a tutti gli studenti di portar come propria dotazione personale quaderno, penna, computer portatile personale (se non disponibile, portarsi una pen-drive).
Argomenti affrontati
- Programmazione strutturata e linguaggio C. Direttive di preprocessore. Istruzioni e blocchi.
- Variabili e costanti. Tipi di dati predefiniti. Funzione principale.
- Espressioni. Operatori aritmetici. Operatori relazionali e logici. Conversioni di tipo.
- Operatori di incremento e decremento. Operatori bit a bit. Espressioni condizionali.
- Precedenza e ordine di valutazione degli operatori.
- Strutture di controllo.
- Definizioni e prototipi di funzioni. Parametri formali e variabili automatiche. Stack di esecuzione.
- Passaggio dei parametri per copia e per riferimento. Ricorsione.
- Puntatori, indirizzi e gestione della memoria. Aritmetica degli indirizzi. Puntatori generici.
- Puntatori a funzioni. Stringhe. Array. Allocazione dinamica di memoria.
- Spostamento di dati in memoria.
- Tipi aggregati. Strutture. Definizione di sinonimi per i tipi (typedef).
- Input e output. L’input/output standard. Input e output formattato.
- La libreria standard. Funzioni matematiche. Numeri pseudo-casuali.
- Algoritmi e strutture dati astratte
- Ricerca di valori in un array: ricerca lineare e ricerca dicotomica.
- Matrici, matrici multidimensionali e dinamiche.
- Algoritmi di ordinamento basati sui confronti.
- Liste semplici, concatenate e doppiamente concatenate.
Esercitazioni (suddivise per difficoltà)
- Algoritmi di primo livello: Esecuzione di istruzioni per particolari condizioni, Iterazioni particolari;
- Algoritmi di secondo livello: Gestione di strutture dati come vettori e stringhe per la determinazione del massimo, minimo, somma, media e ricerca;
- Algoritmi di terzo livello: Algoritmi di per la scomposizione di numeri in singole cifre, algoritmi logico-matematici, determinazione di determinate proprietà di particolari dati;
- Algoritmi avanzati: Algoritmo di Ordinamento Selection Sort; progetti complessi utili a risolvere problemi di vita quotidiana (creazione di rubriche telefoniche, gestione di voli di un aeroporto, posta elettronica, social network); creazione di giochi (dama, sudoku o battaglia navale).
Calendario lezioni ed esercitazioni
Il corso partirà dal 20 Marzo 2015 e sarà composto da 4 lezioni per un totale di 12 ore:
– Ogni lunedì dalle ore 15:00 alle 18:00, Esercitazione di laboratorio presso l’Aula d’informatica “Tortorici”;
– Ogni venerdì dalle ore 15:00 alle 18:00, Lezione teorica presso l’Aula F220;
Iscrizione alle esercitazioni laboratoriali
È necessario presentare una domanda di iscrizione alle esercitazioni laboratoriali del lunedì a causa del numero limitato di posti a disposizione (36). Non è necessaria alcuna iscrizione, invece, per seguire le lezioni teoriche, essendo i posti disponibili più numerosi.
>>Domanda di iscrizione<<
Le domande pervenute saranno accettate in ordine cronologico fino ad esaurimento posti. Si ricorda di esibire ad ogni esercitazione un documento di riconoscimento (carta d’identità o patente) per l’uso dei pc.
Ulteriori informazioni
Iscriviti subito al >>Gruppo Facebook del corso<< ! Se dovessi avere difficoltà a trovare le aule indicate ecco la Mappa della facoltà di Ingegneria.
Per ulteriori informazioni contattare Domenico Zarcone o Alberto Miserendino, oppure recarsi presso l’auletta di vivere ingegneria (2° piano sopra il bar, ed. 8 ).