CSCI 4707 (Fall 2023): Practice of Database Systems

Course Overview

This course covers the basic concepts and elements of database management by providing an introduction to the relational data model and its languages. The course also studies database design methodology, storage, indexing, query evaluation, and transaction management. Students gain experience using and building applications on top of the major open-sourced PostgreSQL by completing several assignments. Students also gain hands-on experience with implementing new functions into PostgreSQL source code. Through written and coding tasks as well as close interactions with the instructor and TAs, students are exposed to both the theory and engineering behind classic database systems, and can expect to build a foundational knowledge toward modern large-scale data processing and analysis.


The course is organized as a sequence of in-person lectures by the instructor, usually two times a week. The semester-long lectures consist of seven modules, where later modules normally rely on previous ones. During the semester, there will be four written homeworks and three lab exercises to deepen understanding of the subject. Two checkpoint midterms will be held during lecture hours, and the final exam will be scheduled to the end of the lectures.


The course takes the CowBook as the required text: The following optional textbooks serve as useful references:


Late submission without prior consent is not accepted. All deadlines refer to the beginning of class on that day (2:29PM Central Time).


Week Date Topic Materials Milestone
1 Wednesday, September 6 Ch.1: Overview of Database Systems 1.1
2 Monday, September 11 Ch.1: Overview of Database Systems 2.1
Wednesday, September 13 Ch.2: ER Model 2.2
3 Monday, September 18 Ch.2: ER Model 3.1 HW1 Out
Wednesday, September 20 Ch.3: Relational Model 3.2
4 Monday, September 25 Ch.3: Relational Model 4.1 Lab1 Out
Wednesday, September 27 Ch.4: Relational Algebra 4.2
5 Monday, October 2 Ch.4: Relational Algebra 5.1 HW1 Due. HW2 Out
Wednesday, October 4 Ch.5: SQL Queries 5.2
6 Monday, October 9 Ch.5: SQL Queries 6.1 Lab1 Due. HW2 Due
Wednesday, October 11 Midterm Exam 1 R.1
7 Monday, October 16 Ch.8-9: Storage and Indexing 7.1 Lab1 Due. Lab2 Out
Wednesday, October 18 Ch.8-9: Storage and Indexing 7.2
8 Monday, October 23 Ch.8-9: Storage and Indexing 8.1
Wednesday, October 25 Ch.8-9: Storage and Indexing 8.2
9 Monday, October 30 Ch.8-9: Storage and Indexing 9.1 HW3 Out
Wednesday, November 1 Ch.12-15: Query Evaluation 9.2
10 Monday, November 6 Ch.12-15: Query Evaluation 10.1
Wednesday, November 8 Ch.12-15: Query Evaluation 10.2
11 Monday, November 13 Ch.12-15: Query Evaluation 11.1 HW3 Due
Wednesday, November 15 Midterm Exam 2 R.2
12 Monday, November 20 Ch.16-18: Transaction Management 12.1 Lab2 Due. Lab3 Out. HW4 Out
Wednesday, November 22 Ch.16-18: Transaction Management 12.2 Lab2 Due.
13 Monday, November 27 Ch.16-18: Transaction Management 13.1
Wednesday, November 29 Ch.16-18: Transaction Management 13.2
14 Monday, December 4 Ch.16-18: Transaction Management 14.1
Wednesday, December 6 Ch.19: Schema Refinement 14.2
15 Monday, December 11 Ch.19: Schema Refinement 15.1
Wednesday, December 13 Review Class photo Lab3 Due. HW4 Due
16 Monday, December 18 Final Exam: 10:30AM-12:30PM, at Bruininks Hall 230

University Policies