CSCE 520
Database System Design
Fall 2017


Stephen Fenner
Telephone: 777-2596 (no voicemail; email preferred)
Email: fenner at cse dot sc dot edu
Office: August: Swearingen 3A65; September: Horizon II Room 2249
Office Hours: MW 2:00pm-4:00pm

Teaching Assistant/Database Administrator

Theppatorn Rhujittawiwat
Email: rhujittt AT email dot sc dot edu
Office: Swearingen 2D19
Office Hours: MW 4:00pm-5:30pm, F 10:00am-11:00am


Required: J. D. Ullman and J. Widom. A First Course in Database Systems (Third Edition). Pearson/Prentice Hall, 2008.
Recommended: R. Sunderraman. Oracle9i Programming: A Primer. Addison-Wesley, 2004.


This course teaches the theory and practice of database management systems. It is a first course in databases, emphasizing the use of database systems -- designing databases and programming operations on databases. It does not cover implementation of the database systems themselves. Emphasis is on the relational database model, but object-oriented and semistructured database models will also be described. Major topics include E/R diagrams, the relational database model, relational algebra, SQL, XML and semistructured databases, Datalog, transactions, access control.


CSCE 240 or GEOG 563

Course Outcomes

Here are the course outcomes from Spring 2008. They are still valid.


Homework assignments 20%
Two midterm exams 20% each
Final exam (Thu 12/14, 4:00pm - 6:30pm) 40%

Letter grades correspond to score percentages as follows:
A 90-100
B+ 86-90
B 80-86
C+ 76-80
C 70-76
D+ 66-70
D 60-66
F 0-60

Class Policies

Reading and Lectures

You (the student) are expected to read all assigned material before the lecture begins. If for some reason you cannot attend class, you are responsible for any material covered during your absence. Undergraduate and graduate students will be graded with slightly different criteria, and graduate students will often be given extra assignments.

Late policy

There will be a strict late policy. Written homework is due at the beginning of lecture (2:50pm) on the due date unless otherwise specified. This is a sharp deadline. Homework will be accepted up to 24 hours after the due time with a 20% penalty. Homework will not be accepted more than 24 hours late.


Tests are given in class and are open-book/open-notes. You may use any written or printed materials you wish during the test, but you may not use electronic devices of any kind, except for legitimate use by disabled students with prior notice. No make-up exams will be given except under extreme circumstances with a valid excuse, in which case you must give me notice well before the exam if at all possible. The exam schedule is

Code of Student Academic Responsibility

You are expected to know the Academic Code of Responsibility as it appears in the Carolina Community: Student Policy Manual. All work that you hand in must be your own. You may not copy or share program code or answers with anyone else, in or out of the class, even if you modify the code afterwards. You may, however, discuss programming assignments with other students---up to and including co-designing (not implementing) algorithms to solve homework problems. If you choose to design your ideas in a group, no more than three students may work together, and each member of the group must list the names of the other members in the group prominently on her/his submission. Even when sharing ideas in a group, you must formulate your answers and program code entirely by yourself (see below).

For our purposes, implementing is the same as writing program statements or commands, testing and debugging them. This means that not only is it illegal to write the code together, but it is also illegal to directly copy at anyone else's program code to utilize his/her knowledge at any time before you hand in the assignment.

Any violation of the rules above constitutes cheating, for which there is no excuse.

THE USUAL PENALTY FOR CHEATING IS FAILURE OF THE COURSE. The bare minimum penalty you may receive for an instance of cheating is double the points of the assignment off. That means that if an assignment is worth 10 points, your ultimate grade would be -20 for the assignment. Finally, as noted in the Student Policy Manual, the maximum penalty for cheating on an assignment is expulsion from the University. These penalties apply both to copier and copiee: anyone who allows a fellow student access to their programs, either directly or indirectly, will be held equally responsible. I will also apply these penalties for cheating on tests.