Click here for a pdf version of the syllabus.
Fundamental concepts of database management systems. Topics include: data models (relational, object-oriented, and others); the SQL query language; implementation techniques of database management systems (storage and index structures, concurrency control, recovery, and query processing); management of unstructured and semistructured data; and scientific data collections.
Our every day activities, our business and government management activities, and scientific discovery today are heavily based on generating, storing, managing, and accessing massive amounts of data.
We live in a data-driven world.
Database systems provide the necessary infrastructure to manage huge data collections. This class serves as a comprehensive introduction in the key concepts of the architecture of modern database systems. We will discuss both traditional approaches used modern trends that shape the data management industry today. The primary focus of the course will be on the core concepts of the internals of database systems, covering query processing, storage and memory management, query optimization, transactional processing, recovery, as well as SQL and data modeling. We will also discuss the history of database systems and their evolution over the years.
In this class we will use big parts of the seminal textbook Database Management Systems, by Raghu Ramakrishnan and Johannes Gehrke, and recent research papers that cover recent trends in data management.
In every class three students will be assigned to take notes, in order to maintain a document with collaborative notes (allowing later all students to enrich this document further). Collaborative notes is part of your class participation grade, and it is going to be helpful in reciting the material and also seeing how other classmates perceive it. You can find on the top right of the website the link to the collaborative notes.
Class Participation/Notes: 5%
Written Assignments: 20%
Programming Assignments: 30%
Midterm 1: 20%
Midterm 2: 25%
Students needing additional time may submit assignments late, up to four (4) days after the assignment due date with increasing penalty. Students who submit work with delay one (1) day will receive a penalty of 5%, two (2) days 10%, and up to four (4) days 25%.
A written assignment can no longer be submitted after four days.
A programming assignment will still be accepted beyond the four days period after communication with the instructor, at the penalty of 25%.
Boston University is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the BU experience. If you require additional accommodations please contact the Disability & Access Services office at aslods@bu.edu or 617-353-3658 to make an appointment with a DAS representative to determine which are the appropriate accommodations for your case. Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.
Discussion among students for assignments and for the project is both encouraged and expected, however, the details of each submission (assignment or project) should be original, showing the unique thinking of each student (or group of students accordingly).
While computers enable easy copying and collaboration both with other students and materials from the Internet, it is possible to use these same computers to detect plagiarism and collaboration. The course staff reserves the right to use any available computational tools, or to write new tools to search for infractions.
Students should read the Boston University Academic Conduct Code located on website: https://www.bu.edu/academics/policies/academic-conduct-code/.
If any student does not understand these terms or any material outlined in the Academic Conduct Code it is her/his responsibility to talk to the professor.