Modulo di programmazione Java:
- Conoscenza dei costrutti fondamentali della programmazione imperativa e orientata agli oggetti.
- Conoscenza del linguaggio di programmazione Java
- Conoscenza delle principali strutture dati
- Conoscenza minimale di alcuni concetti relativi allo sviluppo di interfacce grafiche
- Conoscenza dei principi di programmazione di sistema e di rete in Java
Modulo di analisi dei dati
Il corso ha lo scopo di preparare gli studenti all'uso del linguaggio Python per l’analisi e visualizzazione di dati.
Alla fine del corso gli studenti avranno acquisito le basi necessarie a progettare e implementare tecniche di analisi di dati in Python usando le principali librerie orientante all’analisi e visualizzazione di dati: MatplotLib, Seaborn, Pandas, Numpy e SciPy. L’ambiente di distribuzione Python e’ Anaconda, disponibile per diverse piattaforme e verra’ usato con Jypyter Notebook come strumento per lo sviluppo interattivo di progetti di analisi e visualizzazione dati.
Java Programming unit:
- Knowledge of the foundamental constructs of imperative and object-oriented programming
- Knowledge of the Java programming language
- Knowledge of the main data structures
- Minimal knowledge of some concepts on graphical user interfaces
Data Analysis unit (UNDER REVIEW):
Modulo programmazione Java: progetti ed esame orale
Modulo analisi di dati: da definire
Java Programming unit: projects and oral exam
Data Analysis unit: to be defined
Modulo programmazione Java:
- Capacità di realizzare programmi complessi usando il paradigma della programmazione orientata agli oggetti e il linguaggio Java.
Modulo di analisi dei dati (PROVVISORIO, IN CORSO DI REVISIONE):
- Alla fine del corso gli studenti avranno acquisito le basi necessarie a progettare e implementare tecniche di analisi di dati in Python usando le principali librerie orientante all’analisi e visualizzazione di dati: MatplotLib, Seaborn, Pandas, Numpy e SciPy.
Java Programming unit:
- Ability to develop complex programs by using the object-oriented programming paradigm and the Java language
Data Analysis unit (UNDER REVIEW):
Modulo programmazione Java:
- Due progetti di programmazione orientata agli oggetti da svolgere (in Java). Tali progetti saranno oggetto di discussione e valutazione durante l'esame orale.
Modulo di analisi dei dati:
- Da definire
Java Programming unit:
- Two projects of object oriented programming (in Java) with discussion in the context of the oral exam.
Data Analysis unit:
- To be defined
Modulo programmazione Java:
- Lo studente acquisirà dimestichezza con i principali strumenti e processi di sviluppo del software.
Modulo di analisi dei dati (PROVVISORIO, IN CORSO DI REVISIONE):
- Alla fine del corso gli studenti avranno acquisito le basi necessarie a progettare e implementare tecniche di analisi di dati in Python usando le principali librerie orientante all’analisi e visualizzazione di dati.
Java Programming unit:
- the student will become familiar with the main software development tools and processes.
Modulo programmazione Java:
- Lo studente dovrà dimostrare di aver acquisito piena consapevolezza delle soluzioni tecniche utilizzate per la realizzazione del progetto finale.
Java Programming unit:
- The student will have to demonstrate full awareness of the technical solutions used in the development of the final project.
Conoscenza di base del funzionamento di un computer
Basic computer knowledge
Lezioni frontali e sessioni di laboratorio
Lectures and lab sessions
Modulo programmazione Java:
- Nozioni di background su architettura degli elaboratori e rappresentazione dell'informazione
- Nozioni di background su problemi computazionali, algoritmi e linguaggi di programmazione
- Costrutti fondamentali della programmazione imperativa (in Java): espressioni, variabili, tipi di dato primitivi, comandi per il controllo del flusso del programma, programmazione procedurale, array
- Programmazione orientata agli oggetti (in Java): classi e oggetti, meccanismi di incapsulamento ed ereditarietà, classi parzialmente definite e interfacce, eccezioni, vettori
- Programmazione di sistema e di rete in Java
- Input/output su file e serizalizzazione di oggetti
- Strutture dati (liste, alberi) e ricorsione
- Java Collections Framework
- Interfacce grafiche (cenni)
Modulo di analisi di dati:
- Python: installazione ambiente e fondamenti. Installazione e Introduzione ad Anaconda. Jupiter Notebook: Installazione ed introduzione.
- Breve Introduzione al linguaggio Python: Tipi di Dati, Liste, Dizionari e Tuple, Operatori (booleani, artimetici, etc.), Cicli e Funzioni.
- Visualizzazione di Dati con Python. Panoramica. Librerie Python per la visualizzazione di dati. Datasets: Iris e Titanic. Matplotlib: introduzione. Line Properties Plot (x,y). Lines Patterns e Colors. Axis, Labels e Legend Properties. Tipi di Plots e Seaborn.
- Manipolazione e analisi dati con librerie di Python. Manipolazione dei dati con libreria Pandas: strutture dati e operazioni per manipolare tabelle numeriche e serie temporali. Introduzione alla gestione del calcolo vettoriale e alla manipolazione di vettori e matrici per la visualizzazione con la libreria Numpy. Introduzione all’analisi ed elaborazione di segnali e immagini con la libreria SciPy.
Java Programming unit:
- Background notions on computer architecture and data representation
- Background notions on computational problems, algorithms and programming languages
- Foundamental imperative programming constructs (in Java): expressions, variables, primitive data types, control flow constructs, procedural programming, arrays
- Object-oriented programming (in Java): classes and objects, incapsulation and inheritance, abstract classes and interfaces, exceptions, vectors
- File I/O and object serialization
- Data structures (lists, trees) and recursion
- Java Collections Framework
- Graphical user interfaces (elements)
Modulo programmazione Java: Le slides del corso sono messe a disposizione degli studenti tramite la pagina web. Inoltre, è fortemente consigliato l'utilizzo di un libro di testo a scelta tra:
Modulo di analisi dei dati: da definire
Java Programming unit: the slides of the lectures are made available on the web page of the course. Moreover, it is strongly suggested the adoption of one of the following books:
Data Analysis unit: to be defined
Modulo programmazione Java: il programma e il materiale didattico per i non frequentanti è lo stesso previsto per i frequentanti.
Java Programming unit: the program and the course material for the students who do not attend classes are the same as for the students attending classes
Modulo programmazione Java:
Due prove/progetti di programmazione Java + Esame orale (che include la discussione dei progetti).
Modulo di analisi dei dati:
Da definire
Java Programming unit:
- Two projects of object oriented programming (in Java) + Oral exam (that includes a discussion on the projects)
Data Analysis unit:
- To be defined
commissione di esame:
Paolo Milazzo
Barbara Guidi
da definire
Exam committee:
Paolo Milazzo
Barbara Guidi
to be defined