CS 311 - Database Systems

Course Information

Lectures: Hours: T/Th, 3-4:20pm
Location: King 241
Instructor: Roberto Hoyle (rhoyle@oberlin.edu)
Office: Office: King 223C
Office Hours: Monday : 2:00-4:00pm
Wednesday: 10:00am-12:00pm
or by appointment
Phone: 775-8424
Discussions: We'll be using Slack for classroom discussion. Sign up at the link on Blackboard. The Blackboard site will be used for grades and quizzes. Announcements will be sent to Slack, so you are responsible for monitoring it.
Textbooks:
Database Systems Concepts, 7th Edition

Required: Database Systems Concepts, 7th Edition by Silberschatz, Korth, and Sudarshan

Prerequisites: CSCI 241 or consent of the instructor. You should be comfortable with low-level programming with procedural languages, such as C and Java. We will be discussing hardware and memory-related concepts, so CSCI 210 will be helpful, but is not a requirement.

Course Description

From the Oberlin catalog course description:

This course examines the logical design of databases using the entity-relationship, relational, and object-oriented models; and database application programming using SQL, JDBC, and PHP. Other topics include security and integrity, concurrency control and distributed database systems.

Course Goals

My goals and objectives for students taking this course are as follows:

  1. Understand how modern databases work through all the layers, from hardware, to APIs.
  2. Understand the theoretical background that influences database design.
  3. Be familiar with the different layers that go in a web-app that has a database layer, and be able to create a simple one using modern tools.
  4. Explore current trends in database systems, as well as access models.