Fall 2026 — Syllabus

Note: This is an initial, work-in-progress course description (and some links may be broken). It may be updated without prior notice.

Class hours

Monday, Wednesday, Friday 10am–10:50am ET, Rice 130 (This course will be held in person)

You are the main driver of your learning success. 
Your engagement and participation are the most important aspect of your learning experience. 
You are encouraged to do all the activities, try all concepts, experience everything 
introduced in this course, ... and do beyond the course's minimum requirements. 
The best way to learn database systems is to do it, and do it often. To help you practice  
and maximize hands-on experience, we will do lab-style activities almost every class meeting. 
Although attendance is not required, you will have the best learning experience in the course 
if you are able to attend the meeting.

Meet the team

Instructor: Upsorn Praphamontripong

Teaching Assistants
Hanzhe Dong, Michelle Gao, Kuthan Kukrer, Safaa Mahbub, Long Nguyen, Tyler Qiu, Dylan Wang, Eddie Xiao, Wenny Xie

We have fantastic teaching assistants for this course. Get to know them!

Our TAs are students too. Let them be students when they are not on the clocks as TAs.
Please only contact TAs via Piazza or in person (or via Zoom) during their scheduled office hours, 
do not contact them via email.

Overview

Have you ever wondered:
  • How data is maintained in a database?
  • How applications seamlessly interact with a database behind the scenes?
  • How software remembers exactly where a user left off?
  • What happens when a system instantly verifies your login credentials?
  • How secure is your data?
  • What can be done to make a database system cost less and run faster?

Databases are the heart of modern software. Global platforms like Amazon and Google, healthcare networks, and universities rely on them to serve millions of users daily. Because the entire public and private sectors run on data, appropriately designed databases are crucial to serving applications in the most efficient manner.

This course introduces the fundamental concepts required to design, develop, and optimize robust database systems.
image showing topics covered in this course

The course will focus on five main concepts:

  • Database Design: Design philosophies, including Entity-Relationship (E-R) modeling and normalization.
  • Query Languages: SQL syntax and foundational relational algebra.
  • Database System Implementation: The mechanics of data storage, indexing structures, and transaction processing.
  • Database Programming: Database interfacing, database security in web apps, SQL injection attacks and how to prevent them.
  • Database Types: Centered on centralized relational databases, with brief introductions to distributed databases and NoSQL databases.

To facilitate your learning process, you will explore and experience every step of database design and implementation through hands-on practice (refer to the learning activities for more information).

Everyone can be successful in this course. I hope that developing a deep understanding of database systems will help you build confidence, get excited about exploring and designing efficient data solutions, and create effective queries that potentially lead to optimal solutions. Ultimately, these practical skills will empower you to build modern software applications and make a positive, lasting impact on your software-related profession.


Learning Objectives

  • Apply industry-standard design concepts and practices, including Entity-Relationship (E-R) modeling and normalization, to create efficient database schemas.
  • Design and develop a functional database system to solve real-world problems and facilitate human daily activities.
  • Evaluate and contrast the trade-offs between centralized relational, distributed relational, and NoSQL database architectures to select the ideal system for a given application context.
  • Analyze and improve the quality of database queries, using Relational Algebra and cost estimation.
  • Develop research and inquiry-based skills that can be used to learn, connect, and develop database systems
  • Evaluate a software project for compliance with technical requirements, database constraints, and user specifications.
  • Collaborate and communicate ideas, concepts, technical documentation, and design choices effectively within a team environment.

Prerequisite

You must have passed CS 2150 or (CS 2120 and 3140) with a grade of C- or better.

Please note: the CS student services staff will monitor and remove students not meeting prerequisites in courses in which they are enrolled.

Additional expectation

This course focuses on database concepts and bridging the gaps between theory and practice. You will demonstrate your competency through the course project. Thus, having the ability to pace yourself on a semester-long project is important.

Technical Background & Self-Learning

You should have prior knowledge of software development or web development, and the programming skills needed to complete your project. Depending on whether you choose to develop a web-based project or a non-web-based project, you should be familiar with the programming language(s) of your choice or learn the language(s) on your own.

While having programming experience and knowledge of data representation is necessary, I am aware that you come in with varied programming experience. This course will guide you through the fundamental concepts of database interfacing. You will also have the opportunity to explore technologies in database programming.

The Role of Generative AI

We are not trying to teach you how to use AI to design or develop a database system. Instead, our focus is on appropriately assessing, refining, and utilizing AI-generated artifacts. Throughout the semester, you will have the opportunity to explore using AI to brainstorm ideas and draft database designs, schemas, and queries. However, rather than blindly relying on AI outputs, you will apply the core concepts learned in this class to critically analyze and evaluate those outputs. That is, you need a deep understanding of database system concepts and related skills to meaningfully assess and refine AI-generated artifacts before using them.


Textbook

image showing the Database System Concepts textbook cover page
[recommended]   Database System Concepts, Abraham Silberschatz, Henry F. Korth, S. Sudarshan, 7th Edition, McGraw-Hill / ISBN 978-0078022159 [Book website]

In addition to the recommended book, you might find the following book useful if you require another explanation of a topic

image showing the Database Illuminated cover page
Database Illuminated, Catherine M. Ricardo and Susan D. Urban, 4th Edition, Jones & Bartlett Learning / ISBN 9781284231588

Where appropriate, additional references that can be relevant for further reading will be provided on the Schedule page.

You should read the relevant material before class meeting. Doing so will allow you to ask specific questions in class that will further your understanding of the material and also better prepare you for class activities. The schedule for the readings is given on the Schedule page. The class meetings may not cover everything in the readings and will often include material not found in the readings (based on class discussion).


Learning activities

What you will do to succeed in learning?   To support your learning journey, this course is structured around five core activities. Each activity directly scaffolds into the next, ensuring that you are consistently prepared and never surprised by assignments or exams.

1. Hands-on activities

Your Practice Sandbox Sessions: These hands-on activities scattered throughout the semester. They serve as the main engine for your success, designed to get you thinking critically about the daily material and working through technical concepts.

  • Why we do this: To let you experiment with database theories, get comfortable with new concepts and technologies, get ready to work on homework assignments and the project, prepare for the exams, and practice skills database engineers need (such as technical skills, collaboration, and communication).
  • How it works: We will do hands-on activities almost every class meeting. You are highly encouraged to work in small groups, allowing you to learn from your peers and mirror real-world industry collaborative environments.
  • Grading & flexibility: These activities will not be graded. While no submission is required, completing them is the best way to prepare for homework assignments, projects, and exams. If you have to miss class, you can always complete the posted activity on your own to stay on track.

Hands-on activities will form the basis for POTDs, homework assignments, the course project, and the exams.

2. Practice-of-the-days (POTDs)

Your Checkpoints: POTDs serve as low-stakes checkpoints that help you solidify your understanding of recent topics. They give you guidelines to review your ideas, refine your thoughts, assess your understanding of the concepts in recent classes, prepare for homework assignments, project, exams, and practice technical skills and soft skills. This activity helps you develop competency in basic and advanced concepts. while giving me a metric of where our class might need additional support or extra guidance.

  • Why we do this: To help you self-assess what you have mastered and pinpoint what still needs work before or can be improved.
  • How it works: We will do POTDs on most Wednesdays, and some Mondays and Fridays. Most will be done in small groups and some will be individual exercises.
  • Grading & deadlines: You will submit your POTDs electronically. They will be graded on a completion basis. To receive full credit, complete and submit your work electronically by 10:00am ET the following day. Submissions after this time are considered late. If you miss class, completing the posted POTD independently keeps you aligned with our course pacing. Details on submission guidelines will be provided on the POTD pages.

POTDs will form the basis for homework assignments, the course project, and the exams.

3. Homework assignments

Your Skill and Competency Builders: Homework assignments are your primary tool for mastering foundational database concepts and database programming. Some homework assignments will be written and some will require programming.

  • Why we do this: To transition you from basic conceptual understanding to problem-solving.
  • How it works: Most assignments allow collaboration to help you practice team working skills and build vital professional communication habits. The maximum limit will be 3 students.
  • Grading & deadlines: Descriptions, detailed expectations and grading criteria are provided on each assignment page.

    Because each homework helps you master the database system concepts, it is important that you manage your time wisely. All homework assignments must be submitted before class on the day they are due — this will also help you focus on the class discussion instead of being worried about the homework. Any submission received after this time will be considered to be late.

  • Safety net: Keep a secure backup or a Git repository for all your work. If an unexpected technical error occurs with your submission, your backup can be used for grading purposes.

The UVA Honor Code applies to all submissions. Please refer to the collaboration and Professionalism sections of the course policies.

Homework assignments will form the basis for the course project and the exams.

4. Project & Showtime

Your Engineering Portfolio: This semester-long project is your opportunity to step into the role of a database engineer — explore and experience database design and programming in practice. You will collaborate with two or three other students in this course (the maximum group size is four), choose what to build, design a complex and realistic relational database with all accompanying evidence of its good design, complete with front-end and back-end components that will interact with the database to provide common functionalities such as record inserting, updating, deleting, browsing, and searching and filtering.

  • Why we do this: To give you a tangible software engineering project for your portfolio while sharpening your teamwork, time management, and professional communication skills.
  • Your choices: You can build a Web-based project (we provide a MySQL database and PHP-enabled webspace, though you are free to use any modern stack and hosting) or a Non-web-based project hosted locally on your machine.

    The project must be complex enough so that it is not a trivial exercise, but cannot be so complex as to take longer than two months of effort.

  • Pacing & deadlines: To help you manage a semester-long project and keep track of your progress, the project consists of several milestones (see the Project page for more information). Some milestones will be written and some will require programming.

    Because each project milestone is a step toward your final deliverable and your professional development, it is important that you manage your time wisely. Due dates are specified on the Schedule and project description pages. No late submission will be accepted.

  • Showtime: At the end of the semester, we celebrate your hard work with a project exhibition. As part of the project, all students are required to present their projects. You will demonstrate your working application and share your design choices. You are encouraged to discuss your classmates' design and implementation. You may find something interesting from their systems. This is a great opportunity to share ideas and opinions; you may learn something useful for your future projects.

    To make it fun, the class will vote for "the most practical project" and "the coolest project."

  • Safety net: Keep active version control backups or a Git repository to safeguard your project's artifacts. If an unexpected technical error occurs with your submission, your backup can be used for grading purposes.

The UVA Honor Code is in effect. Please refer to the collaboration and Professionalism sections of the course policies.

5. Exams

Your Individual Mastery: There are three in-person, in-class exams designed to give you an objective measure of your individual conceptual understanding.

  • Why we do this: To ensure that you leave this course with a strong personal grasp of the core engineering concepts, independent of AI tools or group assistance.
  • Format: These are paper-based, closed-book, no collaboration, and administered in class.
  • Your note sheet: To ease memory anxiety, you are welcome to bring a single sheet of 8.5" x 11" paper filled with your own handwritten notes (one or both sides).

    To ensure equity, printed text or digitally transcribed handwriting is not allowed. No writing on electronic device(s) and print.

  • What to bring: Remember to bring a photo ID on exam days.

To request a make-up exam, please refer to the make-up exam policy.

Achieving your academic and career goals requires more than just on-time submission.  
To help you build a sustainable routine, manage a semester-long project,  
and truly master database systems, try focusing on these four strategies:  

 1. Dedicate Your Time and Space 
    Set aside specific, predictable windows in your week solely for your studies. 
    Once you establish this schedule, stick to it. 
    Find a comfortable, distraction-free environment and, as much as possible, 
    guard that time and place against outside disruptions. 
    Consistency builds momentum.
    
 2. Build Your Support Network
    Don't isolate yourself behind a screen. 
    Make friends. Build a collaborative Database Systems learning community. 
    Form study groups, discuss challenging concepts together, 
    and lean on your peers when troubleshooting complex architectures.
       
 3. Stay Engaged by Attending Class 
    Make a personal commitment to attend our class meetings. 
    Beyond just absorbing information, showing up establishes a baseline routine, 
    resets your focus into a learning mindset, and  
    reminds you that you are navigating this intellectual challenge 
    as part of a supportive learning community. 
       
 4. Embrace Our Community's Diversity
    Every student in this course brings unique personal experiences, 
    varied programming backgrounds, and valuable technical opinions. 
    Our differences make our problem-solving sessions richer. 
    Let's respect one another, learn from each other's unique insights, 
    and achieve our engineering goals together.  

Help yourself learn – Learn with purpose and vision !!

To better support your unique strengths, diverse backgrounds, and professional passions, you are encouraged to help actively shape this course. While our core learning objectives and fundamental topics are set, the way we explore them can evolve based on your input. Please feel free to share your ideas / opinions / suggestions on things that we should do or try at any point during the semester using our Help yourself learn form. Let's work together to maximize your learning experience, practical skills, and engineering knowledge.


Assessment

How will your learning be evaluated?   The grade you will earn for this course will be based on how well you demonstrate your understanding.

Assessment and evaluation

Your overall score will be mapped to a letter grade as follows.

You getIf you score
A+ >= 98
A   >= 94
A-  >= 90
B+ >= 87
B   >= 84
B-  >= 80
C+ >= 77
C   >= 74
C-  >= 70
D+ >= 67
D   >= 64
D-  >= 60
F    < 60

Grades will not be rounded or curved in this course, and there is no grade bump.

Grading concerns and appeals — All regrade requests must be made within one week, unless otherwise specified, of the graded work being returned to the student. See Policies for more details.

Cheating/Plagiarism/Professionalism Penalty — up to 100% penalty
Inappropriate behavior toward course staff (instructor and TAs) or classmates, unauthorized homework assistance, contacting TAs when they are not on the clock, etc., can result in a penalty up to and including a failing grade in the course. This is independent of, and in addition to, the operations of the Honor Code.


Class platforms

Canvas

In addition to the course website, Canvas will be the central hub for additional course resources, scoring, announcements, and other pertinent information.

Submission site

We will use Gradescope for student submissions (POTDs, Homework Assignments, Project). If you have not used Gradescope before, you may find an introduction on how to use Gradescope video helpful. If you have any questions or encounter any issues, please post your questions or concerns in the course Piazza.

Discussion board

To foster a sense of community in the course, we will use Piazza for a discussion board. In addition to in-person assistance, this is the place where you can seek help, offer help, share your thoughts and discoveries, or discuss technical difficulties and potential troubleshooting. Information for accessing our class Piazza site will be provided on the first day of class. Ask all technical questions about the material, the assignments, or the project on Piazza.

The sooner you begin asking questions on Piazza, the sooner you will benefit from the collective knowledge of your classmates, TA, and instructor.

Use Piazza — for questions related to course material and technical issues.
Use email — for personal issues and emergencies.

Do not post grade, sensitive / confidential / personal information on Piazza.

Do not post code — any code at all — on a "public" thread in Piazza. Posting program source code publicly will usually be considered an honor code violation. If you need to include a "fragment" of your code in your post, please make your post "private" and tag instructor and TA.

Updates to the course will generally be noted on the Piazza page.


Academic integrity

The School of Engineering and Applied Science relies upon and cherishes its community of trust. We firmly endorse, uphold, and embrace the University’s Honor principle that students will not lie, cheat, or steal, nor shall they tolerate those who do. We recognize that even one honor infraction can destroy an exemplary reputation that has taken years to build. Acting in a manner consistent with the principles of honor will benefit every member of the community both while enrolled in the Engineering School and in the future.

Students are expected to be familiar with the university honor code, including the section on academic fraud.

Each assignment will describe allowed collaborations, and deviations from these will be considered Honor violations. If you are in doubt regarding the requirements, please consult with me before you complete any requirement of this course. Unless otherwise noted, exams, quizzes, and individual assignments will be considered pledged that you have neither given nor received help. Among other things, this means that you are not allowed to describe problems on an exam (or a quiz) to a student who is currently taking or has not taken it yet. You are not allowed to show exam (or quiz) papers (or copies) to another student or view another student’s exam (or quiz) papers while working on an exam (or a quiz). Sending, receiving, or copying electronic files that are part of course assignments are not allowed collaborations (except for those explicitly allowed in assignment instructions).

If course staff detect violations such as cheating, plagiarism, improperly sharing, copying another solution to an assignment (including portions thereof), or other dishonest behavior and honor code infractions, they may impose any penalty up to and including a failing grade (F) in the course. This is independent of and in addition to the operations of the Honor Code.

  • 1st Offense: You will receive zero (0) points on that assessment and your final course grade will be reduced by one full letter grade (e.g., B- goes down to C-)
  • 2nd Offense: Automatic F in the course

Students who have had prohibited collaborations may not be allowed to work with partners on remaining homework assignments.


Students with disabilities or learning needs

It is my goal to create a learning experience that is as accessible as possible. If you anticipate any issues related to the format, materials, or requirements of this course, please meet with me outside of class so we can explore potential options.

Students with disabilities may also wish to work with the Student Disability Access Center (SDAC) to discuss a range of options to removing barriers in this course, including official accommodations. We are fortunate to have an SDAC advisor, Courtney MacMasters, physically located in Engineering. You may email her at cmacmasters@virginia.edu to schedule an appointment.

For general questions please visit the SDAC website: sdac.studenthealth.virginia.edu. If you have already been approved for accommodations through SDAC, please send me your accommodation letter and meet with me so we can develop an implementation plan together.


Religious accommodations

It is the University's long-standing policy and practice to reasonably accommodate students so that they do not experience an adverse academic consequence when sincerely held religious beliefs or observances conflict with academic requirements.

Students who wish to request academic accommodation for a religious observance should submit their request to me by email as far in advance as possible. Students who have questions or concerns about academic accommodations for religious observance or religious beliefs may contact the University's Office for Equal Opportunity and Civil Rights (EOCR) at UVAEOCR@virginia.edu or 434-924-3200.

Accommodations do not relieve you of the responsibility for completion of any part of the coursework missed as the result of a religious observance.


Safe environment

The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. If you or someone you know has been affected by power-based personal violence, more information can be found on the UVA Sexual Violence website that describes reporting options and resources available – www.virginia.edu/sexualviolence.

The same resources and options for individuals who experience sexual misconduct are available for discrimination, harassment, and retaliation. UVA prohibits discrimination and harassment based on age, color, disability, family medical or genetic information, gender identity or expression, marital status, military status, national or ethnic origin, political affiliation, pregnancy (including childbirth and related conditions), race, religion, sex, sexual orientation, veteran status. UVA policy also prohibits retaliation for reporting such behavior.

If you witness or are aware of someone who has experienced prohibited conduct, you are encouraged to submit a report to Just Report It (justreportit.virginia.edu) or contact EOCR, the office of Equal Opportunity and Civil Rights.

If you would prefer to disclose such conduct to a confidential resource where what you share is not reported to the University, you can turn to Counseling & Psychological Services (CAPS) and Women's Center Counseling Staff and Confidential Advocates (for students of all genders). 

My goal is to provide a safe and equitable learning environment for all students. Students and course staff are all expected to treat each other with respect. As your course instructor and as a person, know that I care about you and your well-being and stand ready to provide support and resources as we can. As a faculty member, I am a responsible employee, which means that I am required by University policy and federal law to report certain kinds of conduct that you report to me to the University's Title IX Coordinator. The Title IX Coordinator's job is to ensure that the reporting student receives the resources and support that they need, while also determining whether further action is necessary to ensure survivor safety and the safety of the University community.


Student support team

If you are feeling overwhelmed, stressed, or isolated, there are many individuals here who are ready and wanting to help. The Student Health Center offers Counseling and Psychological Services (CAPS) for all UVA students. Call 434-243-5150 (or 434-972-7004 for after hours and weekend crisis assistance) to get started and schedule an appointment. If you prefer to speak anonymously and confidentially over the phone, Madison House provides a HELP Line at any hour of any day: 434-295-8255.

If you or someone you know is struggling with gender, sexual, or domestic violence, there are many community and University of Virginia resources available. The Office of the Dean of Students, Sexual Assault Resource Agency (SARA), Shelter for Help in Emergency (SHE), and UVA Women's Center are ready and eager to help. Contact the Director of Sexual and Domestic Violence Services at 434-982-2774.

There are many resources available to you when you experience academic or personal stresses. In addition to your instructor, the School of Engineering and Applied Science offers free tutoring, and has staff members located in Thornton Hall who you can contact to help manage academic or personal challenges. Academic support programs around Grounds offers tutoring for a variety of other courses. Please do not wait until the end of the semester to ask for help.

Learning

Health and wellbeing

  • Kelly Garrett, Assistant Dean of Students, Student Safety and Support, mwu5gs@virginia.edu
  • Elizabeth Ramirez-Weaver, CAPS counselor
  • Katie Fowler, CAPS counselor

You may schedule time with the CAPS counselors through Student Health When scheduling, be sure to specify that you are an Engineering student. You are also urged to use TimelyCare for either scheduled or on-demand 24/7 mental health care.


Community and Identity

The Center for Connection (The Connect) is a dedicated student space within UVA Engineering that fosters academic success and personal growth. Through its programs and initiatives, The Connect helps students strengthen their engineering identity while providing resources to help them thrive during their studies and beyond. Our work centers on three key areas: student belonging and development, academic support, and community programming grounded in intentional, data-driven strategies.

The Connect features an open study area, a flexible event space, and on-site staff who provide direct support and advising to students. It is part of the Office of Community, Opportunity, and Engagement.


Top

Acknowledgments:
** This course is generously supported by Google by giving us access to their Cloud Platform.


Copyright © 2026 Upsorn Praphamontripong
Released under the Creative Commons License CC-BY-NC-SA 4.0 license.
Last updated 2026-08-19 14:48