Instructor: Dr. Victor W. Marek
Time: 12:00-12:50, MWF
Place: 243 MMRB (Mine and Mineral Research Building, Rose Street)
Office: 303 Davis Marksbury Blg.
Office hours: 10:30-11:30, MWF.
Office phone number: (859) 257-3496.
email: marek@cs.uky.edu.
Midterm: TBA
Final examination (comprehensive): date/hour: TBA The exam will take place
in the classroom.
The general idea of CS505 is that it prepares a Computer Science students for a future profession of a Database Administrator, in particular providing them with the basics needed to understand not only the simplest aspects of databases, but also additional, "intermediate" topics that they will need to use in their future careers as database professionals. All we teach in this class is subject to this general consideration. This said, one needs to realize that databases evolve fast, and this evolution is driven by applications that almost always are based on some database support. The topics we cover in this course deal with a wide panorama of issues facing modern database administrator.
While there are numerous database books, I do not like what I see. For that reason I will distribute to the students my own slides (which are numerous, maybe 400 or more). Innovation in Database area resulted in many new topics not present, say, 10 years ago. We will attempt to discuss these (and various legacy topics) and as much as it is possible prepare students to future database work. Certainly the older SQL-based databases do not disappear, and likely will not disappear in a foreseeable future. But new applications require use and understanding of other classes of databases, and we will discuss these in our lecture as well.
Course Prerequisites: We assume that the student is familiar with the introductory issues in Databases such as SQL and database design. Likewise, Data Structures and Algorithm course (CS315) is assumed to be taken by the participants.
Course format: Following the current University practice, and the fact that the course is open to undergraduate students, the lecture will be divided into two parts. Each of these parts will have a separate grade, and the final score will be the arithmetic mean of both scores. According to the University rules the midterm grade will be recorded in student's record along with the final grade (for undergraduate students).
After completing each topic there will be 20-25 minutes quiz covering material presented during the corresponding lectures. The results of that quiz directly contribute to the grade. The two parts of the lecture will be subdivided further, see below.
Part I will take app. 8-9 weeks, with the topics (1) and (2) taking 5 weeks,
and topic (3) taking 4 weeks. In part II, the first topic will take app. 3
weeks, and the second and third 5 weeks.
These are only approximate time spans. The reason is that every audience
is different and the amount of material I will be able to cover depends on the
cooperation of students.
As mentioned above, I will provide (large number of) slides (in pdf format) covering the entire material.
Expected outcomes of the course. I expect that by the end of the course the student will understand several fundamental issues related to data processing in database systems. These include:
Credit for this course:
The credit for the first part of the course will be determined as follows:
The credit for the second part of the course will be determined as follows:
Grading Scale:
Relationship with the first Database Course: We reiterate that this course assumes familiarity with SQL and other basics of DBMS as taught in the course CS405. CS505 is not a course where we teach SQL, basic issues in design of databases, JDBC etc. (in fact, these days we expect the student to know how to connect to a database from a programming language such as Java, Python, PHP, or Perl). The goal of CS505 is to provide the student with the understanding of "behind-the-scene" DBMS issues, as well as modern applications of Databases.
While students could take their first DB course anywhere, I will assume
that they are familiar with the material covered in our program CS405 course.
During my lectures students should expect reference to the
entire material covered in CS405 course, not only SQL proper.
Database Management Systems Following the practice common these days, I expect students to have a database management system(s) installed on their own machine. There are several such systems freely available on the Internet. SQL free systems include: Oracle, MS SQL Server, MySQL and other systems. In an unlikely case when the student does not have a personal computer with a DBMS installed, the Department offers the access to MySQL on Departmental machines. Just in case, accounts on Multilab machines and on the MariaDB available there will be created for all students of CS505. I expect to discuss a graph database system, OrientDB or Neo4J, and possibly use it for the second project. These systems are, again, freely available for all major operating systems. I expect this system available on Multilab, as well.
Projects: A significant part of the credit (30%) is assigned for
projects. One consequence is that it is not possible to get "A" in this course
without decent performance at projects.
Projects will be implementation of some specific topic such as
unusual access control mechanism for tables of database, simple
transaction scheduling mechanism or the use of a graph database.
Project descriptions wishould be available through the
First project page and
Second project page.
(but at time of the publication of this syllabus specific topics of the
projects are not yet decided).
Communication with the instructor: I am available during my office hours, and by appointment. Additionally, there will be a class mailing list. Students can also communicate with me through e-mail to the address marek@cs.uky.edu. Please do not expect the instantaneous answer esp. during weekends. Normally, I read my mail both during my working hours and also during evening hours. P>
Attendance: I check attendance in class, in recognition that attendance in class and the personal contact with the instructor is what defines non-long distance learning. Absence in class will be noted and after three unexplained absences DUS/DGS will be notified.
Obligatory Office Hours: I utilize a mechanism called "OOH", or "obligatory office hours." When I find (either through a quiz below 60% of available credit, or midterm exam result, or project result) that the performance of a student falls below expectations, I call that person to my office hours (or special appointment if the student has classes during my office hours period). This is an obligatory attendance and non-attending (but called) students will be referred to DUS/DGS. The reason is that I believe that issues caught early can be resolved before they become a major impediment. I also believe that OOH practice adds value to the course through personalized instruction.
I intend to meet every student in the class during the first two weeks of the semester. For this purpose I will bring a signing list to the second class (i.e. Friday, January 12) and expect that each student will sign for one of available slots.
Yet another strange thing: I believe in "active teaching". That is not only the audience addressing questions to the instructor, but also the instructor asking attendees questions to control understanding. In other words, my classes are a form of a dialogue between the class and myself. Again, while some students find such teaching style intrusive, my experience is that students learn more.
Electronic equipment in class:. I expect the students to turn off their cell phones while in class. Computers can be used for taking notes, but using it for some other purpose (see Distracting behavior below) will result in referring to DUS/DGS.
Set up: 12/02/17
Last modified: 02/09/2018