COMPUTER PROGRAMMING AND DATA MANAGEMENT - 1
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTER PROGRAMMING AND DATA MANAGEMENT - 1
- Codice insegnamento
- EM1404 (AF:561289 AR:326490)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di COMPUTER PROGRAMMING AND DATA MANAGEMENT
- Livello laurea
- Laurea magistrale (DM270)
- Settore scientifico disciplinare
- INF/01
- Periodo
- 1° Periodo
- Anno corso
- 1
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
More specifically, the goal of this course is to teach students how to approach problems with an algorithmic approach. Students will learn some basic techniques for problem solving and how to use a programming language to provide a sound and formal description of a designed problem solution. The problems discussed will deal with data transformation, data cleaning and simple data analyses.
Risultati di apprendimento attesi
Programming is intended as a way to model real-world problems and to design algorithmic solutions to solve them.
This course teaches students problem solving techniques and algorithmic thinking.
Technical topics cover algorithms, data structures, and Python programming. The course also aims at providing some technical skills about coding/scripting aspects of the R framework.
The students will achieve the following objectives:
Knowledge: i) learn basic problem solving techniques to address algorithmic problems; ii) understand and interpret computer programs written in the Python programming language;
Application of knowledge: i) analyze problems and design formal algorithmic solutions; ii) translate algorithmic solutions into computer programs.
Communication: i) generate basic data visualizations for preliminary analysis.
Prerequisiti
Contenuti
2. Python Data Types
3. Simple programs
4. Functions and Conditional Statements
5. Iterative Computation
6. Python Strings
7. Python Lists
8. Python Dictionaries
9. Structuring the code with modules and classes
10. File read and write
11. Introduction to matplotlib
12. Problem Solving and Basic Algorithms
13. From Python to R
Testi di riferimento
- Learning Python. O'Reilly. Mark Lutz.
- Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. O'Reilly. Wes McKinney
Modalità di verifica dell'apprendimento
The written exam will be followed by a brief oral exam, aimed to further assess the same skills and the mastery of technical language.
The grade is determined by: - knowledge of the subjects, by considering the correct usage of the various language constructs for solving the exercises (range 20%); - capability to apply the knowledge, by considering the correct/incorrect procedures used for providing the exercise solutions (range 40%); - correcteness, efficiency and easy reading of the solutions provided for the exercises (range 40%).
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
28-30L: padronanza degli argomenti trattati a lezione, ottime competenze nell'analizzare problemi e tradurli in algoritmi e codici funzionanti.
26-27: buona conoscenza degli argomenti trattati a lezione, buone competenze nell'analizzare problemi e tradurli in algoritmi e codici corretti funzionanti o parzialmente corretti.
24-25: conoscenza non sempre approfondita degli argomenti trattati a lezione, discrete competenze nell'analizzare problemi con codici spesso non completamente corretti.
22-23: conoscenza spesso superficiale degli argomenti trattati a lezione, carenze nell'analizzare problemi appena più complessi, con errori nei codici prodotti.
18-21: conoscenza a tratti lacunosa degli argomenti trattati a lezione, competenze appena sufficienti per risolvere problemi molto semplici con codice funzionante.
Metodi didattici
Exercise lectures.