20810536-2 - FONDAMENTI DI INFORMATICA - 2°MODULO

Fornire gli elementi di base della “cultura informatica” attraverso strumenti, metodologici e concettuali, efficaci e duraturi per affrontare in modo flessibile l’evoluzione tecnologica e il vasto mondo delle applicazioni.
Obiettivi particolari sono:
- introdurre l'Informatica come disciplina per la soluzione automatica di problemi;
- esaminare i concetti di base della programmazione degli elaboratori elettronici; gli strumenti linguistici, le metodologie e le tecniche, in parte formali ed in parte pragmatiche, della programmazione e i relativi aspetti qualitativi dell’efficienza e della correttezza;
- presentare le strutture di dati e alcuni algoritmi fondamentali.
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;
- implementare l'algoritmo nel linguaggio tecnico-scientifico Julia;
- effettuare test di correttezza;
- giudicare criticamente il programma in termini di leggibilità del codice e di efficienza, riusabilità e manutenibilità del programma.
scheda docente | materiale didattico

Programma

*Concetti di base*

Problemi, algoritmi e programmi
Architettura dei calcolatori
Linguaggi e Compilazione
Stile e convenzioni
I/O, variabili e costanti

*Operazioni*

Rappresentazione dell’informazione
Aritmetica binaria
Tipi di dato
Espressioni
Algebra booleana

*Strutture di controllo*

Selezione
Iterazione
Funzioni

*Strutture dati*

Array
Stringhe
Matrici
Insiemi
Liste
Tuple
Dataset

*Concetti avanzati*

Ambienti di sviluppo integrati
Errori
Librerie
File


*Analisi dati*

Tecniche di analisi dati
Tecniche di base del machine learning

Testi Adottati

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

Bibliografia Di Riferimento

W. McKinney, “Python for Data Analysis”, Open Edition, https://wesmckinney.com/book/ A. Géron, “Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow”, free early release available on line.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

La valutazione consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole, aritmetica binaria e analisi dati, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.