20591 - COMPUTER PROGRAMMING AND DATABASE SYSTEMS
Course taught in English
Go to class group/s: 23
Scope of the course is to provide the students with a wide range of skills and knowledge in computation and data management/analysis, which are extensively used throughout the whole education program. While not strictly mandatory, some previous exposure to computer programming (and in particular to the Python language) is highly recommended for this course.
- Fast and furious introduction to Python.
- Advanced programming techniques.
- The Numpy scientific library.
- Data manipulation with Pandas.
- Relational databases (SQLite).
- Non-relational databases (MongoDB).
- Cloud computing on the The Google Cloud Platform.
- Parallel and distributed computation (MapReduce).
- Large scale data analysis with PySpark.
- Describe fundamental programming strategies and the functioning principles of database systems.
- Read/write advanced Python codes.
- Master object-oriented programming.
- Develop codes for algorithmic problem solving.
- Handle large scale databases.
- Face-to-face lectures
- Online lectures
- Exercises (exercises, database, software etc.)
Exercises consist in programming assignments to be done in class under the supervision of the Instructor and the Teaching Assistants.
|Continuous assessment||Partial exams||General exam|
- The written exam consists in programming exercises to be performed in the computer room.
The exam is used to asses both the "knowledge and understanding" and the "applying knowledge and understanding" learning objectives.
The textbooks are communicated prior to the start of the course. Handouts of each lecture and sample codes are provided.