BBM471 DATABASE MANAGEMENT SYSTEMS

FALL 2019

INSTRUCTOR: Engin Demir

TAs: Nebi Yılmaz, Merve Özdeş

LECTURES: Wednesday 10:00-12:45 @ D9 LAB: Monday 13:00-14:45 @ Computer Lab

COURSE DESCRIPTION: This is a course on database systems that is intended for advanced (3rd or 4th year) undergraduates in computer science. The course offers an introduction to database system concepts in general, particularly relational database design, terminology and techniques to create and modify database management systems (DBMS). Relational algebra, use of SQL query language and transaction management will be covered in detail. In the end of the course, the students are expected to gain an in-depth understanding on how the databases are designed, queried and maintained.

While not mandatory, it is recommended that the students take BBM 371 prior to BBM 471. In addition, the students are expected to have a sound knowledge of data structures and algorithms.

TEXTBOOKS:

 

GRADING POLICY:

Coursework

BBM471

 

Midterm Exams (2x25)

50

Final Exam

50

Lab

BBM473

Lab Exercises (8x5)

40

Quizzes (6x5)

30

Project

30

A minimum of 70% attendance to lectures and 80% attendance to laboratory sessions are compulsory.

COMMUNICATION:

The course webpage will be updated regularly throughout the semester with lecture notes, programming and reading assignments and important deadlines. All other communications will be carried out through Piazza. Please enroll it by following the links https://piazza.com/hacettepe.edu.tr/fall2019/bbm471

POLICIES:

All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated. In short, turning in someone else's work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.

 

CLASS SCHEDULE

WEEK

DATE

BBM471 TOPIC

1

9.10.2019

Introduction to Database Management Systems

2

16.10.2019

E/R Model

3

23.10.2019

Relational Data Model

4

30.10.2019

SQL

5

6.11.2019

Advanced SQL

6

13.11.2019

Relational Algebra

7

20.11.2019

Midterm Exam 1

8

27.11.2019

Designing Relational Databases

9

4.12.2019

Normalization

10

11.12.2019

Query Optimization

11

18.12.2019

Midterm Exam 2

12

25.12.2019

Transactions

13

1.1.2020

New Year Holiday

14

8.1.2020

Concurrency Control & Recovery Mechanisms

 

LAB SCHEDULE

WEEK

LAB DATE

BBM473 TOPIC

LAB SESSION

PROJECT

1

7.10.2019

Introduction to Database Management Systems

Tutorial: DBMS Project


2

14.10.2019

Design with E/R Model

Tutorial: Visual Paradigm Community Edition

Phase 0: Proposals

3

21.10.2019

Design with E/R Model

Exercise 1


4

28.10.2019

Writing SQL queries

Exercise 2

Phase 1: Design

5

4.11.2019

Writing Advanced SQL Queries

Exercise 3


6

11.11.2019

Writing Advanced SQL Queries

Exercise 4

Phase 2: Definition

7

18.11.2019


Project Feedback


8

25.11.2019

Relational Algebra

Exercise 5


9

2.12.2019

Relational Data Model and Tables

Exercise 6


10

9.12.2019

Normalization

Exercise 7

Phase 3: Implementation & Refinement

11

16.12.2019


Project Feedback


12

23.12.2019

Query Optimization

Exercise 8


13

30.12.2019

Transaction Management

Exercise 9


14

6.1.2019


Project Demonstrations

Phase 4: Final