Scientific Programming I: Data Processing and Software Prototyping

Registro delle lezioni

Anno accademico 2024/2025
Docente Julien Roland Michel Bloino

Lecture

  • 01 Nov 2024 (4h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    01: introduction to hardware and software, the Python language 02: basic scalar types; constants; main data structures (sequences, sets, mappings)

  • 05 Nov 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    03: operations on data structures; conditional blocks and statements; ternary operators; loops and conditional loops; list comprehensions

  • 06 Nov 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - A distanza

    04: procedural programming in Python: list definition, arguments, lambda functions; presentation of some intrinsic procedures not strictly related to object-oriented programming

  • 19 Nov 2024 (4h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    laboratorio 01

  • 19 Nov 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    05: continuation on presentation of intrinsic procedures; modules in Python: basic concepts, import; protection of executable statements in main Python scripts; relative vs absolute import paths; introduction to input/output interactions: printing, user input, string formatting

  • 21 Nov 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    06: format specification (C-style) in Python; presentation of the project "vib_plotter", that will illustrate some advanced Python features introduced during the course applied to a more complete program instead of specific code illustrations; introduction to object-oriented programming: basic concepts and implementation in the Python language

  • 26 Nov 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    07: class definition and constructor; visibility of attributes and methods; encapsulation; decorators; class composition and inheritance; exceptions: description, how to raise and catch them

  • 27 Nov 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    08: presentation of some built-in exceptions and methods in Python; use of exceptions outside classes; presentation of intrinsic procedures more relevant for object-oriented programming

  • 28 Nov 2024 (4h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    laboratorio 02

  • 03 Dic 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    09: continuation on presentation of intrinsic procedures more relevant for object-oriented programming; practical example of use: processing of a string with multiple types of data sets.

  • 04 Dic 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    10: functions as objects and encapsulation: role of decorators; application of object-oriented programming in "vib-plotter"; file operations (reading, writing) in Python; introduction to Python's replacement field;

  • 10 Dic 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    11: format specification: data types; use of format specifications in printing and strings (formatted strings); example of file parsing in "vib-plotter"

  • 11 Dic 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    12: presentation of some commonly used or convenient built-in modules in Python: typing hints

  • 17 Dic 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    13: presentation of some commonly used or convenient built-in modules in Python: collections (advanced data structures), sys, os (OS-level operations/queries), subprocess (command execution), re (pattern search and operation based on regular expressions)

  • 18 Dic 2024 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    14: continuation on presentation of regular expressions in Python

  • 14 Gen 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    15: presentation of the argparse module to facilitate the processing of command-line arguments; the math and cmath modules; introduction to arbitrary-precision operations with the decimal module; use of external modules in Python: the package installer for Python

  • 15 Gen 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    16: construction of a Python package and installation; virtual environments; presentation of the NumPy module: n-dimensional arrays, data types; universal functions

  • 21 Gen 2025 (4h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    laboratory 03

  • 22 Gen 2025 (2h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    17: code prototyping with NumPy; data extraction; presentation of some routines in Python; use of NumPy in "vib-plotter"; presentation of SciPy; introduction to Matplotlib for data visualization

  • 28 Gen 2025 (4h 00m)

    JULIEN ROLAND MICHEL Bloino - Corso (attività didattica) - In presenza

    laboratorio 04