Politecnico di Torino | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Anno Accademico 2010/11 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12BHDLZ, 12BHDLN, 12BHDLS, 12BHDLX, 12BHDMA, 12BHDMB, 12BHDMC, 12BHDMH, 12BHDMK, 12BHDMN, 12BHDMO, 12BHDMQ, 12BHDNL, 12BHDNM, 12BHDNX, 12BHDNZ, 12BHDOA, 12BHDOD, 12BHDPC, 12BHDPI, 12BHDPL Informatica |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Corso di Laurea in Ingegneria Aerospaziale - Torino Corso di Laurea in Ingegneria Dell'Autoveicolo - Torino Corso di Laurea in Ingegneria Dei Materiali - Torino Espandi... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Esclusioni: 04JCJ |
Presentazione
L'insegnamento, obbligatorio per tutti gli studenti, si propone un duplice obiettivo: da un lato, introdurre gli studenti alle problematiche legate all'informatica, sia dal punto di vista 'culturale', sia dal punto di vista 'tecnologico'. Dall'altro lato, insegnare l'uso della programmazione di un elaboratore quale strumento per la soluzione di problemi reali.
|
Risultati di apprendimento attesi
Lo studente deve acquisire due tipologie fondamentali di conoscenze; la soluzione di problemi concreti mediante programmi da realizzare tramite un linguaggio di programmazione eseguiti su un calcolatore; la capacità di comprendere aspetti quantitativi dell'informatica quali prestazioni, capacità di calcolo, rappresentazione dell'informazione, e l'organizzazione degli elaboratori. Queste capacità vengono applicate alla soluzione di problemi di rilevanza pratica.
|
Prerequisiti / Conoscenze pregresse
Sono richieste principalmente alcune nozioni basilari dell'Analisi Matematica.
|
Programma
RAPPRESENTAZIONI NUMERICHE E NON NUMERICHE: [8 ORE]
+ Numeri senza segno - concetto di intervallo di rappresentazione - operazioni in binario puro: somma, sottrazione, overflow + Numeri con segno - modulo e segno: rappresentazione - complemento a due: rappresentazione, somma, sottrazione, overflow, shift + Numeri frazionari (fixed e floating point) - conversione di numeri frazionari ed errore di conversione - fixed-point e floating-point (rappresentazione esponenziale) + Codifica dei caratteri (ASCII, UNICODE) + Codifica di immagini (raster e vettoriale) + Codifica di suoni (campionamento) + Codifica di filmati (differenziale) + Compressione e controllo errori ALGEBRA DI BOOLE: [2 ORE] + operatori AND, OR, NOT ed espressioni logiche ARCHITETTURE DI SISTEMI DI ELABORAZIONE: [6 ore] + modello Von Neumann (programma in memoria, UC, UO) + CPU (velocità di esecuzione) e cache + architettura di un PC (scheda grafica, dischi, bus di I/O, ...) + trasmissione dati (collo di bottiglia, banda condivisa, velocità asimmetriche) ARCHITETTURA SOFTWARE: [4 ORE] + linguaggio macchina, assembler, di alto livello + traduzione dei linguaggi, librerie ed esecuzione + il sistema operativo (gestione dei task) PROBLEM SOLVING E ALGORITMI [4 ORE] + diagrammi di flusso (flow chart), pseudo-codice + risoluzione di problemi mediante la scrittura di programmi LINGUAGGIO C (36 ORE) + tipi di dato primitivi + costanti simboliche + operazioni di input e output (printf e scanf) + costrutti per il controllo di flusso (condizionali e iterativi) + vettori e matrici (di interi, float e caratteri) + funzioni e meccanismo di passaggio parametri (by value/reference e quanto necessario sui puntatori) + stringhe e vettori stringhe + gestione della linea di comando (argc e argv) + file + strutture + memoria dinamica |
Organizzazione dell'insegnamento
Il corso prevede 20 ore di esercitazione in laboratorio, nelle quali gli argomenti discussi in aula verranno tradotti in programmi C.
|
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
- Dispense del corso a cura del docente
- H.M.Deitel e P.J.Deitel, 'C: Corso completo di programmazione', Apogeo. |
Criteri, regole e procedure per l'esame
L'esame consiste di una prova scritta e di una prova (discussione) orale, entrambe obbligatorie. La prova scritta punta ad accertare le conoscenze dello studente sia sugli aspetti teorici della materia (tramite esercizi numerici o a risposta aperta) sia sulla parte di programmazione (tramite la realizzazione di un programma in linguaggio C che implementi la soluzione di un problema pratico). Partendo dai contenuti della prova scritta, la discussione orale verte su tutti gli argomenti trattati nel corso.
|
Orario delle lezioni |
Statistiche superamento esami |
|