PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Advanced data structures in Python

01HWMIU

A.A. 2024/25

Course Language

Inglese

Degree programme(s)

Doctorate Research in Ingegneria Informatica E Dei Sistemi - Torino

Course structure
Teaching Hours
Lezioni 20
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Cabodi Gianpiero Professore Associato IINF-05/A 20 0 0 0 2
Co-lectures
Espandi

Context
SSD CFU Activities Area context
*** N/A ***    
Si tratta di un corso a forte connotazione pratica, con lezioni ed esercitazioni online, a cui si aggiungono tutoraggi facoltativi ed assignment. Il materiale è disponibile in inglese. Lezioni ed esercitazioni sono disponibili sia in italiano che in inglese.
It is a course with a strong practical connotation, with online lessons and exercises, in addition to optional tutoring and assignments. The material is available in English. Lectures and exercises are available in both Italian and English.
Sono necessarie abilità di programmazione e sviluppo software. Conoscenza pregressa del linguaggio Python, anche parziale, puo' essere utile, ma non necessaria. Requisito fondamentale per il corso, a qualunque livello, è il lavoro individuale, specialmente quello da dedicare ad esercizi e assignment.
Programming and software development skills are needed. Previous knowledge of the Python language, even partial, can be useful, but not necessary. A fundamental requirement for the course, at any level, is individual work, especially the one to be dedicated to exercises and assignments.
Il corso affronta i problemi di scelta e realizzazione di adeguate ed efficienti strutture dati nel linguaggio Python. In particolare, ci si propone di fornire: (a) conoscenza delle principali soluzioni possibili, (b) criteri e strategie per realizzare strutture dati efficienti. Si individuano tre aree principali: (a) software di tipo generale, (b) calcolo numerico/scientifico e (c) data science/engineering. Contenuti Il corso ha una forte caratterizzazione pratica, fondata su esercizi guidati, piccoli progetti, tutoraggio e strumenti di autovalutazione. Si articola in 5 moduli (unità didattiche): 1. Azzeramento sul linguaggio Python 2. Strutture dati di tipo “contenitore” del linguaggio Python: list, tuple, set, dictionary. Il concetto di dato “mutable”/”immutable”. 3. Aspetti della programmazione a oggetti in Python, e strutture dati ad hoc realizzate come oggetti e riferimenti: liste concatenate, alberi, grafi. Si affrontano anche aspetti si programmazione funzionale. 4. Python e il calcolo scientifico: la manipolazione di vettori e matrici e le librerie per il calcolo numerico. Le librerie numpy e numba. 5. Python e l’analisi dei dati: la libreria pandas come esempio di gestione di dati di tipo foglio di calcolo, le serie e i “data frame”.
The course addresses the problem of choosing and implementing adequate and efficient data structures in the Python language. It aims at providing: (a) knowledge of the main possible solutions, (b) criteria and strategies for creating efficient data structures. Three main areas are identified: (a) general software, (b) numeric/scientific computing and (c) data science / engineering. Contents The course has a strong practical characterization, based on guided exercises, small projects, tutoring and self-assessment tools. It is divided into 5 modules (teaching units): 1. Zeroing (basics) on the Python language 2. Collections as “Container” data structures of the Python language: list, tuple, set, dictionary. The concept of "mutable" / "immutable" data. 3. Aspects of object-oriented programming in Python, and ad hoc data structures realized as objects and references: linked lists, trees, graphs. Functional programming is also addressed. 4. Python and scientific computation: the manipulation of vectors and matrices and libraries for numerical computation. The numpy and numba libraries. 5. Python and data analysis: the pandas library as an example of spreadsheet data management, series and "data frames".
In presenza
On site
Prova di laboratorio di natura pratica sperimentale o informatico - Sviluppo di project work in team
Laborartory test on experimental practice or informatics - Team project work development
P.D.1-1 - Novembre
P.D.1-1 - November
14/11/2024 ore 16:00-19:00 - aula 4N 25/11/2024 ore 16:00-17:30 - aula 7N 13/12/2024 ore 10:00-19:00 - aula 7N 16/1/2024 ore 8:30 - 10:00 - aula 7N 17/1/2024 ore 8:30-11:30 - aula 7N 31/1/2025 ore 8:30-11:30 - aula 7N 13/2/2025 ore 8:30 - 10:00 - aula 7N 14/2/2025 ore 8:30-11:30 - aula 7N
14/11/2024 from 16:00 to 19:00 - classroom 4N 25/11/2024 from 16:00 to 17:30 - classroom 7N 13/12/2024 from 10:00 to 19:00 - classroom 7N 16/1/2024 from 8:30 to 10:00 - classroom 7N 17/1/2024 from 8:30 to 11:30 - classroom 7N 31/1/2025 from 8:30 to 11:30 - classroom 7N 13/2/2025 from 8:30 to 10:00 - classroom 7N 14/2/2025 from 8:30 to 11:30 - classroom 7N