Basics
  | Lecture: | Tuesday/Thursday 1:15pm-2:30, Science Center 199 | 
  | Lab A: | Monday 1:15 - 2:45pm, Science Center 240 | 
  | Lab B: | Monday 3:00 - 4:30pm, Science Center 240 | 
  | Instructor: | Ameet Soni | 
  | Email: |  | 
  | Office: | Science Center 253 | 
  | Office hours: | 10am to noon, Friday or by appointment | 
  | Prep Time (limited availability): | Monday 10am to noon, Tuesday/Thursday 11am to 1pm | 
  | Course Discussion: | Piazza (mandatory enrollment through Moodle) | 
 Welcome to CS44. 
Databases sit at the core of all modern commercial software/systems, managing the storage, update, and retrieval of large amounts of data in an efficient manner.  This course provides an introduction to database management systems (DBMS); in particular, concentrating on the theory, design, and implementation of relational database management systems. Topics covered include data models (ER and relational model); data storage and access methods (files, indices); query languages (SQL, relational algebra, relational calculus, QBE); query evaluation; query optimization; transaction management; concurrency control; crash recovery; and some advanced topics (distributed databases, object-relational databases). A project that involves implementing and testing components of a relational database management system is a large component of the course.
 To enroll in this course you must have completed CPSC 35 AND
CPSC 31.  This course is designated as a natural
sciences and engineering practicum (NSEP) and qualifies as a Group 2: Systems course for the CS major/minor requirements. 
Required Course Textbook
Additional references