Politecnico di Torino | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Anno Accademico 2017/18 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12BHDLZ, 12BHDLN, 12BHDLP, 12BHDLS, 12BHDLX, 12BHDMA, 12BHDMB, 12BHDMC, 12BHDMH, 12BHDMK, 12BHDMN, 12BHDMO, 12BHDMQ, 12BHDNL, 12BHDNM, 12BHDNX, 12BHDOA, 12BHDOD, 12BHDPC, 12BHDPI, 12BHDPL, 12BHDQR Informatica |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Corso di Laurea in Ingegneria Aerospaziale - Torino Corso di Laurea in Ingegneria Dell'Autoveicolo - Torino Corso di Laurea in Electronic And Communications Engineering (Ingegneria Elettronica E Delle Comunicazioni) - Torino Espandi... |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Presentazione
L’insegnamento, obbligatorio per tutti gli studenti, si propone un duplice obiettivo: da un lato, introdurre gli studenti alle problematiche legate all’informatica in particolare dal punto di vista "culturale", ma anche dal punto di vista tecnologico. Dall’altro, 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 implementare in 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
Il corso non prevede particolari prerequisiti. Si richiedono principalmente alcune nozioni basilari dell’Analisi Matematica (per esempio, il concetto di funzione) e un livello minimo di familiarità con l'interazione con il computer.
|
Programma
Rappresentazioni numeriche: [4 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 e reali (fixed e floating point) - errore di rappresentazione per i numeri reali in un calcolatore - fixed-point e floating-point (rappresentazione esponenziale) Rappresentazioni non numeriche: [2 ore] - Codifica dei caratteri (ASCII, UNICODE) - Cenni sulla codifica di altri dati non numerici 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: [2 ore] - tipi di linguaggi di programmazione: linguaggi 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 (40 ore) - tipi di dato primitivi e 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) - indirizzi e puntatori - funzioni e meccanismo di passaggio parametri (by value/reference e quanto necessario sui puntatori) - stringhe e vettori stringhe - file - strutture - cenni sulla memoria dinamica |
Organizzazione dell'insegnamento
Il corso prevede circa 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
- Paul J. Deitel - Harvey M. Deitel Il linguaggio C. Fondamenti e tecniche di Programmazione 8/Ed. con MyLab e eText ISBN 9788891901651 https://www.pearson.it/opera/pearson/0-6293-il_linguaggio_c . |
Criteri, regole e procedure per l'esame
L’esame consiste in una prova scritta mirata 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). La durata della prova scritta è di 2 ore e non prevede l'uso di materiale didattico da parte degli studenti. La prova scritta prevede un voto massimo di 30 e lode.
In sede di discussione della prova scritta, un approfondimento orale puo’ svolgersi o su richiesta del docente o su richiesta dello studente, ma in questo caso il punteggio della prova scritta deve essere di almeno 18/30. Tale prova orale verte su tutti gli argomenti trattati nel corso ed ha lo allo scopo di accertare ed approfondire le conoscenze dello studente. |
Altre informazioni Le lezioni prevedono la proiezione di slide e schermate di documenti vari e simulatori. L’aula deve consentire l’uso contemporaneo di lavagne e schermo. |
Orario delle lezioni |
Statistiche superamento esami |
|