Offerta Didattica
MATEMATICA
FONDAMENTI DI INFORMATICA
Classe di corso: L-35 - Scienze matematiche
AA: 2022/2023
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
INF/01 | Base | Libera | Libera | No |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
6 | 4 | 2 | 0 | 48 | 24 | 24 | 0 |
LegendaCFU: n. crediti dell’insegnamento CFU LEZ: n. cfu di lezione in aula CFU LAB: n. cfu di laboratorio CFU ESE: n. cfu di esercitazione FREQUENZA:Libera/Obbligatoria MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli ORE: n. ore programmate ORE LEZ: n. ore programmate di lezione in aula ORE LAB: n. ore programmate di laboratorio ORE ESE: n. ore programmate di esercitazione SSD:sigla del settore scientifico disciplinare dell’insegnamento TAF:sigla della tipologia di attività formativa TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio
Obiettivi Formativi
Conoscenza degli elementi fondamentali dei linguaggi di programmazione C, Pascal e Python, degli algoritmi più comuni per i problemi di ordinamento, ricerca e gestione delle strutture dati e delle tecniche di programmazione utili a implementare programmi e risolvere problemi concreti con particolare riferimento a quelli di natura matematica.Learning Goals
Metodi didattici
Lezioni frontali e attività di laboratorio.Teaching Methods
Prerequisiti
Conoscenze logico-matematiche di base.Prerequisites
Verifiche dell'apprendimento
Prova scritta/pratica in laboratorio al fine di verificare la capacità di problem solving di semplici problemi di programmazione di tipo scientifico ed esame orale per verificare il grado di conoscenza della materia raggiunto, la proprietà di linguaggio rispetto agli argomenti e la capacità espositiva.Assessment
Programma del Corso
La scienza dell’informazione. Sistemi di codifica. Celle e registri di memoria. Il codice ASCII. Hardware. Software e firmware. Programmazione. Algoritmi. Diagrammi di flusso e pseudocodice. Diagrammi di flusso strutturati. Il Teorema di Böhm-Jacopini. Programmazione strutturata. Architettura di un elaboratore. Il modello di von Neumann. Storia degli elaboratori. Classificazione dei computer e loro evoluzione. Storia dei sistemi operativi e loro evoluzione. Storia del web. Storia e classificazione dei linguaggi di programmazione. Il linguaggio C. Classificazione delle applicazioni. Struttura di un programma in C. Variabili. Tipi di dato. Conversioni e typecasting. Istruzioni di input/output. Espressioni matematiche ed operatori aritmetici in C. Il costrutto sequenza in C. Il costrutto selezione in C. Operatori logico-relazioni. Il costrutto iterazione in C. Tipi di dati strutturati in C. Array, matrici e strutture. La gestione delle stringhe in C. Le funzioni in C. Parametri formali e attuali. Passaggio per valore e per riferimento. Gestione dei puntatori. Allocazione dinamica. Liste semplicemente concatenate. La gestione dei file in C. Principali algoritmi e strutture dati. I sistemi di numerazione. Rappresentazione posizionale. I sistemi binario, ottale ed esadecimale. Conversioni da e verso il sistema decimale. Aritmetica binaria. Overflow. Rappresentazione dei numeri interi in binario puro. La codifica modulo e segno. La codifica complemento a due. Operazioni aritmetiche col complemento a due. Overflow col complemento a due. La rappresentazione dei numeri reali. Rappresentazione in virgola fissa e in virgola mobile. Rappresentazioni standard dei floating point (IEEE 754 SP ed IEEE 754 DP) e relativo intervallo dei valori. Underflow. Limiti della rappresentazione floating point e relativi esempi. Il linguaggio Pascal. Struttura di un programma Pascal/Delphi. Applicazioni di tipo console. Elementi del linguaggio Pascal. Tipi di dato semplice. Variabili e costanti. La definizione di nuovi tipi. Istruzioni di input/output. Espressioni matematiche ed operatori aritmetici in Pascal. Il costrutto sequenza in Pascal. Il costrutto selezione in Pascal. Operatori logico-relazioni. Il costrutto iterazione in Pascal. Tipi di dati strutturati in Pascal. Array e matrici. Gli array dinamici e gli open array. Le funzioni in Pascal. Parametri formali e attuali. Passaggio per valore e per riferimento. Funzioni con parametri opzionali. Variabili globali e locali. L’overloading. La ricorsione. I puntatori in Pascal. Funzioni standard. Passaggio di parametri da riga di commando. Il tipo set. Il tipo record. La gestione delle eccezioni. I tipi procedurali. Modularizzazione. Le unit. Cenni sulla programmazione ad oggetti. La gestione di stringhe e file di testo. Cenni sui tipi generic (Generics). Il linguaggio Python. Struttura di un programma Python. Sintassi e indentamento. Variabili e costanti. Istruzioni di input/output. Tipi di dato in Python. Il costrutto iterazione in Python. Tipi di dati strutturati in Python. Array e matrici. Gli array dinamici e gli open array. Le funzioni in Python Parametri formali e attuali. Passaggio per valore e per riferimento. Funzioni con parametri opzionali. Variabili globali e locali. La ricorsione. Le librerie di Python. Gli insiemi in Python. Liste e dizionari. La gestione dei file in Python.Course Syllabus
Testi di riferimento:
• Introduzione a Python, Tony Gaddis, casa editrice Pearson• Concetti di Informatica e fondamenti di Python, Cay Horstmann, Rance D. Necaise, Maggioli Editore – Apogeo• Programmare in C, Stephen G. Kochan, casa editrice Pearson• Introduzione alla programmazione con Python, SJohn V. Guttag, casa editrice Egea
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
Docente: GIORGIO NORDO
Orario di Ricevimento - GIORGIO NORDO
Dato non disponibile