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.
- Scientific libraries (Numpy, Scipy).
- Data manipulation with Pandas.
- Relational databases (SQLite).
- Non-relational databases (MongoDB).
- The Google Cloud Platform.
- Parallel and distributed computation.
- Large scale data analysis (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
- Exercises (exercises, database, software etc.)
Exercises consist in programming assignments to be done in class under the supervision of the Instructor and Teaching Assistants.
|Continuous assessment||Partial exams||General exam|
- The written exam consists in programming exercises to be performed at the PC in the computer room. This contributes to 70% of the final grade.
- The individual assignment consists in a programming code to solve a concrete database problem, to be developed individually and described through a written report, which is evaluated by the teachers. This contributes to 30% of the final grade.
Both parts are 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.