Syllabus
Syllabus
Syllabus
Description
This course covers the fundamental concepts of database systems. Topics include
data models (ER, relational, and others); query languages (relational algebra, SQL,
and others); implementation techniques of database management systems (index
structures, concurrency control, recovery, and query processing); management of
semistructured and complex data; distributed and noSQL databases.
Prerequisites
CAS CS 112, or the equivalent
Instructor
David G. Sullivan, Ph.D. ([email protected])
See the course website for the instructor and TA office hours.
Teaching Assistants
Seonghoo Kim ([email protected])
Sueda Nalcaci ([email protected])
COVID-19-Related Expectations
To promote a safe learning environment, students must observe current University
policies: https://www.bu.edu/shs/covid-19
Course Materials
• Required: CS 460 Coursepack. This contains all of the lecture notes for the
course. More detail will be provided in class and in Lab 0.
• Optional: Database Systems: The Complete Book (2nd edition) by Hector
Garcia-Molina, Jeff Ullman, and Jennifer Widom (ISBN 978-0131873254,
Pearson Prentice Hall, 2009). This book is not required.
page 1 of 4
CAS CS 460: Introduction to Database Systems Syllabus, Fall 2022
Collaboration Policy
You are strongly encouraged to collaborate with one another in studying the lecture
materials and preparing for quizzes and exams.
Problem sets will primarily involve individual-only problems that you must complete
on your own. We may occasionally include a pair-optional problem that you may
complete either alone or with a partner.
For both types of problems, you may discuss ideas and approaches with others
(provided that you acknowledge this in your solution), but such discussions should be
kept at a high level and should not involve actual details of the code or of other types
of answers. You must complete the actual solutions on your own (or, in the case
of a pair-optional problem, with your partner if you choose to use one).
Rules for working with a partner on pair-optional problems:
• You may not work with more than one partner on a given assignment.
(However, you are welcome to switch partners between assignments.)
• You may not split up the work and complete it separately.
• You must work together (at the same computer or via a Zoom meeting) for
all problems completed as a pair, and your work must be a collaborative effort.
• You and your partner must both submit the same solution to each problem that
you did as a pair, and you must clearly indicate that you worked on the problem
as a pair by putting your partner's name at the top of the file.
Academic Misconduct
We will assume that you understand BU’s Academic Conduct Code:
http://www.bu.edu/academics/policies/academic-conduct-code
You should also carefully review the CS department's page on academic integrity:
http://www.bu.edu/cs/undergraduate/undergraduate-life/academic-integrity
Prohibited behaviors include:
• copying all or part of someone else's work, even if you subsequently modify it;
this includes cases in which someone tells you what to write for your solution
• viewing all or part of someone else's work (with the exception of work that you
and your partner do together on a pair-optional problem)
• showing all or part of your work to another student (with the exception of work
that you and your partner do together on a pair-optional problem)
• consulting solutions from past semesters, or those found online or in books
• posting your work where others can view it (e.g., online)
• receiving assistance from others or collaborating with others during an exam,
or consulting materials except those that are explicitly allowed.
Incidents of academic misconduct will be reported to the Academic Conduct
Committee (ACC). The ACC may suspend/expel students found guilty of misconduct.
At a minimum, students who engage in misconduct will have their final
grade reduced by one letter grade (e.g., from a B to a C).
page 2 of 4
CAS CS 460: Introduction to Database Systems Syllabus, Fall 2022
Other Policies
Laptops: Students taking CS courses are expected to have a laptop capable of running
a currently supported version of Microsoft Windows, Mac OS X, or Linux. See this
page for more info: https://www.bu.edu/cs/undergraduate/undergraduate-life/laptops
Late problem sets: Problem sets must be submitted by the date and time listed on the
assignment (typically by 11:59 p.m.). There will be a 10% deduction for submissions
up to 24 hours late. We will not accept any homework that is more than 24
hours late. Plan your time carefully, and don’t wait until the last minute so you will
have ample time to ask questions and obtain assistance from the course staff.
Pre-lecture preparation: To help you prepare for lecture, you will often be required to
read or review some online materials. You may also be required to complete an online
quiz to demonstrate that you have completed the preparation. Your work on these
quizzes will not typically be graded for correctness, but it should demonstrate that
you have adequately prepared for lecture. The pre-lecture tasks must be submitted
by the specified date and time. Late pre-lecture work will not be accepted.
The participation portion of your grade will be based on your completion of the pre-
lecture quizzes and in-lecture questions, and on your consistent participation in the
lab sessions. You will receive full credit for participation if you earn at least 85% of
the points for the pre-lecture/in-lecture questions and participate in at least 85% of
the lab sessions. If you earn x% of the pre-lecture/in-lecture points or participate in
x% of the lab sessions for a value of x that is less than 85, you will get x/85 of the
possible points.
Absences: The above participation policy is designed to allow for occasional absences
due to illness or other special circumstances – including ones stemming from isolation
for Covid. We will be recording the lectures and making the recordings available to
everyone in the class. If you need to miss a lecture for any reason, you should simply
watch the recording for that lecture as soon as possible after it is posted. In addition,
you should keep up with the pre-lecture tasks and the current assignments. Please
do not email your instructor for absences of this type.
The final exam will replace your lowest problem-set grade if doing so helps your final
grade. The final exam will also replace your midterm-exam grade if doing so helps
your final grade. Regardless of whether any such replacements occur, the final exam
itself will always count for at least 35% of the final grade.
The final grades are not curved. The performance of the class as a whole is taken into
account in assigning letter grades, but this can only improve your grade, not harm it.
Extensions and makeup exams will only be given in documented cases of serious
illness or other emergencies.
You cannot redo or complete extra work to improve your grade.
Incompletes will not be given except in extraordinary circumstances.
page 3 of 4
CAS CS 460: Introduction to Database Systems Syllabus, Fall 2022
Schedule (tentative)
week lecture dates topics, exams, assignments, and special dates
0 9/7, 9/9 Course overview and introduction
Database design and ER diagrams
No labs this week.
1 9/12, 9/14, 9/16 The relational model
Relational algebra and SQL
2 9/19, 9/21, 9/23 SQL (cont.)
9/19: last day to add a class
Problem Set 1, part I due on 9/21
3 9/26, 9/28, 9/30 Storage and indexing
Problem Set 1, part II due on 9/28
4 10/3, 10/5, 10/7 Implementing a logical-to-physical mapping
Query processing
5 10/11, 10/12, 10/14 Transactions and schedules
Concurrency control
No lecture on 10/10 (Indigenous Peoples' Day)
Lecture on 10/11 (Mon. schedule)
No labs this week
10/11: last day to drop without a 'W'
Problem Set 2, part I due on 10/12
6 10/17, 10/19, 10/21 Concurrency control (cont.)
Problem Set 2, part II due on 10/19
7 10/24, 10/26, 10/28 Semi-structured data and XML
Problem Set 3, part I due on 10/26
8 10/31, 11/2, 11/4 Distributed databases and replication
Midterm exam on 11/2
9 11/7, 11/9, 11/11 Distributed databases (cont.): map-reduce
Problem Set 3, part II due on 11/9
10 11/14, 11/16, 11/18 NoSQL
11/14: last day to drop a class with a 'W'
11 11/21 NoSQL (cont.)
No lecture on 11/23 or 11/25 (Thanksgiving)
Problem Set 4 (all) due on 11/21 (Mon)
12 11/28, 11/30, 12/2 Recovery and logging
page 4 of 4