CS 6422: Database System Implementation

Instructional Team

Joy Arulraj
Joy Arulraj
Creator, Instructor

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 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
    • You will need a machine which supports VT-X or AMD-V.  i.e. machines that run on i3, i5 or, i7 and later Intel processors OR Athlon 64 X2, 64 FX  and later for AMD processors. Apple M1/M2 is currently not supported.
    • You will need a minimum of 8GB RAM.
  • 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.
    • Operating system:
      • PC: Windows 10 or higher with latest updates installed
      • Mac: OS X 10.9 or higher with latest updates installed. We do not support M1/M2 Macs.
      • Linux: any recent distribution that has the supported browsers installed
    • MS Teams will be used for office hours.

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.