Course Info


The course aims to serve as an introduction to concepts and techniques related to managing large amounts of data, mostly---but not exclusively---with the help of Database Managements Systems (DBMS). As far as DBMS are concerned, the course covers those aspects of DBMS that are most relevant to their use; the concepts and techniques related to implementation of DBMS are only convered to the extent that they have a significant impact on the effective use of DBMS. The course mainly focuses on relational DBMS and their query language SQL.

The topics covered include:

The above topics are going to be partially covered in the lectures; however, to get a full understanding of the topics, you will have to do the readings. The readings will include chapters from a prescribed textbook as well as research papers.

Prior knowledge assumed

We assume that the student has the ability to write programs in a high-level programming language, is familiar with the fundamental concepts of discrete mathematics such as sets, relations, and first-order logic, and is familiar with the most important algorithms and data structures.

Course instructor

Dr. Dmitry Shkatov

dmitry.shkatov -AT-

Office: MSB 105

Office hours: Thursdays 13:15--14:15 or by appointment


Thursdays 10:15--12:00 in MSL 111


Thursdays 12:30--13:15 in MSL 111



Midterm exam -- 20%
Homeworks -- 40%
Final exam -- 40%

Midterm exam

The midterm exam will be written in the the week before the Fall study break (i.e., the week starting on 20 March 2017). This is a closed-book exam.


There will be two homework assignments that will be graded and will contribute 40% to the final grade. The assignments will be submitted through the course's GitHub page. Instructions for submission of homework assignments can be found here.


The course concludes with a final closed-book exam.



Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. 3rd edition. (R&G)


Jeffrey D. Ullman and Jennifer Widom. A First Course in Database Systems. 3rd edition. (U&W)

Computing Resources

You will be using Linux machines in the Mathematical Sciences labs. The machines will be equipped with all the software needed for the course.

Collaboration Policy

Maintained by Dmitry Shkatov
Last modified: Mon Feb 8 19:39:22 SAST 2016