mail unicampaniaunicampania webcerca

    Stefano MARRONE

    Insegnamento di PROGRAMMING FOR DATA SCIENCE

    Corso di laurea magistrale in DATA SCIENCE

    SSD: ING-INF/05

    CFU: 6,00

    ORE PER UNITÀ DIDATTICA: 48,00

    Periodo di Erogazione: Secondo Semestre

    Italiano

    Lingua di insegnamento

    INGLESE

    Contenuti

    Si tratta di un corso introduttivo alla programmazione informatica e alle relative basi logico-matematiche per gli studenti che non hanno skill di programmazione informatica avanzate.
    L'obiettivo è quello di introdurre senza problemi lo studente ai concetti e agli strumenti di programmazione necessari per le attività tipiche di elaborazione e analisi dei dati. Il corso consiste in lezioni ed esercitazioni in laboratorio.

    Testi di riferimento

    -Cay S. Horstmann and Rance Necaise. Python for Everyone, Third Edition, https://horstmann.com/python4everyone/

    -Jake VanderPlas. Python Data Science Handbook, O'Reilly, https://jakevdp.github.io/PythonDataScienceHandbook/

    -Slides e Materiali preparati e forniti dal Docente

    Obiettivi formativi

    L'obiettivo principale del corso è quello di fornire agli studenti una conoscenza esaustiva e pratica delle competenze necessarie per avviare e gestire progetti nel campo della Data Science e del Machine Learning utilizzando Python e librerie open source.

    Attraverso il corso, gli studenti acquisiranno una solida comprensione delle fondamenta del linguaggio Python, comprese le nozioni di programmazione orientata agli oggetti, e svilupperanno una competenza teorico-matematica necessaria per affrontare le sfide della scienza dei dati. Mediante lezioni pratiche e teoriche, il corso si propone di fornire le abilità per essere in grado di utilizzare strumenti come Scikit-learn, Keras e TensorBoard per implementare modelli di machine learning, nonché di applicare tecniche di elaborazione del linguaggio naturale (NLP) per analizzare testi e dati non strutturati.

    Alla fine del corso, gli studenti saranno in grado di affrontare ed analizzare progetti di Data Science e Machine Learning in contesti reali, analizzare e scrivere codice in linguaggio Python avanzato.

    Prerequisiti

    Conoscenze di base di programmazione e di Computer Science.

    Metodologie didattiche

    -Lezioni frontali;
    -Laboratori ed Esercitazioni al Calcolatore;
    -Project Work;
    -Flipped Classroom.

    Metodi di valutazione

    Realizzazione di un progetto assegnato o proposto dagli studenti e discussione plenaria.

    Altre informazioni

    Analisi di casi di studio reali

    Programma del corso

    Introduzione a Python e OOP:

    Imparare i fondamenti del linguaggio Python.
    Esplorare tipi complessi come liste, tuple, dizionari e insiemi.
    Introduzione alla programmazione orientata agli oggetti (OOP).
    Basi Teorico/Matematiche della Data Science:

    Introduzione ai concetti fondamentali della Data Science.
    Approfondimento dei tipi di dati e dei passi fondamentali della scienza dei dati.
    Studio delle conoscenze matematiche di base e avanzate, inclusi calcolo della probabilità e statistica.
    Machine Learning con Scikit-learn:

    Utilizzo di Scikit-learn per implementare modelli di machine learning.
    Visualizzazione ed esplorazione dei dati con Seaborn e Matplotlib.
    Applicazione di tecniche di machine learning supervisionato e non supervisionato.
    Ottimizzazione dei modelli e valutazione delle prestazioni.
    Deep Learning con Keras:

    Concetti chiave delle reti neurali e del deep learning.
    Creazione e allenamento di reti neurali utilizzando Keras.
    Approfondimento sull'utilizzo di reti neurali convoluzionali e ricorrenti.
    Monitoraggio dell'addestramento con TensorBoard.
    Elaborazione del Linguaggio Naturale (NLP):

    Attività di NLP utilizzando librerie come TextBlob, NLTK, e spaCy.
    Analisi del testo, inclusa tokenizzazione, tagging delle parti del discorso e analisi del sentiment.
    Tecniche di preprocessing come stemming, lemmatizzazione e rimozione delle stop words.
    Applicazioni avanzate come riconoscimento di entità denominate e determinazione della somiglianza del testo.

    English

    Teaching language

    English

    Contents

    This is an introductory course to computer programming and related mathematical/logic background for students without a programming skills or a Computer Science background.
    The objective is to smoothly introduce the student to the programming concepts and tools needed for typical data processing and data analysis tasks. The course consists of lectures and practice in computer labs.

    Textbook and course materials

    -Cay S. Horstmann and Rance Necaise. Python for Everyone, Third Edition, https://horstmann.com/python4everyone/

    -Jake VanderPlas. Python Data Science Handbook, O'Reilly, https://jakevdp.github.io/PythonDataScienceHandbook/

    -Slides and Support Materials provided by the Teacher.

    Course objectives

    The main objective of this course is to provide students with a comprehensive and practical understanding of the skills needed to initiate and manage projects in the field of Data Science and Machine Learning using Python and open source libraries.

    Through the course, students will gain a solid understanding of the fundamentals of the Python language, including object-oriented programming concepts, and develop a theoretical-mathematical competence necessary to address the challenges of data science. Through in-depth, hands-on classes, this course aims to train professionals who can use tools such as Scikit-learn, Keras, and TensorBoard to implement machine learning models, as well as apply natural language processing (NLP) techniques to analyze text and unstructured data.

    By the end of the course, students will be able to tackle Data Science and Machine Learning projects in real-world settings, preparing them to face challenges and opportunities of programming contexes.

    Prerequisites

    Fundamentals of Programming and basics of Computer Sciencs

    Teaching methods

    -Lectures;
    -Laboratories and Calculator Exercises;
    -Project Work;
    -Flipped Classroom.

    Evaluation methods

    Project Design and Plenary Discussion.

    Other information

    Analysis of real case studies

    Course Syllabus

    Introduction to Python and OOP:

    Learn the fundamentals of the Python language.
    Exploring complex types such as lists, tuples, dictionaries, and sets.
    Introduction to object-oriented programming (OOP).
    Theoretical/Mathematical Foundations of Data Science:

    Introduction to the fundamental concepts of Data Science.
    In-depth study of data types and basic steps in data science.
    Study of basic and advanced mathematical knowledge, including probability calculus and statistics.
    Machine Learning with Scikit-learn:

    Using Scikit-learn to implement machine learning models.
    Data visualization and exploration with Seaborn and Matplotlib.
    Application of supervised and unsupervised machine learning techniques.
    Model optimization and performance evaluation.
    Deep Learning with Keras:

    Key concepts of neural networks and deep learning.
    Creation and training of neural networks using Keras.
    Insight into the use of convolutional and recurrent neural networks.
    Monitoring training with TensorBoard.
    Natural Language Processing (NLP):

    NLP activities using libraries such as TextBlob, NLTK, and spaCy.
    Text analysis, including tokenization, part-of-speech tagging, and sentiment analysis.
    Preprocessing techniques such as stemming, lemmatization, and stop word removal.
    Advanced applications such as named entity recognition and text similarity determination.

    facebook logoinstagram buttonyoutube logotype