Credits
6
Types
Compulsory
Requirements
Department
ESSI
This course gives an overview of what is a database, what is a database model, and what are the different types of users and languages​​. Specifically we go deep into the relational database model and the database logic components it provides. Students practice the creation and use of these components by means of the SQL language. The course includes an introduction to the design of relational databases, and the study of important issues for the use of databases in the development of software systems such as privileges, transactions, and indexs. The course finishes with an introduction to the new NOSQL database management systems.

Teachers

Person in charge

  • Antoni Urpi Tubella ( )
  • Carme Quer Bosor ( )

Others

  • Albert Renom Vilaró ( )
  • Carme Martin Escofet ( )
  • Jordi Casanovas Muñoz ( )
  • Maria Jose Casañ Guerrero ( )
  • Maria Teresa Abad Soriano ( )
  • Pilar Nivela Alos ( )
  • Sergi Nadal Francesch ( )

Weekly hours

Theory
1
Problems
1
Laboratory
2
Guided learning
0.4
Autonomous learning
5.6

Competences

Technical Competences

Common technical competencies

  • CT2 - To use properly theories, procedures and tools in the professional development of the informatics engineering in all its fields (specification, design, implementation, deployment and products evaluation) demonstrating the comprehension of the adopted compromises in the design decisions.
    • CT2.2 - To demonstrate knowledge and capacity to apply the characteristics, functionalities and structure of data bases, allowing an adequate use, design, analysis and implementation of applications based on them.
    • CT2.3 - To design, develop, select and evaluate computer applications, systems and services and, at the same time, ensure its reliability, security and quality in function of ethical principles and the current legislation and normative.
    • CT2.4 - To demonstrate knowledge and capacity to apply the needed tools for storage, processing and access to the information system, even if they are web-based systems.
  • CT8 - To plan, conceive, deploy and manage computer projects, services and systems in every field, to lead the start-up, the continuous improvement and to value the economical and social impact.
    • CT8.6 - To demonstrate the comprehension of the importance of the negotiation, effective working habits, leadership and communication skills in all the software development environments.
    • CT8.7 - To control project versions and configurations.

Transversal Competences

Appropiate attitude towards work

  • G8 - To have motivation to be professional and to face new challenges, have a width vision of the possibilities of the career in the field of informatics engineering. To feel motivated for the quality and the continuous improvement, and behave rigorously in the professional development. Capacity to adapt oneself to organizational or technological changes. Capacity to work in situations with information shortage and/or time and/or resources restrictions.
    • G8.2 - To be rigorous in the professional development. To be motivated and have a proactive attitude for the quality in the work. Capacity to adapt oneself to organizational or technological changes. Capacity to work in situations with information shortage and/or time and/or resources restrictions.

Objectives

  1. To have a general vision of what a database is, what is a database model, the types of users of databases and which are the categories of databases languages.
    Related competences: CT2.2, CT2.4,
  2. To know the objectives of a database management system and their architecture.
    Related competences: CT2.2, CT2.4,
  3. To understand the database relational model, their languages (SQL and relational algebra) and the usual components of a relational database.
    Related competences: CT2.2, CT2.4,
  4. To be able to define, create and manipulate usual relational database components.
    Related competences: CT2.2, CT2.4, CT2.3,
  5. To be able to build programs to manage relational databases.
    Related competences: CT2.2, CT2.4, CT2.3,
  6. To be able to apply some defined quality criteria to choose between several SQL statements, database components, or programs, that manage a database and implement the same functionality.
    Related competences: CT2.4, CT2.3,
  7. To be able to apply some defined quality criteria to choose which types of database components or management programs are more suitable for the implementation of a certain behavior of a software.
    Related competences: CT2.4, CT2.3,
  8. To have a general vision of how the design of a database should be included in a software development process.
    Related competences: CT2.2, CT2.3,
  9. To be able to obtain a database relational model starting from a conceptual models in UML.
    Related competences: CT2.2, CT2.3,
  10. To know the concept of database transaction and its implications.
    Related competences: CT2.2, CT2.4, CT2.3,
  11. To know how to identify the different types of interference that can occur between database transactions and their relationship with the isolation levels that defines the SQL Standard.
    Related competences: CT2.2, CT2.4, CT2.3,
  12. To know the locking concurrency control technique.
    Related competences: CT2.2, CT2.4, CT2.3,
  13. To know the possible physical structures for storing data and its implications for in terms of efficiency.
    Related competences: CT2.4, CT2.3,
  14. To know the access methods to data and its implications in terms of efficiency.
    Related competences: CT2.4, CT2.3,
  15. To be able to participate with a proactive atitude in making exercices in teams of 2 or more students, according to the roles assigned to each student that can change during the execution of the exercises.
    Related competences: G8.2, CT8.6,
  16. To be able to reach to a solution of the exercises that meets the quality criteria defined with limited time and resources.
    Related competences: G8.2, CT8.6, CT8.7,
  17. To be able to configure the environment for the implementation and execution of database components and programs that access to databases, taking as input the resources offered to students.
    Related competences: CT8.7,
  18. Understand the main features of NOSQL databases systems, understand how they differ with respect to relational systems, and have seen a classification of types of NOSQL systems that exist today.
    Related competences: CT2.2,

Contents

  1. Introduction
    Database Concept. Design models and databases. Types of users. Categories of database languages. Database Management Systems (DBMS). Desirable objectives for databases that DBMS should provide. Architecture of DBMS.
  2. Relational model
    Objectives and origin. Data structure with which to construct relational databases. Operations that provides the relational model to manipulate and query data. Integrity rules to be met by the data in a relational database.
  3. Languages: Relational Algebra and SQL
    Introduction. Relational Algebra: relational algebra operations; queries. SQL: create tables, insert, delete and update of rows in a table, queries on a database. Considerations and quality criteria about how to write queries.
  4. Logical database components
    Concept of a logical database component: data and control components. Introduction to the data components: schemes, tables and domains, assertions and views. Introduction to the control components: stored procedures, triggers and privileges.
  5. Stored Procedures and Triggers
    Implementation of stored procedures in PL/pgSQL language. Implementation of triggers in PostgreSQL. Considerations and quality criteria in the design and implementation of procedures and triggers.
  6. SQL Programming
    Programming in Java and JDBC. Considerations and quality criteria in the design and implementation of programs that access databases.
  7. Introduction to the design of relational databases
    Stages in the design of a database. Introduction to the understanding of simple UML conceptual models. Translation of simple UML conceptual models to relational model databases.
  8. Transactions and concurrency
    Concept of transaction. ACID properties of transactions. Interference between transactions. Serialitzability. Recoverability. Concurrency control techniques. Isolation Levels. Locking and isolation levels.
  9. Physical storage structures and access methods
    Introduction. Access methods to perform queries and updates in a database. Costs of the different access methods.
  10. NOSQL
    Introducción. Diferencias con los SGBD relacionales tradicionales. Objetivos de los SGBD NOSQL. Ejemplos de sistemas que requieren este tipo de SGBD.

Activities

Activity Evaluation act


T/P. Study of the databases introduction

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has.
  • Autonomous learning: After the class students: Read and study the material and the notes that they take during the class.
Objectives: 1 2
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

T/P. Study of the databases relational model

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has. Solves, in teams, the exercises indicated by the teacher.
  • Autonomous learning: After the class students: Read and study the material and notes that they take during the class.
Objectives: 3
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

T/P. Study of the data logical components

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has. Solves, in teams, the exercises indicated by the teacher.
  • Autonomous learning: Previously to the class the teacher: Can state the material that the student should read. In this case the student: Reads and studies this material. After the class students: Read and study the material and solves exercises related with the subject.
Objectives: 3 4
Contents:
Theory
1h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

T/P. Study of control logical components

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has. Solves, in teams, the exercises indicated by the teacher.
  • Autonomous learning: Previously to the class the teacher: Can state the material that the student should read. In this case the student: Reads and studies this material. After the class students: Read and study the material and solves exercises related with the subject.
Objectives: 3 4 7
Contents:
Theory
1h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

T/P. Exercises: Privileges, views and assertions

Teacher: Indicates the exercises that the students must solve during the class with their help. Student: Solves the exercises with the help of the teacher.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of the exam. Solve exercises from the lists they have at their disposal.
Objectives: 3 4 7
Contents:
Theory
0h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h

T/P. First problems exam: Privileges, views and Assertions

Teacher: Presents the work method to be followed during the exam (collaborative learning technique in teams of 3 students), and forms the teams; Provides the statement of one or more exercises; Compilates the exercises at the end of class. Student: Solves the exercises following the working method above, interacting with his/her team mates following the collaborative learning technique rules; Gives the exercises to the teacher.
Objectives: 3 4 6 15 16
Week: 5
Type: problems exam
Theory
0h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h

T/P. Study of the introduction to design of relational databases

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has. Solves, in teams, the exercises indicated by the teacher.
  • Autonomous learning: After the class students: Read and study the material and notes that they take during the class.
Objectives: 8 9
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

T/P. Exercises: Translation from UML to relational model

Teacher: Indicates the exercises that the students must solve during the class with their help. Student: Solves the exercises with the help of the teacher.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of the exam. Solve exercises from the lists they have at their disposal.
Objectives: 8 9
Contents:
Theory
0h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h

T/P. Second problems exam: translation to relational model

Teacher: Presents the work method to be followed during the exam (collaborative learning technique in teams of 3 students), and forms the teams; Provides the statement of one or more exercises; Compilates the exercises at the end of class. Student: Solves the exercises following the working method above, interacting with his/her team mates following the collaborative learning technique rules; Gives the exercises to the teacher.
Objectives: 9 15 16
Week: 7
Type: problems exam
Theory
0h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h

T/P. Study of transactions and concurrency

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has. Solves, in teams, the exercises indicated by the teacher.
  • Autonomous learning: Previously to the class the teacher: Can state the material that the student should read. In this case the student: Reads and studies this material. After the class students: Read and study the material and solves exercises related with the subject.
Objectives: 10 11 12
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

T/P. Exercises: Transactions and Concurrency

Teacher: Indicates the exercises that the students must solve during the class with their help. Student: Solves the exercises with the help of the teacher.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of the exam. Solve exercises from the lists they have at their disposal.
Objectives: 10 11 12
Contents:
Theory
0h
Problems
3h
Laboratory
0h
Guided learning
0h
Autonomous learning
3h

T/P. Third problems exam: Transactions and concurrency

Teacher: Presents the work method to be followed during the exam (collaborative learning technique in teams of 3 students), and forms the teams; Provides the statement of one or more exercises; Compilates the exercises at the end of class. Student: Solves the exercises following the working method above, interacting with his/her team mates following the collaborative learning technique rules; Gives the exercises to the teacher.
Objectives: 11 12 15 16
Week: 10
Type: problems exam
Theory
0h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h

T/P. Study of storage and access methods

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has. Solves, in teams, the exercises indicated by the teacher.
  • Autonomous learning: Previously to the class the teacher: Can state the material that the student should read. In this case the student: Reads and studies this material. After the class, the students: Read and study the material and solves exercises related with the subject.
Objectives: 13 14
Contents:
Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

T/P. Exercises: Storage and access methods

Teacher: Indicates the exercises that the students must solve during the class with their help. Student: Solves the exercises with the help of the teacher.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of the exam. Solve exercises from the lists they have at their disposal.
Objectives: 13 14
Contents:
Theory
0h
Problems
2h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

T/P. Fourth problems exam: storage and access methods

Teacher: Presents the work method to be followed during the exam (collaborative learning technique in teams of 3 students), and forms the teams; Provides the statement of one or more exercises; Compilates the exercises at the end of class. Student: Solves the exercises following the working method above, interacting with his/her team mates following the collaborative learning technique rules; Consults just the material and his/her class notes; Gives the exercises to the teacher.
Objectives: 13 14 15 16
Week: 14
Type: problems exam
Theory
0h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h

T/P NOSQL

Teacher: Exposes the contents related with the subject to the students. Student: Listens carefully, takes notes that he/she considers necessary; Asks questions he/she has.
  • Autonomous learning: After the class, the students: Read and study the material and solves exercises related with the subject.
Objectives: 1 18
Contents:
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h

T/P. Review

Teacher: Answers questions of the students about the different subjects studied in the course. Proposes some exercises to do. Explains a correct solution of the exercises. Student: Solves the exercises with the help of the teacher.
  • Autonomous learning: The student goes through the subjects studied in the course. He/she compile the doubts that he/she has on every subject and on the exercises that have been made.
Objectives: 3 4 5 6
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
5h

L: Environment preparation and preliminary study

Prepare the environment for deployment, creation and execution of database components from resources provided by the teacher. Preliminary study of the database that will be used in the first laboratory classes and of some basic SQL sentences.

Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Study of SQL 1

Teacher: Presents the activities to do in the class. Forms teams of 2 students. Opens the questionnaire moodle / LearnSQL that students should solve during the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
Objectives: 3 4 6
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
0h

L. Study of SQL 2

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the student: Solve a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 3 4 6 15 16 17
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Exercises: SQL

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the student: Solve a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 3 4 6 15 16 17
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Study of relational algebra

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of study that has provided the teacher through the moodle / LearnSQL. Solve a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 3
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. First laboratory exam: Algebra and SQL

Professor: Opens a questionnaire of moodle / LearnSQL with one or more exercises. The student: Solves the exercises along with its lab teammate; Consults only the material, notes and information offered through moodle / LearnSQL; Uploads the exercises solutions to the moodle / LearnSQL.
Objectives: 4 6 15 16 17
Week: 7 (Outside class hours)
Type: lab exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
1h
Autonomous learning
2h

L. Exercises: Stored Procedures basics

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of study that has provided the teacher through the moodle / LearnSQL. Solves a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 15 16 3 4 6 17
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Exercises: Triggers basics

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of study that has provided the teacher through the moodle / LearnSQL. Solves a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 4 6 15 16 17
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Exercises: Stored Procedures / Triggers.

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the student: Solve a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 4 6 15 16 17
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Second laboratory exam: Stored Procedures / Triggers

Professor: Opens a questionnaire of moodle / LearnSQL with one or more exercises. The student: Solves the exercises along with its lab teammate; Consults only the material, notes and information offered through moodle / LearnSQL; Uploads the exercises solutions to the moodle / LearnSQL.
Objectives: 4 6 7 15 16 17
Week: 11 (Outside class hours)
Type: lab exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
1h
Autonomous learning
2h

L. Exercises: Programming with SQL - JDBC basics

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of study that has provided the teacher through the moodle / LearnSQL. Solves a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 4 6 15 16 17
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Exercises: Programming with SQL - JDBC

Professor: Presents the activities to do in the class. In the first five minutes asks the students to answer a question individually and compiles the answers. Opens the questionnaire moodle / LearnSQL that students should solve during the class. Answers questions of the students. The student individually: Answer the question stated by the teacher in the first five minutes of the class. The student, along with his teammate: Works on the subject stated by the teacher. Solves a questionnaire that helps you to see if both members of the team have attained the knowledge on the subject of study.
  • Autonomous learning: Previously to the class the students: Read and study the material and information on the topic of study that has provided the teacher through the moodle / LearnSQL. Solves a questionnaire of moodle / LearnSQL, opened a week earlier by the teacher on the subject.
Objectives: 3 5 15 16 17
Contents:
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

L. Third laboratory exam: Programming with SQL - JDBC

Professor: Opens a questionnaire of moodle / LearnSQL with one or more exercises. The student: Solves the exercises along with its lab teammate; Consults only the material, notes and information offered through moodle / LearnSQL; Uploads the exercises solutions to the moodle / LearnSQL.
Objectives: 5 6 7 15 16 17
Week: 14 (Outside class hours)
Type: lab exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
1h
Autonomous learning
2h

Reviews and resolution of doubts about the exams

Hours spent to the review and/or the resolution of doubts about exams, if they are necessary.

Theory
0h
Problems
2h
Laboratory
8h
Guided learning
0h
Autonomous learning
0h

Final exam

The student: Solves the exam individually. It is not possible to use any material.
Objectives: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Week: 15 (Outside class hours)
Type: final exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
3h
Autonomous learning
27h

Teaching methodology

Theory/Problem classes (2.3 hours per week).
Independent learning: To prepare the classes, the students may have to read and understand some materials stated by the teacher. After classes, the student have to review and do exercices about the subject studied in class.
Theory classes. In the theory classes the teacher present a part of the contents of the course. Usually the teachers use slides, which the students should bring to the classes.
Problem classes. In the problem classes the students solve exercises on the content presented during the theory classes. These exercises are done in teams of three students following a cooperative learning technique.
Problem exams. There are four problem classes that consists on one exam and that constitute an evaluative instrument of the course.
Theory and problems evaluation: There are four problem classes that consists on one exam and that constitute an evaluative instrument of the course.

Laboratory classes (1.7 hours per week).
Independent learning activities: The contents that are the aim of the laboratory classes are studied independently and individually by students at home. The required level of independent learning is increased throughout the course. Each week before the lab class students have home work to do that ends with the resolution of a questionnaire of moodle / LearnSQL.
Laboratory classes: The work at classes is in teams of 2 students. The students have the opportunity to share concerns with his/her teammate on the home work of the previous weed, and if it is necessary they ask the teacher questions unresolved. Then the students do the activities stated by the teacher and finally they solve a moodle/LearnSQL questionnaire.
Laboratory evaluation: There are three weeks in which there are not laboratory classes. In these weeks there will be a laboratory exam that constitutes an evaluative instrument of the course. In the rest of weeks, during the first five minutes of the laboratory classes the students answer a question individually. The answers of the students are compiled by the teacher.

Resources related to laboratory classes:
All documents, materials and questionnaires related with the course are available to students through the platform moodle/LearnSQL.
Apart from the feedback that teachers give to students during classes, the platform moodle/LearnSQL includes a corrector of database exercises that provides feedback to students about exercises solutions. In the laboratory exams the students use this corrector to deliver the solution of the exercises and to obtain feedback and if they wish to perform several retries. Teachers review and evaluate the exam solutions taking into account the grade of the corrector and the quality criteria established.
Classes and laboratory exams are held in a computer classroom. The servers used during the classes, are also available for access from home, so they can be used in independent learning activities.

Students will be evaluated just in case they assist to the GROUP WHERE ARE ENROLLED, both in classes of theory/problems and in classes of laboratory.

Evaluation methodology

The grade of the course is based on technical competencies:

- NEF: Final exam grade.

- NPR: Problems grade. It is the average of the grades of the four problems exam.

- NLB: Laboratory grade. It is calculated as the 40% of the grade of the part algebra / SQL, 30% of the grade of the part of procedures / triggers and 30% of the grade of the part of programming with SQL - JDBC. The grade of each part depends on: the grade of the exam of the part (NEL), the average of the grades of the questions that the students answer at the beginning of the laboratory classes (NPCLL). If NPCLL> = 5 then the grade of each part corresponds to 100% NEL, on the contrary corresponds to 85% NEL.

Course grade = Max(NPR*0.15+NLB*0.25+NEF*0.60, NLB*0,25+NEF*0,75)

Students will be evaluated just in case they assist to the GROUP WHERE ARE ENROLLED, both in classes of theory/problems and in classes of laboratory.

Any attempt of fraud during the course will imply the application of the general academic regulations of the UPC

Grades of the generic competence: The possible grades are A, B, C or D (where A corresponds to an excellent level of accomplishment, B corresponds to a desired level of accomplishment, C corresponds to a sufficient level of accomplishment and D corresponds to a level not sufficient). A good evaluation of this competence will be for the students that:
- Act with rigor in the classes (their attitude in class is appropriate according to the guidelines given for different types of class, either theory, problems or laboratory).
- Act with respect towards peers, and in case of teams work with positive interdependence respect to the other team members.
- Collaborate actively in the activities of cooperative learning in teams or pairs that are made. Accept and perform the roles assigned to the team members during these activities.
- Do exercises arriving to solutions (in the laboratory study questionnaires) that pass all the test games (no matter how many attempts they need).
- Do exercises arriving to solutions (in the exams) that meet the quality criteria established in the course for each type of exercise.
- In general, complete the exercises in the time and resources provided.

Bibliography

Basic:

Complementary:

Web links

Previous capacities

To know the data structures in internal memory. To be able to implement programs of medium complexity.