Studying at the University of Verona
Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.
Type D and Type F activities
Type D learning activities are the student's choice, type F activities are additional knowledge useful for job placement (internships, transversal skills, project works, etc.). According to the Teaching Regulations of the Course, some activities can be chosen and entered independently in the booklet, others must be approved by a special committee to verify their consistency with the study plan. Type D or F learning activities can be covered by the following activities.
1. Modules taught at the University of Verona
Include the modules listed below and/or in the Course Catalogue (which can also be filtered by language of delivery via Advanced Search).
Booklet entry mode: if the teaching is included among those listed below, the student can enter it independently during the period in which the curriculum is open; otherwise, the student must make a request to the Secretariat, sending the form to carriere.scienze@ateneo.univr.it during the period indicated.
2. CLA certificate or language equivalency
In addition to those required by the curriculum/study plan, the following are recognized for those matriculated from A.Y. 2021/2022:
- English language: 3 CFUs are recognized for each level of proficiency above that required by the course of study (if not already recognized in the previous course of study).
- Other languages and Italian for foreigners: 3 CFUs are recognized for each proficiency level starting from A2 (if not already recognized in the previous study cycle).
These CFUs will be recognized, up to a maximum of 6 CFUs in total, of type F if the study plan allows it, or of type D. Additional elective credits for language knowledge may be recognized only if consistent with the student's educational project and if adequately justified.
Those enrolled until A.Y. 2020/2021 should consult the information found here.
Method of inclusion in the booklet: request the certificate or equivalency from CLA and send it to the Student Secretariat - Careers for the inclusion of the exam in the career, by email: carriere.scienze@ateneo.univr.it
Warning: to students, who have achieved the B2 level of English in their three-year careers (bachelor), we emphasize the need to replace the full B2 level of English, provided by the study plan, with the C1 level of "computerized" English (prova informatizzata) or to acquire other language proficiency in a community language at least at the full B1 level.
3. Transversal skills
Discover the training paths promoted by the University's TALC - Teaching and learning center intended for students regularly enrolled in the academic year of course delivery
Mode of inclusion in the booklet: the teaching is not expected to be included in the curriculum. Only upon obtaining the Open Badge will the booklet CFUs be automatically validated. The registration of CFUs in career is not instantaneous, but there will be some technical time to wait.
4. CONTAMINATION LAB
The Contamination Lab Verona (CLab Verona) is an experiential course with modules on innovation and enterprise culture that offers the opportunity to work in teams with students from all areas to solve challenges set by companies and organisations.
Upon completion of a CLab, students will be entitled to receive 6 CFU (D- or F-type credits).
Find out more: https://www.univr.it/clabverona
PLEASE NOTE: In order to be admitted to any teaching activities, including those of your choice, you must be enrolled in the academic year in which the activities in question are offered. Students who are about to graduate in the December and April sessions are therefore advised NOT to undertake extracurricular activities in the new academic year in which they are not enrolled, as these graduation sessions are valid for students enrolled in the previous academic year. Therefore, students who undertake an activity in an academic year in which they are not enrolled will not be granted CFU credits.
5. Internship/internship period
In addition to the CFUs stipulated in the curriculum/study plan (check carefully what is indicated on the Teaching Regulations): here information on how to activate the internship.
Check in the regulations which activities can be Type D and which can be Type F.
Modules and other activities that can be entered independently in the booklet
years | Modules | TAF | Teacher |
---|---|---|---|
1° 2° | Introduction to quantum mechanics for quantum computing | D |
Claudia Daffara
(Coordinator)
|
1° 2° | Introduction to Robotics for students of scientific courses. | D |
Andrea Calanca
(Coordinator)
|
1° 2° | Mathematics mini courses |
Giacomo Albi
(Coordinator)
|
|
1° 2° | Web and mobile app design using react and react native | D |
Graziano Pravadelli
(Coordinator)
|
1° 2° | Firmware development with bluetooth low energy (BLE) protocol and freertos operating system | D |
Franco Fummi
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
1° 2° | Introduction to Robotics for students of scientific courses. | D |
Andrea Calanca
(Coordinator)
|
1° 2° | Mathematics mini courses |
Giacomo Albi
(Coordinator)
|
|
1° 2° | Programming Challanges | D |
Romeo Rizzi
(Coordinator)
|
1° 2° | Protection of intangible assets (SW and invention)between industrial law and copyright | D |
Mila Dalla Preda
(Coordinator)
|
years | Modules | TAF | Teacher |
---|---|---|---|
1° 2° | Cooperative Game Theory in the (Deep) RL Era | D |
Alessandro Farinelli
(Coordinator)
|
Programming and database (2023/2024)
Teaching code
4S009064
Credits
12
Language
English
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
Courses Single
Authorized
The teaching is organized as follows:
Programming
Database
Credits
6
Period
Semester 2
Academic staff
Elisa Quintarelli
Learning objectives
The course is structured as follows [Programming Module] The purpose of the module is to provide skills and knowledge in programming in Python and R, giving the basic concepts of algorithm with particular reference to the use of the Python language (syntax, data structures, data import / export in Python, data visualization in Python) and its applications in data science [Database form] The course aims to provide the skills necessary for the design of data according to the requirements with reference to different application contexts and within the production process of software systems; for the management and effective and efficient use of data and for the study of a system for the management of relational databases in order to create, manage and query databases.
At the end of the course the student has to show to have acquired the following skills:
- ability to develop Python code to solve concrete examples
- ability to evaluate algorithms in terms of complexity in time and space
- knowledge of the syntax and semantics of the language used
- knowledge of the bases of: database management; architecture and functionality of a database management system; concepts of physical independence, logical independence, persistence, competition, reliability, query and updating of a database; advantages of a database management system compared to an operating system file system
- ability to conceptually design databases, e.g., conceptual models for data design; the Entity-Relationship (E-R) model; elements of the E-R model: entities, attributes, relationships, generalization hierarchies and cardinality constraints; the conceptual scheme of a database
- knowledge of the basics of the logical design of a database: data models for database management systems; the relational model; relationship definitions, integrity constraints and relationship scheme; the logical scheme of a database; rules for the translation of conceptual schemes into relationship schemes
- understanding of the mechanisms of interaction with a database: introduction to languages for the definition, modification and query of a database; relational algebra; optimization of algebra expressions; the SQL language; the selection construct (Select-From-Where), nested queries, sorting and grouping of data in SQL; the concept of sight.
Prerequisites and basic notions
Basic concepts of logic and of the notion of algorithm
Program
The course is structured in two parts:
------------------------
Programming
------------------------
1. Introduction to Software Development
- Procedural programming recap
- Jupyter Notebooks, Python
- Software product requirements analysis
2. Data analysis
- Loading structured and unstructured data
- Data manipulation with Numpy and Pandas
- Data visualization with Matplotlib
3. Scientific computing
- NumPy and overall Python open-source ecosystem
- Introduction to Sklearn
4. Object-oriented programming
- OOP fundamentals
- OOP in open-source products
- Redesign of procedural programming
5. Operationalization
- Operationalization with Notebooks
- Operationalization with Streamlit
------------------------
Database
------------------------
1. Introduction to database management systems (DBMS): architectures and functionalities of a DBMS. Physical and logical data independence. Data models. Concepts of model, schema and instance of a database. Languages for database systems. DBMS vs. file system. Information Systems and Data Science.
2. The relational theory: the model and the algebra.
3. Interacting with a database system: languages for the definition, querying and update of a database. SQL: select-from-where statement, join in SQL, the GROUP BY and ORDER BY clauses, using subqueries. Views.
4. Conceptual database design: conceptual data models. The Entity-Relationship model (ER). Elements of the ER model: entities, attributes, relationships, ISA hierarchies and cardinality constraints. Logical database design: logical data models, the relational data model. Elements of the relational data models: relations and integrity constraints. Mapping between conceptual schemas in ER model and logical schema in the relational model.
5. Decision support systems.
1. Datawarehouse systems
2. Designing Data Warehouse on integrated data (GAV and LAV approaches)
3. OLAP queries
6. Beyond the Relation Model: main differences with NO-SQL Models
Bibliography
Didactic methods
In-person classes and practical sessions
Learning assessment procedures
To pass the Programming exam, the students must:
- complete a Python project that showcases the fundamentals of Data Science taught during the first semester
- pass an oral exam which will test the knowledge of the aforementioned project and general programming skills
- [OPTIONAL] undertake a written midterm test which will grant at most 6 points
The combination of a successful project, oral exam, and midterm will be evaluated with a grade between 18 and 33.
The Database exam consists of a written test (2 hours), possibly supplemented by an oral, containing some open questions about theory concepts, an exercise about conceptual modeling (using the E-R model or DFM schema), and the logical modeling (using the relational model) of a database, and some exercises about the specification of queries in SQL on a given database.
Evaluation criteria
To pass the exam, the students must show that:
- they can write a Python program to analyze datasets and provide relevant data analysis, following the Data Science techniques investigated during the course lessons;
- they have understood the concepts related to the theory of relational databases and data warehouses and their design;
- they are able to describe the concepts in a clear and exhaustive way;
- they are able to apply the acquired knowledge to solve application scenarios described by means of questions and exercises.
The exam will be evaluated with at most 33 points (30 cum Laude).
Criteria for the composition of the final grade
The final mark will be the average of the marks obtained in the Programming and Database parts.
Exam language
Inglese