CSC 4480-002
Principles of Database Systems

Spring, 2018

Home Page and Syllabus


Time and Location

Monday, 3:00 PM - 5:45 PM, MSC G87

Table of Contents


About the Course and its Goals

Welcome to the database course CSC 4480. The area of database systems is very broad, related on one hand to applications in business data processing and on the other to abstract, theoretical computer science. This course is located somewhere between the two extremes. Its objectives are In addition, you will become literate in an important commercial system available at Villanova: Oracle. It is accessible through the departmental UNIX cluster, in which you'll be given an account if you don't yet have one. If you do have one, try to check it soon to make sure you remember your login (that's UNIX lingo for "userid") and password. Oracle is also available from the vendors as a free download, as are some other DBMSs.

While this course is not intended to teach web programming, it will give you the opportunity, if you wish to use it, to access back-end databases through a web interface.

Although the text I've selected for this term (see below) is the same one that's used in the graduate course, we won't be going through it so broadly or deeply as that course does. I expect to cover all or parts of chapters 1-11, 15-16, 20-21, and 24. We'll also discuss MarkLogic Enterprise NoSQL's approach to one of the hot new database-related topics: Big Data.

The expectation in our department is that, on average, students will spend twice the number of hours working on a subject outside class what they spend in class. You'll have pretty much weekly submissions of homework and project phases, as well as short quizzes on assigned readings (announced in advance). Usually you'll be asked how much time you've spent in preparing for them.

Now, regarding the timing of assignments: At times it may seem that a quiz, some homework, and a project phase all come due at once. I'll do my best to avoid such a situation, but it's not always possible to do so. You'll have plenty of advance warning, though.


Course Outcomes

As a result of taking this course, you should acquire knowledge, skills, understanding and values:

Place in Accreditation and Certification:

This course is required of Computer Science majors and minors and is an acceptable elective for the "FiT" (Fluency in Technology) certificate.

It satisfies the Computing Accreditation Commission's curriculum criterion as "an exposure to a variety of programming languages and systems."


Instructor:

Dr. Don Goelman
don.goelman@villanova.edu
292B Mendel Science Center  MWTh 9:30-11:00, and by appointment
Voice: 610-519-7346 FAX: 610-519-7889
Course Homepage  http://www.csc.villanova.edu/~goelman/csc4480/


Prerequisite:

  • CSC 1300 (Discrete Structures)

  • Text:


    About Exams (including the final!), Homework and Quizzes:

    In this course your learning will be assessed by the term project, quizzes, and three hourly exams, with the last one to occur on the last day of class. There will be no final exam! This will allow us to use the 150-minute slot allotted for the final for another purpose, namely the team presentations of their database term project. More information about this appears in the links to Grades, Project and elsewhere.

    Regarding the homework, unfortunately it can't be accepted after class begins on the due date (even if you're not there), unless explicitly assigned for a different day or time. Since all homework is submitted as email attachments, we have this flexibility. Every attached homework assignment must have your name on the attachment. All assignments, whether you're present in class that day or not, should be submitted by email to the graduate assistant, with cc to me. Any text must be word-processed, and the non-text portions must be extremely legible. For example, the labels in ERD's must be word-processed, but the shapes can be drawn by hand, if they are extremely neat and legible.

    Although the direct effect of any single homework assignment's grade on your course grade is not great, its indirect influence is very important, because doing the assignments on your own will help you learn the material (which will affect your performance on quizzes and examinations, whose effect is critical) better than just listening to explanations by the TA and me. There are no restrictions against discussing assignments, but you are not permitted to copy another student's paper. Submissions that resemble others too much will be considered violations of academic integrity.

  • Here's a link to the homework questions.
  • Here's a link to the pool of quiz questions.

  • Grades:

    3 Examinations x 100  300
    (Feb 19, Apr 16, May 2)   
    Homework  20
    Quizzes  32
    Project: Database development 136
    Other 12
    Total 500

    For letter grades: A, A-, B+, B, B- C+, etc., start approximately at 93, 90, 87, 83, 80, 77 per cents, resp.


    Attendance

    Explicitly, it's only required at examinations; notify me in advance of any unavoidable exceptions. However, I won't be able to administer any makeups on missed quizzes. Further, the "Other" category counted towards your course grade includes participation, which would not be helped by excessive absences.

    Also, please take note of some of those important dates in our course, such as the three hourly exams and the date of project presentations. Make sure that your other instructors are aware that your attendance is required in this class on those days, at its usual scheduled time. If it's going to be a problem, let me know early in the term, in case it will be necessary for you to drop this course during the appropriate period.


    Email, This Website and Blackboard:

    Besides the Bulletins and Reminders section of this website, expect to receive some important announcements by email. I will only use your Villanova LDAP address (@villanova.edu), so you should check it at least twice weekly (more frequently if there's something special going on), and you should be sure your inbox is never full. The email address for the class are Spr18-CSC-4480-002@villanova.edu. Finally, this website, rather than Blackboard, will be the primary means for such communication. One exception is that you will be able to keep track of your grades on Blackboard's Grade Center. Also, the "Content Homepage" of our Blackboard site has links to various places, but those links are already available through the syllabus site itself.


    Your Participation in Educational Research

    Our course is now part of an NSF research grant on techniques in teaching databases. Like other research that compiles and publicizes data, NSF needs to be sure that subjects of the research (that's you) are aware of the implications of their participation. We'll discuss this in class, and I'll invite you to sign a consent form (which has some further details: here's a copy).


    Graduate Assistant:

    The TA for this course is Mr. Mohamed Pussah (email: mpussah@villanova.edu). His office hours will be Wednesdays, 4:00-6:00 PM, in the peer tutoring room (MSC 292). He is also on duty as a peer tutor in the same room on Tuesdays and Thursdays at the same time. Further, he'll be happy to schedule consultations outside those hours, should they not be convenient for you. He will be able to help you understand difficult concepts, to serve as a resource for the unit on database programming, and to round up copies for handouts you may have missed. Remember also to cc Mohamed on all emailed questions, to email him all homework submissions and to cc him on all group project phases (ie, phases other than 00, 08 and 15.

    Here's why: 99% of the time I'll not only be able to reply myself to your queries, but I'll be delighted to hear from you. The other 1% of the time I may be inaccessible, so it's important for the TA to know about your issue. He will be grading your quizzes and homework submissions, but I'll be grading everything else. And he will very likely be more expert in some of the web programming and other database programming details than I will.


    Other Assistance: Peer Tutors:

    The department also has a "peer tutoring" system, where students who've taken particular courses can help field questions about them. Details can be found here.


    References:

  • ACM SIGMOD Record. The papers in this journal deal with both theory and practice. 
  • ACM Transactions on Database Systems. This is one of the major ACM journals and presents papers on the frontiers of basic database research. 
  • ACM Computing Surveys. The original database issues were March, 1976 and September, 1979, but many other papers of historical interest on the subject have appeared since then.  
  • IEEE Transactions on Knowledge and Data Engineering. This is the technical IEEE journal in the field.
  • ACM Queue: Architecting Tomorrow's Computing. ACM publishes this ten times each year. But you already knew that, since you're probably a member of Villanova's student ACM chapter.

  • Ethics for computer scientists:


    Students with disabilities:

    Students with disabilities who require reasonable academic accommodations should schedule an appointment to discuss specifics with me. It is the policy of Villanova to make reasonable academic accommodations for qualified individuals with disabilities. You must present verification and register with the Learning Support Office by contacting 610-519-5176 or at learning.support.services@villanova.edu. For physical access or temporary disabling conditions, please contact the Office of Disability Services at 610-519-4095 or email Stephen.mcwilliams@villanova.edu Registration is needed in order to receive accommodations.


    Bulletins and Reminders:

  • Apr 23: Mohamed's ORACLE account is now active (It is indeed MPUSSAH). Please grant him the same read (select) access to your tables as you gave me (and probably attempted to grant him earlier, before his account was set up). This needs to be done by the time the next project phase (that would be Phase 10) is due that involves ORACLE.
  • Apr 23: Here's a rundown (pdf version) of what to expect from here on in regarding bulletins and reminders.
  • May 7: Exams 3 have been graded, and the grades entered in Blackboard. Feel free to pick up your exam and a solution key, at your convenience. I won't be bringing them Thursday.
  • May 10: Hey, you did note in my note of Apr 23 above, didn't you, that Homework 18 was due May 7? I'll take it till 5 PM Thursday May 11.

  • Are We Using Oracle or Access or MySQL?

    The short answer is "yes." The longer explanation is that the language spoken in class is Oracle, and, specifically, the version accessible via the department's UNIX system csdb. You'll be given logins and passwords on csdb and userid's and passwords on Oracle. The links in the next section will give you some guidance. More will be provided in class, and the TA will be your "go-to" guru for questions. You'll be expected to be completely comfortable with and knowledgeable about that environment.

    That said, the vehicle that your group will use on the semester project will be up to the consensus of your group. As described at that link, though, everyone in the group needs to be able to access the database, and you must be able to demo full functionality of your project to the TA. You're also free to use SQL Developer, a friendly front end for Oracle. Since the TA's responsibility for support will apply primarily to Oracle on csdb, you should expect to be pretty much on your own if you choose to use one of the acceptable alternate technologies. And here's one more warning: last term two of the 15 groups in the two sections chose to use MySQL. One of them said at the end of the term that their advice to future generations of students was not to use MySQL for this project.


    Department Software:

  • You can find some information here on using the departmental UNIX cluster. NOTE: While the departmental website is getting its new nifty design, you can see that information ghosted here, but only from a browser within the Villanova domain.
  • Here are links to guidance on using the departmental copies of Oracle and MySQL.
  • The TA will be your resource for further assistance on using these programs. Let them know (and cc me) about any issues or difficulties you have in accessing these programs.

  • Other Useful Links:

  • WinRDBI is free software for practicing relational query languages. You will find it invaluable for learning relational algebra and SQL querying syntax. Note that it assumes that you have a 32-bit JRE (Java Runtime Environment). If yours is 64-bit, then just download the 32-bit one, and point WinRDBI to it during that download.
  • animation: Conceptual Database Design. (Click on the opening screenshot of this animation.) This is handy for introducing conceptual design, specifically ERD's, and mapping them to RDB schemas. It will provide good practice in preparing for Exam 1, especially the "Checkpoint" topic at the end.
  • animation: Introduction to Querying. (Again, click on the opening screenshot of this animation.) This one is useful for understanding the ideas behind querying databases. It's part of the coverage of Exam 2.
  • animation: Introduction to Relational Databases. (Again, click on the opening screenshot of this animation.) This is handy for motivating relational databases and normalization. The normalization topic goes with Exam 3.

  • Other Policies (late submissions; extra credit)

  • Homework can't be accepted after the morning class has begun on the due date (because that's when the solution key is distributed and discussed), while project phases can come in up to midnight on the due date. Further, late homeworks aren't accepted at all, while late project submissions are sometimes accepted, but with penalty. However, there are exceptions to these rules of thumb. They are clearly stated when the assignment is made.
  • There won't be any opportunities for extra credit in this class. The reason is that it's too difficult to administer this in a consistent manner that is fair to everyone.

  • Last updated: May 10, 2018