mail unicampaniaunicampania webcerca

    Giovanni Francesco SANTONASTASO

    Insegnamento di ELEMENTI DI CALCOLO DIGITALE PER L'INGEGNERIA

    Corso di laurea in INGEGNERIA CIVILE - EDILE - AMBIENTALE

    SSD: ICAR/02

    CFU: 9,00

    ORE PER UNITÀ DIDATTICA: 72,00

    Periodo di Erogazione: Secondo Semestre

    Italiano

    Lingua di insegnamento

    Italiano

    Contenuti

    Il corso introduce gli strumenti e i metodi del calcolo digitale applicato all’ingegneria, con particolare attenzione all’uso di Excel, Python e MATLAB.
    Gli studenti apprendono i fondamenti di programmazione e di algoritmi, le tecniche base di calcolo numerico e le modalità di analisi, elaborazione e visualizzazione dei dati.
    Tra gli argomenti principali:
    Rappresentazione dei numeri e gestione degli errori numerici.
    Strutture di controllo, funzioni e strutture dati (vettori, matrici).
    Algoritmi di base: ricerca, ordinamento, metodi iterativi.
    Utilizzo di Excel per analisi e calcolo automatico.
    Programmazione scientifica in Python (NumPy, Pandas, Matplotlib).
    Calcolo e simulazione in MATLAB.
    Sviluppo di un progetto applicativo.
    Cenni di Big Data and Machine Learning Technologies.

    Testi di riferimento

    Introduzione al Calcolo Scientifico_ Esercizi e problemi risolti con MATLAB;
    The Python Workbook. A Brief Introduction with Exercises and Solutions;
    Data Structures and Algorithms with Python
    Machine learning con Python costruire algoritmi per generare conoscenza;

    Obiettivi formativi

    Al termine del corso, lo studente deve:
    conoscere i principi fondamentali dell’informatica generale e del calcolo digitale applicati all’ingegneria;
    conoscere i fondamenti della programmazione e le principali strutture logiche per la costruzione di algoritmi;
    saper progettare semplici algoritmi per la risoluzione di problemi ingegneristici;
    saper implementare tali algoritmi nei diversi ambienti di sviluppo (Excel, Python, MATLAB);
    saper descrivere in modo chiaro le procedure computazionali adottate e i risultati ottenuti;
    saper valutare la correttezza e l’efficienza dei metodi di calcolo utilizzati.
    Lo studente deve avere contenuti minimi su:
    i principi dell’informatica generale e della rappresentazione dell’informazione;
    le basi della programmazione: variabili, tipi di dato, strutture di controllo, funzioni;
    gli algoritmi fondamentali e i concetti elementari di complessità computazionale;
    le funzionalità essenziali dei software Excel, Python e MATLAB per analisi, calcolo e visualizzazione dei dati;
    le tecniche di calcolo numerico di base (interpolazione, regressione, integrazione e derivazione numerica, risoluzione di sistemi semplici).

    Prerequisiti

    nessuno

    Metodologie didattiche

    Il corso prevede lo svolgimento di lezioni frontali, esercitazioni guidate e attività di laboratorio informatico.

    Metodi di valutazione

    La verifica dell’apprendimento è articolata in più momenti:
    Due prove scritte svolte durante il semestre, consistono in esercizi pratici e/o quiz teorico-applicativi su programmazione, calcolo numerico e uso degli strumenti software (Excel, Python, MATLAB).
    Colloquio orale (facoltativo o integrativo): può essere svolto per discutere le prove precedenti, approfondire aspetti metodologici o presentare il progetto finale svolto dallo studente.

    Altre informazioni

    Sono resi disponibili a cura dei docenti: dispense e slides delle lezioni

    Programma del corso

    1-Introduzione al calcolo digitale
    Cenni di Informatica generale ed impatti dell’informatica e del digitale.
    Struttura ed architettura del calcolatore, linguaggi, applicazioni
    Rappresentazione dell’Informazione
    Strumenti software per il calcolo ingegneristico (panoramica su Excel, Python, MATLAB).
    2-Fondamenti di programmazione e algoritmi
    Approccio alla logica dei problemi
    I passaggi del processo di Problem Solving
    Tipologie di problemi e di approcci risolutivi
    Concetti base di programmazione: variabili, tipi di dato, operatori, input/output.
    Strutture di controllo: condizionali (if/else), cicli (for, while).
    Funzioni e modularità del codice.
    Algoritmi fondamentali:
    Ricerca
    Ordinamento.
    Calcolo di somme, prodotti, potenze, fattoriali.
    Strutture dati semplici: vettori, matrici, array.
    Cenni di complessità computazionale
    Esempi di implementazione in Python e MATLAB.
    3-Excel per il calcolo e l’analisi dati
    Organizzazione e gestione di dati numerici.
    Funzioni matematiche, statistiche e logiche.
    Grafici e visualizzazioni.
    Analisi dati con Solver e tabelle pivot.
    Automazione di procedure con macro VBA (cenni).
    4-Python per il calcolo numerico e la programmazione
    Struttura di un programma in Python.
    Librerie per il calcolo scientifico: NumPy, Pandas, Matplotlib, SciPy.
    Implementazione di algoritmi numerici:
    Interpolazione e regressione.
    Integrazione e derivazione numerica.
    Esempi applicativi in ambito ingegneristico
    5-MATLAB per l’analisi e la simulazione
    Interfaccia e ambiente di lavoro.
    Operazioni su vettori e matrici.
    Script e funzioni.
    Risoluzione numerica di equazioni e sistemi lineari.
    Simulazioni e grafici 2D/3D.
    Introduzione a Simulink e al calcolo simbolico.
    6-Applicazioni integrate e progetto finale
    Confronto tra Excel, Python e MATLAB: vantaggi, limiti e sinergie.
    Sviluppo di un mini-progetto:
    Analisi di dati sperimentali o simulati.
    Modellazione numerica di un sistema reale.
    Implementazione di un algoritmo risolutivo.
    Presentazione e discussione del progetto.
    7- Cenni di Big Data and Machine Learning Technologies.

    English

    Teaching language

    Italian

    Contents

    The course introduces the tools and methods of digital computing applied to engineering, with a focus on the use of Excel, Python, and MATLAB. Students learn the fundamentals of programming and algorithms, basic numerical computation techniques, and methods for analyzing, processing, and visualizing data. Key topics include:
    - Number representation and numerical error handling.
    - Control structures, functions, and data structures (vectors, matrices).
    - Basic algorithms: searching, sorting, iterative methods.
    - Using Excel for analysis and automatic calculations.
    - Scientific programming in Python (NumPy, Pandas, Matplotlib).
    - Calculation and simulation in MATLAB.
    - Application project development.
    - Basics of Big Data and Machine Learning Technologies.

    Textbook and course materials

    Introduzione al Calcolo Scientifico_ Esercizi e problemi risolti con MATLAB;
    The Python Workbook. A Brief Introduction with Exercises and Solutions;
    Data Structures and Algorithms with Python
    Machine learning con Python costruire algoritmi per generare conoscenza;

    Course objectives

    At the end of the course, the student must:
    know the fundamental principles of general computer science and digital computation applied to engineering;
    know the basics of programming and the main logical structures used to construct algorithms;
    be able to design simple algorithms for solving engineering problems;
    be able to implement such algorithms in different development environments (Excel, Python, MATLAB);
    be able to clearly describe the computational procedures adopted and the results obtained;
    be able to evaluate the correctness and efficiency of the computational methods used.
    The student must have minimum knowledge of:
    the principles of general computer science and information representation;
    the basics of programming: variables, data types, control structures, functions;
    fundamental algorithms and elementary concepts of computational complexity;
    the essential functionalities of Excel, Python and MATLAB for data analysis, computation and visualization;
    basic numerical computation techniques (interpolation, regression, numerical integration and differentiation, solution of simple systems).

    Prerequisites

    nothing

    Teaching methods

    The course includes lectures, exercises, and computer lab activities.

    Evaluation methods

    Learning assessment is structured in several stages:
    - Two written tests administered during the semester, consisting of practical exercises and/or theoretical-application quizzes on programming, numerical calculations, and the use of software tools (Excel, Python, MATLAB).
    - Oral exam (optional or supplementary): This may be used to discuss previous tests, explore methodological aspects, or present the student's final project.

    Other information

    Lecture notes and slides are made available by prorfessors.

    Course Syllabus

    1-Introduction to Digital Computing
    General computer science and the impact of computer science and digital technology.
    Computer structure and architecture, languages, and applications
    Information Representation
    Software tools for engineering computing (overview of Excel, Python, and MATLAB).
    2. Fundamentals of Programming and Algorithms
    Approach to Problem Logic
    Steps in the Problem Solving Process
    Types of Problems and Solution Approaches
    Basic Programming Concepts: Variables, Data Types, Operators, Input/Output.
    Control Structures: Conditionals (if/else), Loops (for, while).
    Functions and Code Modularity.
    Fundamental Algorithms:
    Search
    Sort
    Calculating sums, products, powers, and factorials.
    Simple Data Structures: Vector, Matrices, Arrays.
    Overview of Computational Complexity
    Example Implementations in Python and MATLAB.
    3-Excel for Calculation and Data Analysis
    Organization and Management of Numerical Data.
    Mathematical, Statistical, and Logical Functions.
    Graphs and Visualizations.
    Data Analysis with Solver and Pivot Tables.
    Automating Procedures with VBA Macros (Overview).
    4-Python for Numerical Calculation and Programming
    Program Structure in Python.
    Libraries for Scientific Computing: NumPy, Pandas, Matplotlib, SciPy.
    Implementation of Numerical Algorithms:
    Interpolation and Regression.
    Numerical Integration and Differentiation.
    Application Examples in Engineering
    5-MATLAB for Analysis and Simulation
    Interface and Work Environment.
    Operations on Vectors and Matrices.
    Scripts and Functions.
    Numerical Solution of Linear Equations and Systems.
    2D/3D Simulations and Graphs.
    Introduction to Simulink and Symbolic Computing.
    6-Integrated Applications and Final Project
    Comparison of Excel, Python, and MATLAB: advantages, limitations, and synergies.
    Development of a short project:
    Analysis of experimental or simulated data.
    Numerical modeling of a real-world system.
    Implementation of a solution algorithm.
    Presentation and discussion of the project.
    7- Basics of Big Data and Machine Learning Technologies.

    facebook logoinstagram buttonyoutube logotypelinkedin logotype