CSCE 520
Database System Design
Fall 2019
Time and Place
TTh 2:50pm - 4:05pm, Storey Innovation Center 1400
Instructor
Stephen Fenner
Telephone: 777-2596 (email preferred)
Email: fenner at cse dot sc dot edu
Web: https://cse.sc.edu/~fenner
Office: Storey Innovation Center 2249
Office Hours: TTh 1:15pm - 2:30pm
Teaching Assistant/Database Administrator
Daniel Padé
Email: djpade AT gmail dot com
Office: Storey Center 1205
Office Hours: MF 11:00am - 12:00pm
Texts
Required: J. D. Ullman and J. Widom. A First Course in Database
Systems (Third Edition). Pearson/Prentice Hall, 2008. Hardcopy
strongly recommended as no electronic devices will be allowed in exams
(see Exams, below).
Overview
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.
Sections
There are three sections for this course: 001 (standard section), H10
(honors section), and J60 (Apogee section). Lectures and exams will
be common to all sections. Students in sections 001 and H10 must be
physically present in the classroom for lectures and to take exams.
J60 students may optionally be present for exams or else take exams
remotely (but concurrently), with proctoring pre-arranged with the
instructor.
Prerequisites
CSCE 240 or GEOG 563
Official Department
Syllabus
This document includes the course outcomes.
Grading
Homework assignments |
20% |
Two midterm exams |
20% each |
Final exam |
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 or before the exact time that lecture begins
on the due date, unless otherwise specified. This is a sharp
deadline. Handing in homework late to lecture disrupts the class and
encourages nonattendance. 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. SQL homework is due in CSE Dropbox at 11:59pm on
the due date. The same late policy applies to SQL homework as written
homework. If for any reason Dropbox is not available close to the deadline,
then as a last resort you can always submit via email attachment(s) directly
to the TA (and please Cc me).
Exams
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
- Midterm 1 in class
- Thursday, October 3, 2019
- Midterm 2 in class
- Thursday, November 7, 2019
- Final in the usual classroom
- 4pm-6:30pm Thursday, December 12, 2019
Code of Student Academic Responsibility
You are expected to know the University's
Honor Code and
its Student
Code of Conduct. (You can also see these and more at the
Student
Conduct and Academic Integrity website.)
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 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 Honor Code, 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.