PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



(It) Strutture dati in Python

02DPMIU

A.A. 2022/23

Course Language

Inglese

Degree programme(s)

Doctorate Research in Ingegneria Informatica E Dei Sistemi - Torino

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

Context
SSD CFU Activities Area context
*** N/A ***    
Il corso è mutuato dall'omonimo corso extra-curricolare offerto a laureandi e laureati del Politecnico di Torino. 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. A seconda dei pre-requisiti e degli obiettivi, è possibile accedere a una versione base/intermedia oppure avanzata.
The course is also offered as an extra-curricular course to undergraduates and graduates of the Politecnico di Torino. 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. Depending on the pre-requisites and objectives, you can access a basic/intermediate or advanced version.
Sono necessarie abilità di base di programmazione e sviluppo software. Per poter accedere alla modalità avanzata è necessario avere solide basi di programmazione. Conoscenza pregressa del linguaggio Python, anche parziale, puo' essere utile, ma non necessaria. La versione base/intermedia è accessibile a chi non abbia i precedenti pre-requisiti. Requisito fondamentale per il corso, a qualunque livello, è il lavoro individuale, specialmente quello da dedicare ad esercizi e assignment.
Basic programming and software development skills are needed. To be able to access the advanced mode it is necessary to have a solid programming background. Previous knowledge of the Python language, even partial, can be useful, but not necessary. The basic/intermediate version is accessible to those who do not have the previous pre-requisites. 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".
A distanza in modalità sincrona
On line synchronous mode
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