COMPUTER PROGRAMMING AND DATA MANAGEMENT - 1

Academic year
2024/2025 Syllabus of previous years
Official course title
COMPUTER PROGRAMMING AND DATA MANAGEMENT - 1
Course code
EM1404 (AF:506442 AR:292912)
Modality
On campus classes
ECTS credits
6 out of 12 of COMPUTER PROGRAMMING AND DATA MANAGEMENT
Degree level
Master's Degree Programme (DM270)
Educational sector code
INF/01
Period
1st Term
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
This course covers part of the "quantitative" aspects of the master program, and aims to provide the student with knowledge and skills on the computational aspects fundamental for the data science field.

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.
The course provides an introduction to the basics of computer science and to programming.
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.
No specific pre-requirements.
1. Introduction
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
- Think Python. How to Think Like a Computer Scientist (2e). Allen Downey. Green Tea Press (available online).
- Learning Python. O'Reilly. Mark Lutz.
- Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. O'Reilly. Wes McKinney
The written exam is aimed at assessing the programming skill and the problem solving capability, through the solution of exercises on the course subjects.
The written exam will be followed by a brief oral exam, aimed to further assess the same skills and 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%).
Theoretical and practical lectures.
Exercise lectures.
English
written
This programme is provisional and there could still be changes in its contents.
Last update of the programme: 26/02/2024