CS 311 - Database Systems

Course Information

Lectures: Hours: M/W/F, 2:30 - 3:20PM
Location: King 106
Instructor: Roberto Hoyle (rhoyle@oberlin.edu)
Office: Office: King 229
Office Hours: Monday : 11-12am
Wednesday: 10-11am
or by appointment
Phone: 775-8424
Discussions: We'll be using a Piazza board for discussion questions. Sign up at https://piazza.com/oberlin/fall2015/311/home. The Blackboard site will be used for grades, and possibly for quizzes. I will make sure all announcements are sent to email and Piazza, as well as to Blackboard.
Textbooks:
Database Systems Concepts, 6th Edition

Required: Database Systems Concepts, 6th 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.