Fondamenti di Informatica - 2009-10 - Ing. Mecc.
Obiettivi formativi
Introduzione all'informatica e alla programmazione in linguaggio C, illustrando e applicando i principi della programmazione strutturata.
Competenze acquisite
- Comprendere ed usare in modo appropriato la terminologia elementare relativa all'informatica e alla programmazione
- Progettare l'algoritmo risolutivo e le strutture dati per semplici problemi di calcolo
- Scrivere i programmi in C che traducano gli algoritmi risolutivi in modo corretto, leggibile e strutturato
Libri di testo
Per poter seguire con profitto il corso non si ritiene necessario l'ausilio di testi specialistici, essendo in generale sufficiente il materiale messo a disposizione dal docente. Tuttavia si possono suggerire i seguenti due testi:
- H.M. Deitel e P.J. Deitel, "C Corso completo di programmazione (2a edizione)", Apogeo, 2004 (testo che copre gran parte degli argomenti del corso)
- B. W. Kernigham e D. M. Ritchie, "Il linguaggio C - Principi di programmazione e manuale di riferimento (2a edizione)", Pearson-Prentice Hall, 2004 (testo che copre esclusivamente i concetti di programmazione in linguaggio C)
- Kim N. King "programmazione in C", Apogeo 2009 (testo che copre esclusivamente i concetti di programmazione in linguaggio C)
Materiale
Per testare gli esercizi svolti in classe e per realizzare i propri progetti in C, è sufficiente un ambiente di programmazione ed un editor. Questi sono quelli consigliati per O.S. Windows (maggiori informazioni le trovate nelle slide della lezione 6):
- Cygwin (GNU) - Ambiente di programmazione con compilatore C (gcc) e shell (bash)
- PsPad - editor gratuito ma non open-source
- NotePad++ - editor gratuito ed open-source
- SciTe - editor gratuito ed open-source
Per O.S. Unix/linux dovreste trovare tutto il materiale necessario già disponibile (sulla quasi totalità delle distribuzioni è già compreso il compilatore gcc, almeno una shell ed almeno un editor di testi).
L'esame si compone di 3 parti: compito scritto, prova a casa e discussione orale:
- Compito scritto:
-
Il compito scritto si compone di un insieme di esercizi di programmazione in C. Durante il compito, la cui durata è normalmente di 2 ore, non è consentito consultare libri, appunti, dispense o qualsiasi altro materiale e non è consentito uscire dall'aula.
La valutazione dello scritto verrà resa nota solo dopo la discussione dello scritto e dell'elaborato svolto a casa, quindi tutti gli studenti che hanno sostenuto lo scritto sono implicitamente ammessi a sostenere l'orale.
- Prova a casa:
-
Nel tempo che intercorre tra il compito scritto e la prova orale (tipicamente una settimana) lo studente è tenuto a compilare ed eseguire la soluzione del compito.
La soluzione proposta a casa deve essere tendenzialmente la stessa di quella svolta nel compito, e la sua correttezza deve essere verificata scrivendo tutte le parti di codice mancanti e usando dei dati di test scelti opportunamente. Nel caso la soluzione svolta in classe non sia corretta, questa deve essere modificata opportunamente fino ad ottenere il corretto funzionamento su tutti i dati di test.
Nel caso lo studente non abbia svolto parte dell'esercizio nel compito, dovrà comunque portare la soluzione svolta a casa; tale soluzione può ovviamente essere qualsiasi.
Scopo principale della prova a casa è quello di fare una autovalutazione precedente all'orale, che porta ad una discussione (e valutazione) dello scritto più proficua. In particolare, tale soluzione serve allo studente per dimostrare che, a parte eventuali modifiche, la soluzione proposta nel compito è corretta.
- Discussione orale:
-
Lo studente deve presentarsi all'orale obbligatoriamente con un dispositivo di memoria (es. penna usb) contenente i file che compongono la nuova soluzione e con la stampa dei file stessi e dei test effettuati.
La discussione orale è costituita essenzialmente da una discussione del compito scritto e della soluzione svolta a casa dallo studente (più eventuali domande aggiuntive a discrezione del docente).
- Prove di esonero
-
Durante il corso verrà svolto un compito in classe. Il voto del compito in classe verrà considerato (se positivo) per la valutazione finale a patto che l'esame venga sostenuto nella sessione di gennaio-febbraio (il voto verrà tenuto valido per entrambi gli appelli della sessione). Data e modalità di svolgimento del compito verranno comunicate in classe durante il corso.
Il programma del corso di Fondamenti di Informatica per l'AA 2009-2010 per il corso di Ingegneria Meccanica è essenzialmente suddiviso in 3 parti, di cui la prima propedeutica e preparatoria alla seconda (in cui verrà discussa l'essenza della materia). La terza parte invece cercherà di anticipare alcune nozioni avanzate che saranno ritrovate in corsi futuri.
