Course Syllabus
Obiettivi formativi
Il corso introdurrà concetti di base riguardanti: l’architettura dei computer, l’hardware, il software, i sistemi operativi, il processo di sviluppo del software ed il passaggio dai dati all'informazione.
Il corso si focalizzerà sulla costruzione di programmi per l’accesso ai dati, per la manipolazione dell’informazione e la sua rappresentazione.
Al termine di questo corso, gli studenti saranno in grado di risolvere i problemi utilizzando un linguaggio di programmazione e gli strumenti di elaborazione automatica delle informazioni.
Contenuti sintetici
- Elaborazione dell’informazione
- Hardware/Software
- Sistemi operativi
- Linguaggi di programmazione
- Programmazione: linguaggio python:
- Variabili, istruzioni condizionali, cicli
- Strutture dati complesse
- File
- Procedure e funzioni
- Librerie
Dal dato all'informazione:
- dati semistrutturati e strutturati
- tabelle e loro manipolazione
- rappresentazione grafica del dato
Programma esteso
- Elaborazione delle informazioni
- Cenni di Hardware/Software
- Sistemi Operativi
- Command Line Interface e Graphic User Interface
- Cenni di File System
- Differenze tra File System Unix e File System Windows
- Paradigmi di programmazione
- Introduzione agli algoritmi
- Dagli algoritmi alla programmazione
- Linguaggi di programmazione (Interprete e compilatore)
- Programmazione in Python
- Ambienti di esecuzione e sviluppo per Python
- Struttura di un file sorgente
- Istruzioni
- Variabili
- Logica booleana
- Istruzioni condizionali
- Input Output
- Funzioni
- Parametri formali e parametri attuali
- Moduli,Package, Package Manager
- Strutture dati complesse (tuple, liste, dizionari)
- Strutture dati complesse e iteratori
- File
- Trattamento dei file di testo
- Rappresentazione dell'informazione
- Focus on data:
- Uso delle lilierie per la manipolazione delle tabelle
- Uso delle librerie per la visualizzazione delle informazioni
Prerequisiti
Nessun prerequisito formale richiesto.
Metodi didattici
Lezione frontale
Didattica in Blended E-Learning (video, quiz per fissare i contenuti, esercizi di autovalutazione)
Esercitazioni in laboratorio
Simulazioni d’esame (per permettere allo studente di prendere confidenza con la piattaforma d’esame e la propria preparazione)
Modalità di verifica dell'apprendimento
L’appello consiste in una prova scritta all’elaboratore. Tale prova si suddivide in due parti: la prima composta da domande a risposta multipla; la seconda richiede la risoluzione di un esercizio tramite lo sviluppo di un programma in Python. La natura mista dell'esame scritto permette di verificare le conoscenze specifiche dello studente e la sua capacità di costruire un percorso logico per affrontare e risolvere un problema.
Orale facoltativo (su richiesta del docente o dello studente se sufficiente). L’orale può comportare sia l’aumento che la diminuzione della valutazione della prova scritta.
Testi di riferimento
Le slide, gli esercizi ed in generale tutto il materiale presentato a lezione sarà pubblicato su questo sito web.
Libri:
* Deitel, Introduzione a Python. Per l'informatica e la data science, Pearson. More details here
* T. Gaddis, Introduzione a Python. Pearson. Maggiori informazioni qua.
* A. Downey, J. Elkner, C. Meyers. “Pensare da informatico, Imparare con Python”, traduzione italiana di “How to Think Like a Computer Scientist”, Green Tea Press, Wellesley, Massachusetts. EBook disponibile in rete (basta effettuare una ricerca su google). Alcuni link: formato pdf, formato html.
Le slide presentate a lezione saranno rese disponibili presso questo sito
Durante il corso potrà essere indicato del materiale aggiuntivo
Periodo di erogazione dell'insegnamento
I semestre
Lingua di insegnamento
Italiano
Sustainable Development Goals
Learning objectives
The course will introduce basic concepts on the architecture of computers, hardware, software, operating systems, software development and the path from data to information.
The course will focus on the development of programs to access data, to manipulate the information and to represent it.
On completion of this course, students will be able to solve problems using a programming language and computing tools.
Contents
- Information elaboration
- Hardware/Software
- Operating Systems
- Programming: the python language
- Variables, Conditional Instructions, Loops
- Complex Data Structures
- Files
- Functions and Procedures
- Libraries
Focus on data:
- semistructured and structered data
- tables and their manipulation
- data visualization
Detailed program
- Elaboration of the information
- Sketches of Hardware/Software
- Operating Systems
- Command Line Interface e Graphic User Interface
- Sketch of the File System
- The Unix File System and the Widows File System
- Programming paradigms
- Introduction to algorithms
- From algorithms to programs
- Programming languages (interpreter/compiler)
- Programming in Python
- Structure of a source file
- Instructions
- Variables
- Boolean logic
- Design and execution environments for Python
- Conditional instructions
- Input Output
- Functions
- Actual and formal parameters
- Modules, Packages and Packages Manager
- Complex data structures (tuples, lists, dictionaries)
- Complex data structures and iterators
- File
- Working with textual files
- Information representation
- Focus on Data:
- Libraries to manipulates tabular data
- Libraries to visualize data
Prerequisites
None
Teaching methods
Frontal lecture
Blended E-Learning (videos, tests to fix the contents, auto-evaluation tests)
Hands-on session in a computer science laboratory
Final test simulation (to introduce the student to the test platform and help him to gain knowledge about his/her preparation level)
Assessment methods
The examination consists of a written part held in a computer lab. The examination consists of two parts: the first one, composed by multiple choices questions; the second one, requires to solve an exercise by means of a program developed in Python. The mixed nature of the written test allows to verify the specific knowledge of the student, together with its ability to build a logic path to tackle and solve a problem.
Facultative Optional oral exam (on request of the teacher or of the students). The oral exam can both increase or decrease the overall evaluation.
Textbooks and Reading Materials
- All the material presented during the lectures will be published on this web site.
- Books:
- Deitel, Introduzione a Python. Per l'informatica e la data science, Pearson. More details here
- T. Gaddis, Introduzione a Python. Pearson. More details here.
- A. Downey, J. Elkner, C. Meyers. “Pensare da informatico, Imparare con Python”, is the italian version of “How to Think Like a Computer Scientist”, Green Tea Press, Wellesley, Massachusetts. The EBook can be easily retrived form the web. Some links: pdf format, html format.
Semester
I semester
Teaching language
Italian
Sustainable Development Goals
Key information
Staff
-
Marzia Di Filippo
-
Dario Pescini