CS 6422: Database System Implementation

Instructional Team

Joy Arulraj
Joy Arulraj
Creator, Instructor
Buzz
Abhishek Vijeev
Head TA

Overview

This course offers a hands-on dive into designing and implementing relational database management systems. Students will learn about the internals of a database system—focusing on storage management, indexing, and query execution. By building a fully functional database using C++, students will tackle real-world challenges through engaging programming assignments, gaining practical experience along the way.

More information is available on the CS 6422 course website.

Course Goals

This course focuses on designing and implementing database management systems, with a strong focus on hands-on programming. By the end of this course, the student will:

  • Master the internal mechanics of relational database systems.
  • Apply advanced storage management techniques, including slotted pages and memory management.
  • Implement key indexing data structures like B+ trees and hash tables.
  • Develop techniques for parsing and executing complex SQL queries.

Sample Syllabi

Summer 2025 syllabus
Spring 2025 syllabus

Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.

Before Taking This Class...

Suggested Background Knowledge

To be successful in this class, students should meet the following prerequisites:

  • Foundational Computer Systems Courses: Completion of courses such as Data Structures and Algorithms (CS 1332) and Computer Systems and Networks (CS 2200) is required. Familiarity with operating systems (CS 3210) and introductory database systems (CS 4400) is recommended.
  • Proficiency in C++: Comfort with C++ programming is essential, as all assignments are based on this language. You should either be proficient in C++ or be prepared to learn it quickly.
  • Systems Programming Experience: A solid background in systems programming and software engineering fundamentals is necessary to manage the complexities of database system implementation.
  • Complex Problem-Solving Skills: The course involves deep analytical work and requires strong problem-solving and algorithmic thinking abilities.
  • Willingness to Learn: An openness to new technologies and advanced database concepts is crucial, as the course covers cutting-edge techniques in database systems.
Technical Requirements and Software
  • Hardware Requirements
    • Processor: A modern CPU with 4-8 cores (e.g., Intel of AMD or Apple)
    • Memory: Minimum of 4 GB
  • Software Requirements
    • Browser and connection speed: An up-to-date version of Chrome is required. We use proctoring software Honorlock for our examinations and it currently only supports Chrome. 2+ Mbps is recommended.
    • Compiler:
      • C++ 17-compatible compiler (e.g., g++ or clang++).
      • Check that you can compile code with the -std=c++17 flag.
    • Operating system:
      • Linux: A modern distribution (e.g., Ubuntu 20.04+) released within the last four years.
      • macOS: Version 11 (Big Sur) or later, including M1/M2 devices.
      • Windows: Version 10 or later (released within the last four years).

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.