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

Knowledge of the fundamental elements of C, Pascal, and Python programming languages, of the most common algorithms for sorting, searching and managing data structures and of programming techniques useful to implement programs and solve concrete problems with particular reference to those of a mathematical nature.

Metodi didattici

Lezioni frontali e attività di laboratorio.

Teaching Methods

Lectures and laboratories.

Prerequisiti

Conoscenze logico-matematiche di base.

Prerequisites

Basic logico-mathematical notions.

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

Written / practical test in the laboratory in order to verify the ability to problem solving of simple programming problems of scientific type and oral examination to verify the degree of knowledge of the subject reached, the property of language with respect to the topics and the expository ability.

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

The science of information. Encoding systems. Memory cells and registers. The ASCII code. Hardware. Software and firmware. Programming. Algorithms. Flowcharts and pseudocode. Structured flowcharts. The Böhm-Jacopini Theorem. Structured programming. Architecture of a computer. The von Neumann model. History of computers. Classification of computers and their evolution. History of operating systems and their evolution. History of the web. History and classification of programming languages. The C language. Classification of applications. Structure of a program in C. Variables. Data types. Conversions and typecasting. Input/output instructions. Mathematical expressions and arithmetic operators in C. The sequence construct in C. The selection construct in C. Logic-relations operators. The iteration construct in C. Structured data types in C. Arrays, arrays, and structures. String handling in C. Functions in C. Formal and actual parameters. Passing by value and by reference. Handling of pointers. Dynamic allocation. Simply concatenated lists. File management in C. Main algorithms and data structures. Numbering systems. Positional representation. The binary, octal and hexadecimal systems. Conversions from and to the decimal system. Binary arithmetic. Overflow. Representation of integers in pure binary. Modulus and sign encoding. Two's complement encoding. Arithmetic operations with two's complement. Two's complement overflow. Real numbers representation. Fixed point and floating point representation. Standard floating point representations (IEEE 754 SP and IEEE 754 DP) and their value ranges. Underflow. Limits of the floating point representation and related examples. The Pascal language. Structure of a Pascal/Delphi program. Console applications. Elements of the Pascal language. Simple data types. Variables and constants. Definition of new types. Input/output instructions. Mathematical expressions and arithmetic operators in Pascal. The sequence construct in Pascal. The selection construct in Pascal. Logic-relationship operators. The iteration construct in Pascal. Structured data types in Pascal. Arrays and matrices. Dynamic arrays and open arrays. Functions in Pascal. Formal and actual parameters. Passing by value and by reference. Functions with optional parameters. Global and local variables. Overloading. Recursion. Pointers in Pascal. Standard functions. Passing parameters from command line. The set type. The record type. Exception handling. Procedural types. Modularization. The units. Notes on object oriented programming. The management of strings and text files. Notes on generic types (Generics). The Python language. Structure of a Python program. Syntax and indentation. Variables and constants. Input/output instructions. Data types in Python. The iteration construct in Python. Structured data types in Python. Arrays and arrays. Dynamic arrays and open arrays. Functions in Python Formal and actual parameters. Passing by value and by reference. Functions with optional parameters. Global and local variables. Recursion. Python libraries. Sets in Python. Lists and dictionaries. File management in Python.

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