20810295 - Fondamenti di programmazione e Data Analytics

Obiettivo del corso è fornire agli studenti gli strumenti metodologici e concettuali per la progettazione di algoritmi e l'implementazione di programmi per la soluzione automatica di problemi.
Obiettivi particolari sono:
- introdurre l'informatica come disciplina per la soluzione automatica di problemi;
- introdurre strumenti e metodologie per la progettazione di algoritmi;
- introdurre concetti, metodologie e tecniche fondamentali della programmazione;
- introdurre concetti e metodi per l'utilizzo di programmi per problemi di data analytics
Al termine del corso gli studenti saranno in grado di affrontare un problema di programmazione in tutte le sue parti, ovvero:
- comprendere, analizzare e formalizzare il problema
- progettare un algoritmo risolutivo utilizzando tecniche iterative
- implementare l'algoritmo in un linguaggio di programmazione utilizzando opportune strutture dati
e funzioni.
- affrontare problemi articolati di data analytics utilizzando opportune librerie

scheda docente | materiale didattico

Programma

Concetti di base:
- Problemi e algoritmi
- Architettura dei calcolatori
- Linguaggi e Compilazione
- I/O, variabili e costanti

Operazioni:
- Tipi di dato
- Espressioni
- Algebra booleana

Strutture di controllo:
- Selezione
- Iterazione
- Funzioni

Strutture dati:
- Array
- Struct

Concetti avanzati:
- Librerie

Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Bibliografia Di Riferimento

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità Erogazione

Lezioni ed esercitazioni in aula e in laboratorio

Modalità Frequenza

La frequenza è facoltativa

Modalità Valutazione

L'esame consiste in una prova scritta composta da esercizi di programmazione, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio. Nel caso di un prolungamento dell’emergenza sanitaria da COVID-19 saranno recepite tutte le disposizioni che regolino le modalità di valutazione degli studenti.

scheda docente | materiale didattico

Programma

*Concetti di base*

Problemi e algoritmi

Architettura dei calcolatori

Linguaggi e Compilazione

I/O, variabili e costanti



*Operazioni*

Tipi di dato

Espressioni

Algebra booleana



*Strutture di controllo*

Selezione

Iterazione

Funzioni



*Strutture dati*

Array

Stringhe

Matrici



*Concetti avanzati*

Ambienti di sviluppo integrati

Librerie

File



Il corso utilizza i linguaggi di programmazione C e Python.

Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.



Bibliografia Di Riferimento

Documentazione ufficiale Python: https://docs.python.org/3/ https://numpy.org/doc/stable/user/index.html https://pandas.pydata.org/docs/getting_started/index.html https://scikit-learn.org/stable/index.html Testi: W. McKinney: “Python for Data Analysis” disponibile anche in versione gratuita on-line https://wesmckinney.com/book/ “Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow” di A. Geron “Data science con python. Dai fondamenti al machine learning” di Joel Grus Sito con molti esercizi: https://it.softpython.org/

Modalità Erogazione

Lezioni ed esercitazioni in aula e in laboratoriojavascript:void(0);

Modalità Frequenza

La frequenza è facoltativa.

Modalità Valutazione

Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.