FOUNDATIONS OF COMPUTER SCIENCE

Scheda dell'insegnamento

Anno accademico di regolamento: 
2017/2018
Anno di corso: 
1
Anno accademico di erogazione: 
2017/2018
Tipo di attività: 
Obbligatorio a scelta
Crediti: 
6
Ciclo: 
Primo Semestre
Ore di attivita' didattica: 
52
Prerequisiti: 

nessuno

Moduli

Metodi di valutazione

Tipo di esame: 
Orale
Modalita' di verifica dell'apprendimento: 

Prova al computer

Valutazione: 
Voto Finale

Obiettivi formativi

Conoscenza e comprensione
Alla fine del corso lo studente apprenderà come progettare e interrogare un database e come estrarre informazione strutturata da file con delimitatori. Inoltre sarà in grado di scrivere semplici programmi in Python.

Capacità di applicare conoscenza e comprensione
Lo studente sarà in grado di gestire e integrare dati prodotti da applicazioni esterne oppure fonti eterogenee al fine di produrre dati strutturati adatti ad essere successivamente analizzati con tecniche statistiche.

Contenuti

Organizzazione di dati grezzi: file system, file con delimitatori.
Introduzione ai database. Il modello relazionale dei dati e linguaggio SQL. Select ... From . Where.
Introduzione alla programmazione in Python. Programmazione esplorativa. Gestione dati in formato tabellare.
Cenni di test e debugging.

Programma esteso

1. Organizzazione di dati grezzi
1.1. file, directory, tipi di file
1.2. principali comandi da terminale
1.3. file con delimitatori.
2. Introduzione ai database.
2.1. Il modello relazionale dei dati
2.2. Il linguaggio SQL: Select ... From . Where su una tabella.
2.3. Interrogazioni su più tabelle.
3. Introduzione alla programmazione in Python.
3.1. Array, liste, dizionari
3.2. Cicli
3.3. Organizzazione di un programma: funzioni
3.4. Librerie
4. Programmazione esplorativa. Gestione dati in formato tabellare.
4.1. Notebook
4.2. Pandas
4.3. Cenni di Numpy
5. Cenni di test e debugging.

Bibliografia consigliata

Atzeni, Ceri, Paraboschi Torlone, Basi di dati modelli e linguaggi (4 ed)
Downey, Pensare in Python (2a edizione)
Downey, Think Stats: Exploratory Data Analysis in Python

Metodi didattici

Lezioni e esercitazioni al computer