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 (zarconedomenico93@gmail.com) o Alberto Miserendino (alb.miserendino@gmail.com), oppure recarsi presso l’auletta di vivere ingegneria (2° piano sopra il bar, ed. 8 ).