Offerta Didattica

 

MATEMATICA

FONDAMENTI DI INFORMATICA

Classe di corso: L-35 - Scienze matematiche
AA: 2022/2023
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01BaseLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
64204824240
Legenda
CFU: 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

Elenco delle unità didattiche costituenti l'insegnamento

Docente: GIORGIO NORDO

Orario di Ricevimento - GIORGIO NORDO

Dato non disponibile
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti