Course materials

CSC 361

Database System Design

Spring 2026

01 · Syllabus

Course information and policies

InstructorQixin Deng

Email[email protected]

OfficeGoodrich Hall 108

Office hoursM/W/F afternoons, 1:00–4:00 PM, or by appointment

Meeting timeT/Th, 2:40–3:55 PM

LocationGoodrich Hall 108

Course Description

This course introduces the design and implementation of database systems. Students learn relational modeling, SQL queries, joins and subqueries, indexing, file and buffer management, transactions, concurrency, recovery, and the construction of database-backed applications.

Reference Notes & Platforms

Course development uses PyCharm, MySQL Community Server 8.0.44, and MySQL Workbench 8.0.45. Students also use Python and web technologies to build interfaces that connect application logic with relational databases.

Course Goals

  • Design relational schemas and express database requirements with appropriate models.
  • Write SQL queries using selection, aggregation, joins, unions, and subqueries.
  • Explain storage, indexing, buffer management, transactions, concurrency, and recovery.
  • Develop a complete database-backed application that connects a web interface, application routes, and SQL.

Assignments

Course work includes programming exercises that require working code and a clear report describing the solution process. Work must be submitted by the stated deadline; late submissions are not accepted.

Grading

Assignments constitute 30%, the final project constitutes 30%, and exams constitute 40% of the course grade. Standard letter-grade thresholds begin with A at 93, A− at 90, and B+ at 87.

Class Rules

The classroom must remain respectful and free of discrimination, bullying, and other harmful conduct. Violations are addressed through course and college procedures.

4th Hour

Four hours are devoted to installing and configuring the required software, and ten hours are devoted to an HTML tutorial and related practice. Together these activities account for fourteen structured fourth-hour hours outside regular class meetings.

About AI

AI can be a useful assistant when used reasonably, but it must not replace a student’s thinking. Assignments must be completed independently. Students should understand and be able to reproduce and explain all submitted work; significant inconsistencies may require an in-person demonstration and may be reported under academic-integrity procedures.

02 · Contents

Course content

01

Introduction

Database-system purpose, architecture, users, data models, schemas, instances, and the role of relational database management systems.

02

Preparation

Installing and configuring MySQL, MySQL Workbench, PyCharm, Python database connectors, FastAPI, and the supporting web-development environment.

03

Queries

Relational tables and SQL data definition and manipulation, including SELECT, filtering, ordering, grouping, aggregation, INSERT, UPDATE, and DELETE.

04

Joins & Subqueries

Combining related tables with joins, merging compatible results with UNION, and expressing nested questions through correlated and uncorrelated subqueries.

05

Disk & Files

Physical storage, disk organization, blocks, records, file layouts, and the cost of moving data between persistent storage and memory.

06

Buffer Management

Buffer pools, page replacement, pinning, dirty pages, and the policies used to coordinate database pages in memory and on disk.

07

Heap Tables & Buffer Pools

Unordered record storage, page and record identifiers, insertion and scanning, and implementation of heap tables over a managed buffer pool.

08

Indexing

Search keys, primary and secondary indexes, tree-based indexes, hashing, access paths, and the tradeoffs between query speed and maintenance cost.

09

Database Design

Entity-relationship modeling, relational schemas, keys, constraints, functional dependencies, normalization, and systematic schema refinement.

10

SQL Parsing

The path from SQL text to tokens, syntax trees, semantic analysis, query plans, and executable database operations.

11

Transactions & Concurrency

ACID properties, schedules, serializability, locking, isolation, deadlock, and mechanisms for safe concurrent database access.

12

Recovery

Failures, logging, checkpoints, write-ahead logging, undo and redo, and the restoration of a consistent database state.

03 · Exam preparation

Exam requirements

Gentleman’s Rule

The student is expected to conduct himself, at all times, both on and off the campus, as a gentleman and a responsible citizen.

Exam Rules

  1. This is a closed-book exam with only a pen (no pencil) and exam paper on your desk. No calculators allowed. No outside aids or resources are allowed.
  2. Final exam will be 2 hours, other exams will be using regular class time. Please arrive on time. Late students will not be compensated for their time.
  3. You are responsible for the clarity of your own handwriting. If I cannot recognize your handwriting, you will lose points.
  4. All cell phones and other electronic devices must be turned off.
  5. If you need to use the bathroom during the exam, you need to put your cell phone on the front desk.
  6. You are not allowed to communicate with any other people (other than the professor) while taking this exam.
  7. You may not share, disseminate, or discuss these questions with any other student in another section of this course who has not taken the exam yet; doing so is considered academic dishonesty and will lead to nullification of exam grades.
  8. There will be no tolerance towards academic dishonesty, and cheating can and will lead to automatic failure from the class as well as a report to the Academic Integrity Committee.

Exam Commitments

I will complete this exam in a fair, honest, respectful, responsible, and trustworthy manner. This means that I will complete the exam as if the professor was watching my every action. I will act according to the professor’s instructions, and I will neither give nor receive any aid or assistance other than what is authorized. I know that the integrity of this exam and this class is up to me, and I pledge not to take any action that would break the trust of my classmates or professor, or undermine the fairness of this class.

Midterm PreparationDate: March 5, 2026Location: In class+
Final Exam PreparationDate: May 8, 2026 · 1:30–3:30 PMLocation:+

04 · Assignments

Practice questions

05 · Projects

Project materials