Syllabus del corso
Obiettivi formativi
Conoscenza e capacità di comprensione:
Il corso è finalizzato ad acquisire competenze di base sulla programmazione in Python, focalizzandosi sulle strutture dati
elementari utilizzate nell'analisi dei dati, e sulle basi di dati relazionali.
Conoscenza e capacità di comprensione applicate:
Al termine del corso, lo studente sarà in grado di esprimere semplici interrogazioni SQL e di progettare algortimi ed implementarli in
Python al fine di elaborare dati per risolvere specifici problemi
Autonomia di giudizio:
Lo studente imparerà scegliere in modo autonomo gli strumenti e le tecniche più adatte tra quelle apprese per risolvere problemi pratici
di moderata complessità legati alla manipolazione di dati e alla logica di programmazione.
Abilità comunicative:
Lo studente svilupperà efficaci abilità comunicative nel contesto della programmazione e dei database.
Sarà in grado di esprimere concetti tecnici relativi a codice, algoritmi e query SQL in modo chiaro e comprensibile,
sia oralmente che per iscritto.
Capacità di apprendere:
Lo studente svilupperà le competenze fondamentali per un apprendimento autonomo e continuo nel campo dell'informatica.
Sarà capace di acquisire rapidamente nuove conoscenze e abilità in merito a linguaggi di programmazione e sistemi di gestione database,
di utilizzare risorse esterne per approfondire temi specifici di SQL e programmazione,
e di risolvere in modo indipendente problemi complessi attraverso l'applicazione dei principi appresi.
Contenuti sintetici
La nozione di algoritmo, costrutti fondamentali in Python, strutture dati elementari e tabelle, funzioni, scrittura e lettura file, interrogazioni SQL
Programma esteso
- Definizione di algoritmo
- Il linguaggio Python
-
struttura di un programma
-
variabili e tipi di dati: bool, int, float, str, tuple, list.
-
espressioni aritmetiche, relazionali, e logiche.
-
funzioni predefinite: abs, len, list, max, min, range, str, sum.
-
istruzioni elementari: assegnamento, return, break, continue, import.
-
istruzioni composte: if, for, while, with
-
Istruzioni di lettura e scrittura: input, print, da file di testo
-
definizione di funzioni.
-
Cenni sulla libreria pandas: DataFrame, input e output (read_excel, read_csv, to_excel, to_csv), indicizzazione di un DataFrame, calcolo di indicatori (sum, min, max, mean, median, mode).
- Basi di dati relazionali ed SQL: CREATE, DROP, ALTER, INSERT, UPDATE, DELETE,SELECT
Prerequisiti
Le conoscenze di tipo matematico, logico e statistico acquisite nella scuola superiore.
Metodi didattici
Lezioni frontali. Le lezioni si svolgono nei laboratori didattici per consentire agli studenti di applicare immediatamente i concetti spiegati.
Modalità di verifica dell'apprendimento
La verifica dell'apprendimento comprende una prova scritta e al superamento di essa una prova orale. La prova scritta si svolgerà nei laboratori didattici per valutare le abilità dello studente nell'utilizzo applicazioni per lo sviluppo di software e le sue competenze nella risoluzione di semplici problemi.
Per finalità didattiche, verrà applicato il salto di appello per:
tutti gli studenti assenti ingiustificati,
tutti gli studenti gravemente insufficienti,
tutti gli studenti sorpresi a copiare o a scambiare informazioni con i compagni.
Tali studenti non potranno sostenere lo scritto successivo. Agli studenti che si ritirano (cioe' dichiarano di ritirarsi durante lo scritto) non è applicato il salto di appello.
Testi di riferimento
- Per i punti 1 e 2 utilizzare: John V. Guttag. Introduzione alla programmazione con Python. Dal pensiero computazionale al machine learning. Egea
- Per il punto 3 utilizzare: Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone. Sistemi di basi di dati e applicazioni. Apogeo Education. Capitoli 2 e 5
Periodo di erogazione dell'insegnamento
Secondo semestre
Lingua di insegnamento
Italiano
Sustainable Development Goals
Learning objectives
Knowledge and understanding:
The course is aimed at acquiring basic skills in Python programming, focusing on the elementary data structures used in data analysis, and on relational databases.
Applied knowledge and understanding:
At the end of the course, the student will be able to express simple SQL queries and design algorithms and implement them in Python in order to process data to solve specific problems
Making judgments:
The student will learn to independently choose the most suitable tools and techniques among those learned to solve practical problems
of moderate complexity related to data manipulation and programming logic.
Communication skills:
The student will develop effective communication skills in the context of programming and databases.
He/she will be able to express technical concepts related to code, algorithms and SQL queries in a clear and comprehensible way,
both orally and in writing.
Learning ability:
The student will develop the fundamental skills for autonomous and continuous learning in the field of computer science.
He/she will be able to quickly acquire new knowledge and skills regarding programming languages and database management systems,
to use external resources to deepen specific topics of SQL and programming,
and to independently solve complex problems through the application of the principles learned.
Contents
The notion of algorithm, fundamental constructs in Python, elementary data structures and tables, functions, writing and reading files, SQL queries
Detailed program
- Definition of algorithm
- The Python language
-
structure of a program
-
variables and data types: bool, int, float, str, tuple, list.
-
arithmetic, relational, and logical expressions.
-
predefined functions: abs, len, list, max, min, range, str, sum.
-
elementary instructions: assignment, return, break, continue, import.
-
compound statements: if, for, while, with
-
Reading and writing instructions: input, print, from text file
-
definition of functions.
-
Notes on the pandas library: DataFrame, input and output (read_excel, read_csv, to_excel, to_csv), indexing of a DataFrame, calculation of indicators (sum, min, max, mean, median, mode).
- Relational databases and SQL: CREATE, DROP, ALTER, INSERT, UPDATE, DELETE,SELECT
Prerequisites
Mathematical,logical, statistical knowledge as acquired during high-school.
Teaching methods
Frontal lessons. Lessons take place in computer science lab to allow students to immediately apply the concepts explained.
Assessment methods
Learning assessment includes a written exam and, if the student gets a passing grade, an oral exam. The written exam will take place in the teaching laboratories to evaluate the student's skills in using software development kit and their competence in solving simple problems.
Textbooks and Reading Materials
- For 1 and 2: John V. Guttag. Introduzione alla programmazione con Python. Dal pensiero computazionale al machine learning. Egea
- For 3 utilizzare: Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone. Sistemi di basi di dati e applicazioni. Apogeo Education. Capitoli 2 e 5
Semester
Second semester.
Teaching language
Italian