CS4432. Database Systems II
Home Textbooks Homeworks & Projects Schedule Additional Resources


Class Meetings

         Term:        D-2014
         Room:       FL320 (Fuller Labs - 320)
         Date/Time:      Mon., and Thur.   1:00pm - 2:50pm.
     
Instructor/Office Hours
          Prof. Mohamed Eltabakh, FL-235, meltabakh@cs.wpi.edu
          Office Hours:  Monday  12:00pm - 1:00pm, and
                                 Friday,  3:00pm - 4:00pm. (Students are also welcomed to schedule other meeting times by email.)


TAs/Office Hours (in FL-A22)
          Maryam Hasan, mhasan@wpi.edu
                   Office Hours:   Monday 3:00pm - 4:30pm
                                           Thursday: 6:00pm - 7:30pm

          Qingyang Wang, wangqy@wpi.edu
                   Office Hours:  Tuesday & Wednesday 2:30pm - 4:00pm


Regarding when and by what means to approach the instructor or TAs with questions outside of class, please keep in mind the following. We are always willing and eager to answer your questions, and would like you to master the topics covered in a timely manner. There are different venues for bringing questions outside the lecture hours: (a) First we suggest that you utilize the discussion boards on mywpi - as we will be monitoring those daily, plus other students could likely benefit from your questions and our answers. Other students may even be able to answer your questions. (b) Second, go to the office hours, as they are set up solely for this purpose. (c) Only when the above two means do not work for you, then feel free to email to the staff of this course explaining your problem. Also, if there is specific issue that cannot be addressed in the above manner, you are welcome to stop by our offices to set up some alternate agreed-upon meeting time.


Course Highlights (Catalog Info)
      -- This course is the second-level database management system course. Therefore, it is expected that you already took DB-I (CS3431) or you have equivalent knowledge.

      -- This course does not cover How to use DBMS, but it covers How a DBMS works.

      -- Topics cover the Storage Layer of DBMSs, Buffer Management, Indexing Techniques, Query Optimization, Transaction Management, and Recovery and Concurrency Control.

      -- Students will be expected to design and implement components of a DBMS and advanced applications.

 
Purpose of Course

In this digital age, data of every increasing volumne is beginning generated daily. This overload of data is putting those that know how to effectively manage and extract information from such mountains of data into a distinct advantage. In many cases, data is mission critical to an enterprise's economic success. Thus database systems are a critical component of today's software systems. This second course in database systems concentrates on the study of the internals of such database management systems. That is, we will look "under the hood" to learn about the key techniques and technologies within database systems. In particular, we will learn about what makes a database management system efficient so to be able to extract relevant information out of huge data sets. The principles and theories of physical storage management, query processing and optimization, and index structures for relational databases, transaction processing, and concurrency control will be covered. Time permitting, a selected subset of issues from database recovery, security, web database systems, or client server systems, may be discussed. The knowledge gained should be useful not only for building software systems that have to handle data of huge volumes, but also for effectively using a commercial DBMS system.


Who Should Take the Course

The intended audience is computer science and computer engineering majors. In this class, you will assume that you already know how to use a database system, such as Oracle or SQL Server. And, thus that you are familiar with concepts such as the relational data model, relational query languages such as SQL and database database design such as ER modeling. Any student taking this class is expected to have sufficient programming experience. This means that you should be comfortable with a high-level programming language (more specifically Java).


Recommened Background

Beginning database design knowledge such as gained in CS3431 or in a job (in particular, knowledge of the relational data model and SQL) and some knowledge of software development (such as gained in CS3733) are recommended. If you are in doubt about your background being sufficient, please discuss this with the instructor of the course.
       ** Keep in mind that this course does not cover How to use DBMS (that is covered in CS3431). It covers  How a DBMS internally works.



BS/MS Graduate Credits

This course may be taken for graduate credit by students in the BS/MS CS program. In order to receive graduate credit (equal to 2 graduate credits) for this course, students that are signed up for this program need to get permission from the professor. Hence, discuss your plan with the professor at the start of the class. This course has significant overlap with the graduate version CS542.



Course Load & Grading Policy


The details can be found in [Here].  


WPI E-System
This course will use blackboard.wpi.edu. You can use this system for electronic submission of homeworks and/or projects, and for checking your grads.



Discussion Board
Please use the discussion board available at blackboard.wpi.edu. for any course-related posts and discussions.