CS 374: Database Systems
James Madison University, Spring 2022 Semester

Course Syllabus Detailed Schedule PDBM Textbook

About the Course


Chris Mayfield, Ph.D.

This database systems course is for junior and senior undergraduates in computer science. Databases are essential to every business today, and you likely have dozens of databases on your phone! The goal of this course is to give you hands-on experience with fundamental data management techniques. We will focus mainly on the relational model and the use of SQL, a declarative programming language for writing queries. You will gain practical experience designing and programming data-driven applications that directly impact the real world.

We will also study design theory and normalization, embedding SQL in host languages like Python and Java, the basics of web development, issues in query optimization and transaction processing, and "NoSQL" databases like MongoDB and Neo4j. The course includes a strong programming component for writing queries and designing web applications. The knowledge and skills you gain in CS 374 will open the door to solving interesting and challenging problems—not to mention summer internships and career opportunities!

Unless otherwise noted, the materials on this website are freely available under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.