CSc 538
Advanced Topics in Database
Systems
Syllabus
Prof: Chris Fernandes
Email: cfernand@union.edu
Office Hours: Mon 10:30-noon, Mon 2-4, Tues and Thurs 4-5,
Wed 3-4 or anytime my door's open!
Office: 229 Steinmetz Hall
Phone: 388-6401
Course Webpage: http://cs.union.edu/csc538
Text (1 required). Available at the Bookstore:
Elmasri and Navathe,
Fundamentals of Database Systems. 4th ed,
Addison-Wesley, 2004.
Course Summary
While our introductory database course (CSc 340) focused on
databases, this course focuses on the implementation of
database management systems (DBMSs). The goals of this
course are:
- to understand how databases are physically organized on a disk
- to understand how an SQL query is processed, translated,
and optimized into an executable algorithm
- to learn about concurrency control techniques to allow
multiple users to access a single DB simultaneously
- to learn disaster recovery techniques
- to understand security issues
Topics to be covered include
- Physical database organization
- Indexing and data structures for optimizing DB operations
- Query processing and optimization
- Transaction processing
- Concurrency control
- Disaster recovery
- Security and authorization protocols
Prerequisites
The prerequisite for this course is CSc 340 (introduction to
databases) or the equivalent. We will also be drawing upon
what you learned in data structures (CSc 140 or its equivalent.)
Evaluation
- Exams. There is 1 midterm on Mon,
May 1st.
If you cannot be at an exam for a good reason (illness, for
example)
then please let me know so we can make other arrangements.
The final will be cumulative. You will be responsible
for all material covered in the readings and in lectures. Exams are
open book and open notes.
- Homework. Written homework will be assigned throughout
the trimester. Homework is due
at the start of class on the day it is due. The late penalty is
10% per weekday late. (So no penalty on weekends.)
I occasionally give out solution sets to written
homework after they are due. Once a solution set has
been passed out, lates will no longer be accepted for that
assignment.
- Research Project. An independent
research project will be assigned
near the middle of the term. As this is a graduate-level course,
the topic of your research will be yours to choose, though I will
be providing you with some options to help guide you.
The project will include the writing of a research paper extending a topic
introduced during lecture, and this may involve doing a literature survey
on related subjects. You will also be delivering an oral report
about your findings. Many of the topics
we will be discussing in class have been extended (or are waiting to be
extended) in various ways. Keep an eye out for topics that interest
you. They'll make good candidates for you to consider once the project
is assigned.
Grading
- Homeworks: 25%
- Project: 20%
- Midterm Exam: 25%
- Final Exam: 30%
Academic Dishonesty
Students often have some confusion about what might or might not be
considered "cheating" in a computer science
class. In general, you should take advantage of your instructors
and fellow students in working out
solutions to assignments. However, I also need to make sure that you are
actually learning, and not simply using all of
these resources as a crutch. As with writing a paper for an English class,
there is a point at which working together
becomes plagiarism. As a rule of thumb, feel free to discuss
general solutions to problems, but the writing down of an
actual solution must be done solo by you.
If you find yourself turning in work
that looks substantially like the work of
someone else, you should seriously examine whether you have crossed
the line. If you have any doubts, talk to me
before turning in the assignment.
In all cases, you must give credit to any source
(like a written work or help from some individual) that you use to help
complete an assignment. Again, this is similar to writing an English paper;
if you use a quote or material from someone else,
you have to give credit where credit is due. Otherwise you are
inappropriately plagiarizing or borrowing ideas.
What you need to do
To prepare for class, you are required to do the following:
Show up
You are expected to be present for every class. However, I realize that
sometimes other things come up (interview, illness, etc.) so
just please let me know in advance or by phone/email if you're going to
be absent. Unexcused absences are NOT allowed and will
affect your grade. If you miss class, get notes from someone
and do the readings before coming to see me. I'm happy to
explain things, but I won't repeat lectures for you.
Read the text
Lectures will primarily follow the major topics covered by the text.
You should do the reading for that week before coming to class so
that questions you have about the material can be answered during
lecture.
There will always be a time for questions about the readings or previous
lectures at the beginning of class. Take advantage of it.
All of the readings for the entire term can be found on the course
web page in the Full Schedule section.
Check the web page
The reading assignments (and other announcements) will be
posted regularly on the course web page. You are required
to check it at least once a week. The URL
is at the top of this document.
The Bottom Line
Ask questions and seek help. This is the most important point of all.
I live to answer questions. Don't be afraid to come to my office every single
day if you want. It's better for everybody (you AND me) if you understand
things sooner rather than later.
Any student with a documented disability or learning disorder is welcome to
come talk to me privately about accommodations to help you complete
exams and homework assignments. All discussions will remain
confidential.
CSc 538 homepage