CS 2043 - Database Systems II

Instructor: Andrew L. Mackey
Meeting Times: Mondays/Wednesdays/Fridays at 1:00 - 1:50 pm
Location: Baldor 143
Instructor: Brittany Bright
Meeting Times: Tuedays/Thursdays at 12:30 - 1:45 pm
Location: Baldor 144
Lab Assistant: Cesar Cuevas
Lab Times: TBD

Course Overview

This course provides a comprehensive review of database management architecture, design and implementation issues. Topics include database system architecture, query optimization, buffer management, performance analysis, concurrency control, storage management, recovery, transaction management, and application development. Current trends in academic research and distributed databases are also surveyed. Topics in big data, NoSQL, and high performance databases in Linux/UNIX environments are also covered.

Prerequisites

Students are required to have a prior background in object-oriented programming languages (e.g. Java, C++, etc.) and database concepts (e.g. normalization, functional dependencies, SQL, etc.).

Outline

The following represents a tentative list of topics for the class.

Week Topic Lecture Material
1 Course Introduction  
2 Database Connectivity: JDBC, ODBC, CLI  
3 Database Application Development  
4 Database Systems Architecture  
5 Memory and Buffer Pools  
6 Query Processing  
7 Storage and Indexing  
8 Transactions and Concurrency  
9 Midterm Examination  
10 Transactions and Concurrency (cont.)  
11 Recovery  
12 Distributed Databases and NoSQL  
13 Hadoop and MapReduce  
14 Advanced Topics in Database Systems  
15 Research and Final Project Presentations  
16 Final Examination  

Assigned Reading

No reading material has been assigned. However, the following textbooks are optional and may supplement the material in this class:

Resources

The following resources are available for students to use.

Lab Work

Review the course website for more information