Lectures: Tuesdays and Thursdays 1:25-2:40pm, Bryan Center Griffith Theater
Discussion: Mondays 1:25-2:40pm, Biological Sciences 111 or asynchronous online
Instructors: Jun Yang and Alex Chao
Graduate TAs (GTAs): Akshay Patti, Fangzhu Shen, Joyce Wang, Wei Lin, Jay Bagrecha
Undergraduate TAs (UTAs): Alan Chen, Alexander Whang, Andrew Takais, Bob Qian, Cheryl Li, Eric Xing, Joey Scarpa, Megan Fong, Richard Deng, Stuart Tsao, Susan Feng, Tingnan Hu, Amy Wang, Zachary Zheng

For all course-related concerns, please email compsci-316@duke.edu (which reaches all instructors/GTAs).

We intend this course to give you a solid background in database systems as well as managing and processing “big data” in general. Topics include data modeling, database design theory, data definition and manipulation languages (SQL and NoSQL), database application programming interfaces, storage and indexing, query processing and optimization, parallel and distributed data processing, transaction processing, as well as a sample of other topics such as data mining and web data. Programming projects are required.

Prerequisites: CompSci 201 and one of CompSci 210 and 250, or consent of the instructor. You will need familiarity (or ability to quickly become familiar) with the Unix command line (such as “Terminal” in Mac OS).

Book: We recommend (but not require) the following book: Database Systems: The Complete Book, by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom. 2nd Edition. Prentice Hall. 2008. See the publisher’s book page and the Amazon book page. Relevant chapters for reading are posted on the schedule page.