Course syllabus for Databases

The course syllabus contains changes
See changes

Course syllabus adopted 2019-02-21 by Head of Programme (or corresponding).

Overview

  • Swedish nameDatabaser
  • CodeTDA357
  • Credits7.5 Credits
  • OwnerTKITE
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 52117
  • Maximum participants150
  • Block schedule
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0106 Examination 4.5 c
Grading: TH
4.5 c
  • 13 Jan 2021 pm J
  • 19 Mar 2021 am J
  • 26 Aug 2021 pm J
0206 Laboratory 3 c
Grading: UG
3 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Course round 2

  • Teaching language English
  • Application code 52123
  • Maximum participants150
  • Open for exchange studentsYes

Credit distribution

0106 Examination 4.5 c
Grading: TH
4.5 c
  • 19 Mar 2021 am J
  • 13 Jan 2021 pm J
  • 26 Aug 2021 pm J
0206 Laboratory 3 c
Grading: UG
3 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for the course the student should have successfully completed university level courses of at least 45 credits, including:
  • at least 15 credits in programming, e.g., TDA548, TDA552, TDA367, or equivalent,
  • at least 7.5 credits in mathematics or mathematic reasoning,
  • concepts in logic, sets, functions and relations that could be acquired with, e.g., TMV200

Aim

Databases are a ubiquitous feature of the information technology society, and most people have come in contact with them, either directly while using the world wide web, or indirectly through banks, the tax office, etc. A course on database systems is therefore essential to a well-rounded education in computer science.

Learning outcomes (after completion of the course the student should be able to)

On successful completion of the course the student will be able to:
Knowledge and understanding

  • explain the semantic meaning of queries using relational algebra
  • describe the effects of transactions and indexes in a relational database

Competence and skills

  • construct an Entity-Relationship diagram for a given domain
  • translate an Entity-Relationship diagram into a relational database schema
  • apply design theory concepts for relational databases such as functional dependencies and normalization
  • retrieve and modify data using a database language for respective task
  • design a database interface using constraints, views, triggers and privileges
  • implement a relational database schema and related interface using a data definition language
  • communicate with a database, through a database interface, from a software application

Judgement and approach

  • evaluate and create different models for a database domain using EntityRelationship diagrams and relational schemas
  • contrast different data models, such as the relational and the semi-structured data models

Content

The course covers the basic principles of database systems as seen by users, application programmers and database administrators. A laboratory assignment develops these topics as a running example throughout the course. These include programming in SQL, as seen by a user querying or modifying an existing database, by a database designer, and by an application programmer invoking SQL from a host language.

Course contents include:

  • entity-relationship modeling
  • functional dependencies and normalisation
  • database querying and manipulation through SQL
  • interfacing to a database from a host language (such as Java/JDBC)
  • overview of XML and other non-SQL models

Organisation

The course consists of weekly lectures and exercise sessions, as well as supervised lab sessions.

Literature

Course literature to be announced the latest 8 weeks prior to the start of the course.

Examination including compulsory elements

Written individual exam given in an examination hall and programming assignments. The programming assignments are normally carried out in pairs.

The course syllabus contains changes

  • Changes to course rounds:
    • 2020-10-29: Examinator Examinator changed from Ana Bove (bove) to Jonas Almström Duregård (almstroj) by Viceprefekt
      [Course round 1]
    • 2020-10-27: Examinator Examinator changed from Jonas Almström Duregård (almstroj) to Ana Bove (bove) by Prefekt
      [Course round 1]
    • 2020-10-27: Examinator Examinator changed from Thomas Hallgren (hallgren) to Ana Bove (bove) by Prefekt
      [Course round 2]
    • 2020-05-12: Max number of participants Max number of participants 150 added by UBS/PA
      [Course round 2]
  • Changes to examination:
    • 2020-11-17: Examination datetime Examination datetime changed from 2021-06-08 Afternoon to 2021-03-19 Morning by Anna Bove
      [2021-06-08 4,5 hec, 0106]
    • 2020-09-30: Grade raising No longer grade raising by GRULG