CSC 553 Advanced Database Concepts
In-class and online sections
Spring 2022
Overview
Advanced Databases Concepts is an advanced course on principles of database management.
While Principles of Database Management (CSC 453) introduces you to the relational model, set algebra,
SQL queries, normalization, and transactions, CSC553 provides an in-depth understanding of database internals.
This understanding will equip you with techniques to optimize, manage, and operate large-scale database systems.
The objective of the course is to develop a deeper appreciation of issues to consider when working with large amounts of data. The practical training provided as part of this course will help you write your own database systems!
In CSC553, we will build a small database management system, called SimpleDB, in Java through a series of programming assignments.
To build this DBMS, course lectures will provide an understanding of algorithms and key concepts. This will include
* DBMS Storage and Buffer Management
* Indexing and Operators
* Concurrency Control
* Recovery
* Parallel DBMSes
Pre-requisites
You must have taken CSC453, or equivalent introductory courses in database management
systems. I will assume that:
- you know how to create, debug, compile and run Java
code on the platform and IDE of your choice;
- you use a reasonable programming style (i.e. your code is
easy to read and concise) ;
- you know and understand the basic architecture of computer
systems (files, processes, threads).
Course Objectives
After the successful completion of this course, you will understand
some core issues in database systems and its development including:
- DBMS architecture, data storage, and buffer management
- Query execution, relational operators, query optimization
- Access path structures, B+-trees, extensible hashing, query plan and costs
- Concurrency control, locking, protocols (optimistic and pessimistic)
- Recovery, write-ahead-logging, redo/undo logging
- You will obtain a practical experience developing a simple database system
through weekly programming exercises.
Course Calendar
[subject to change]
Week 1
|
3/28-4/1 |
Database Architecture
|
Week 2
|
4/4-8 |
|
Week 3
|
4/11-15 |
|
Week 4
|
4/18-22 |
|
Week 5
|
4/25-29 |
|
Week 6
|
5/2-6 |
|
Week 7
|
5/9-13 |
|
Week 8
|
5/16-20 |
|
Week 9
|
5/23-27 |
|
Week 10
|
5/30-6/3 |
|
Week 11
|
6/6-10 |
Final Project Report Due
|
Modality
This course will be delivered in-person and online via COL.
- Main course website: The main course web site is https://dice.cs.depaul.edu/courses/csc553/.
I will post there the lecture slides, the lab, and the homework
assignments.
- Getting help: I have set up a Discord server for the
class. Please use it to ask questions regarding the weekly
topics and problem set. Feel free to answer the questions if you
can!
The Discord server invite is posted on D2L. I am also available
for one-on-one Zoom meetings during my Zoom office hours.
If you need to
contact me privately and outside of office hours, feel free to
email me directly, of course.
Instructor contact info
Please use the discussion forum for course/material related
questions and email for personal questions.
Text
Required:
Hector Garcia-Molina, Jennifer Widom, and Jeffrey Ullman Database Systems: The Complete Handbook
,
Pearson; 2nd edition (June 5, 2008)
Optional:
R. Ramakrishnan and J. Gehrke, Database Management Systems.,
McGraw-Hill; 3rd edition (August 14, 2002)
Course web page
This syllabus, as well as the class lecture notes, homework
assignments, and the links to various resources can be found on the
course web page at
https://dice.cs.depaul.edu/courses/csc553.
Feedback and grades will be available via D2L.
Please
check this site, the discussion forum, and D2L regularly.
Grading
The course grade will be apportioned as follows:
Homework-Programming |
40% |
Homework-Written
|
30%
|
Quizzes
|
15%
|
Participation
|
5%
|
Final Report
|
10%
|
Late Policy
You are allowed a total of 6 late-days that you can use in 24-hour chunks and at most 2 late-days per assignment. You can use late days for either labs or written assignments. No late-days can be applied to the final project report due during finals week. Please note that once you use-up your late days, no additional extensions will be granted for any reason at all. You should thus save your late-days only for true emergencies.
To do well in this course, you should attend/view the class regularly,
participate in the discussion forum, read the assigned reading
material each week as indicated in the course calendar, start
working on the homework and the programming assignments early, and talk to
me promptly if you have any problems. The answers to the homework
questions, as well as your code, should be written in a way that
is rigorous, clear and concise.
Policies
Deadlines for adds, drops, and withdraws
See the deadlines here.
Changes to Syllabus
This syllabus is subject to change as necessary during the quarter.
If a change occurs, it will be thoroughly addressed during class,
posted under Announcements in D2L and sent via email.
Online Course Evaluations
Evaluations are a way for students to provide valuable feedback
regarding their instructor and the course. Detailed feedback will
enable the instructor to continuously tailor teaching methods and
course content to meet the learning goals of the course and the
academic needs of the students. They are a requirement of the course
and are key to continue to provide you with the highest quality of
teaching. The evaluations are anonymous; the instructor and
administration do not track who entered what responses. A program is
used to check if the student completed the evaluations, but the
evaluation is completely separate from the student’s identity. Since
100% participation is our goal, students are sent periodic reminders
over three weeks. Students do not receive reminders once they
complete the evaluation. Students complete the evaluation online
in CampusConnect.
Academic Integrity and Plagiarism
This course will be subject to the university's academic integrity
policy. More information can be found at http://academicintegrity.depaul.edu/.
If you have any questions be sure to consult with your professor.
Academic Policies
All students are required to manage their class schedules each term
in accordance with the deadlines for enrolling and withdrawing as
indicated in the University Academic Calendar.
Information on enrollment, withdrawal, grading and incompletes can
be found at http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.
Students who feel they may need an accommodation based on the impact
of a disability should contact the instructor privately to discuss
their specific needs. All discussions will remain confidential. To
ensure that you receive the most appropriate accommodation based on
your needs, contact the instructor as early as possible in the
quarter (preferably within the first week of class), and make sure
that you have contacted the Center for Students with Disabilities
(CSD) at:
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296