Skip to content

Syllabus

PDF Version

CS 374: Database Systems
James Madison University | Fall 2026

Catalog description: An introduction to database design and management with emphasis on data definition, data manipulation and query languages found in modern database management systems. 3 credits.

Prerequisite: A grade of "C–" or better in CS 240 or CS 343 or equivalent.

Class Times

Section 1: Tu/Th 12:45–2:00pm in King 260

King

Instructor

Dr. Chris Mayfield, Professor of Computer Science
Head shot

Email: mayfiecs@jmu.edu | Office Phone: 540-568-3314
The best way to contact me is by email, not via Canvas.

Office Hours: M/W/F 1:50–3:30 in King Hall 208 or online
Please see instructions for checking in when you arrive.

Course Objectives

By the end of CS 374, you should be able to:

  • Summarize features of the relational model including structured data, relational operations, and integrity constraints.
  • Construct a conceptual model (E/R diagram) and a physical model (relational design) from a general data description.
  • Recognize redundancy and update anomalies in a table design, and explain how splitting a table resolves them.
  • Write analytical queries in SQL (select, project, inner/outer join, grouping, aggregation, sorting, distinct, subqueries).
  • Design and implement a substantial data-driven application, including a Python backend that serves data over a web API.
  • Manage a successful semester-long team project (communication, source control, frequent code reviews).

Last but not least, you should have fun exploring and working with several exciting database technologies this semester!

Course Materials

There is no textbook to buy for this course. Instead, each week has an assigned reading that pairs a conversation with an AI assistant with a short list of references. You'll need an account with a general-purpose AI assistant (ChatGPT, Claude, Gemini, or similar). The free tier of any of these is sufficient for the readings.

The references are free online textbooks, official documentation, tutorials, and other pages. Use these sources to verify what the assistant tells you and to see how a topic is explained outside of a chat window. AI assistants sound confident whether or not they are correct, which is exactly why each reading points you to primary sources. Documentation in particular is what you will rely on long after this course ends, so it's worth learning to navigate.

See the Readings section of the course website for the weekly assignments and instructions.

Culture of Learning

Please help us maintain a collaborative environment that encourages questions, provides opportunities for significant learning, and actively involves everyone in discussions.

Professional Conduct

The ACM Code of Ethics (https://www.acm.org/code-of-ethics) forbids discrimination and harassment of all types. If you believe someone is violating these principles (e.g., by making inappropriate or demeaning remarks), it is your responsibility to take action by informing me or, if you feel comfortable doing so, addressing the individual directly. I will do my best to preserve your confidentiality when addressing the issue.

Inclusive Excellence

Learning environments should be built on mutual respect and support a diversity of thoughts, perspectives, experiences, and identities. Please advise me regarding any concerns or personal circumstances (including your name's proper pronunciation, any name or pronouns not reflected on MyMadison, or significant extracurricular commitments) that would be relevant to your full participation in this course.

Academic Honesty

Don't Cheat

Students who violate the Honor Code (https://www.jmu.edu/honorcode/code.shtml) will receive a reduced or failing grade in the course. Other penalties may be imposed, and all violations will be reported to the Honor Council. Automated tools may be used on any assignment, at any time, to detect inappropriate collaboration and the originality of submissions.

Generative AI

AI is a required tool in this course, and how you use AI depends on the assignment:

  • Readings: AI is the reading. Work through each prompt as an interactive tutorial.
  • Homework: Use AI to explain concepts, review your work, and debug errors. Do not ask AI to write your queries or code for you. Exams are closed-book, so make sure you can write SQL and Python without help.
  • Group project: Design the database and write the backend yourself. You will use AI to generate the front end near the end of the semester, and you must be able to explain every line of code your team submits, no matter who or what wrote it.

Methods of Evaluation

Participation

You are encouraged to work with other students during class. In-class activities and out-of-class readings have points, because your participation impacts others. If you are occasionally absent, you will have the opportunity to make up missed work.

Homework

To help prepare you for the exams, you will complete individual homework assignments. Written assignments will be submitted electronically via Canvas or Gradescope.

Late Work Policy

Deadlines exist so that we can discuss solutions in class. Therefore, late work will not be accepted without special permission. I am willing to work with you if your circumstances suddenly change. Please don't wait until the night before to get started!

Group Project

Throughout the course, you will work in a group of 3–4 students. Each group will design a database, implement a backend application, generate a front end, and present the result to the class. The project will require deliverables, performance evaluations, and code reviews.

Exams

This course is inherently cumulative; each week builds on the prior weeks. We will have two in-class exams, one in the middle and one at the end of the semester. The content and format of the exams will be similar to the assignments. There is no exam during finals week; the final exam period is reserved for project presentations.

Grading Criteria

Your grade in CS 374 will be based on:
Pie chart: 10% Participation, 20% Homework, 30% Group Project, 20% Midterm Exam, 20% Final Exam

Letter grades will be assigned on the scale A=90–100, B=80–89, C=70–79, D=60–69, F=0–59, with potential minor adjustments after considering the overall performance of the class and actual distribution of numeric scores. We will use + and – grades at our discretion. We do not assign WP or WF grades except in unusual circumstances.

University Requirements

Adding/Dropping

You are responsible for enrolling in courses and verifying your schedule on MyMadison. The last day to add a semester course without department permission is Friday, 09/04/2026. The last day to withdraw from a course with a W grade is Tuesday, 10/27/2026.

Attendance Policy

You are expected to participate in every class. I understand that things come up, and you might need to be absent occasionally. That's why I provide make-up opportunities for in-class work. If you are not feeling well or suspect you might be ill, please stay at home and get well.

Disability Services

If you have a documented disability and need accommodations in this course, please register with the Office of Disability Services (http://www.jmu.edu/ods, Student Success Center, Room 1202, 540-568-6705). ODS will provide you with an Access Plan Letter to verify your need for services and make recommendations for the course.

Excused Absences

Students who are unable to attend class due to JMU sponsored activities (such as sports, band, academic competition, field trips, etc.) or personal religious observances may request reasonable accommodations. Please notify me during the first week of class regarding potential absences so that you and I can plan ahead.

University Closings

Given severe weather and other unexpected circumstances, be sure to watch for announcements relating to make-up dates. See http://www.jmu.edu/JMUpolicy/1309.shtml for JMU's cancellation policy. Although the schedule may adapt to canceled classes, assignment deadlines generally do not change.

Your Well-Being

As a university student, there may be times when personal stressors interfere with your academic performance and/or negatively impact your daily life. If you or someone you know is experiencing mental health challenges at James Madison University, please connect with the Counseling Center located within the Student Success Center on the 3rd floor. You can learn more about available services by visiting https://www.jmu.edu/counselingctr or calling 540-568-6552. These services are free and confidential. Other available support resources to consider include, but are not limited to, the Office of the Dean of Students, the Health Center, and Learning Strategies Instruction.