Spring Semester, 2009
Charlie Peck
email: charliep at cs dot earlham dot edu
office: Dennis 202, x1667
URL:
http://cs.earlham.edu/~charliep/courses/database-systems
class list: cs430 at cs dot earlham dot edu
Database systems are powerful, complex facilities for managing data. They provide a rich environment for study from both external and internal perspectives. From the outside a database management system is an important part of most application development. This is true for client-server, Web enabled, and peer-to-peer applications. On the inside, database management systems contain almost all the sophistication and complexity of an operating system plus additional functionality not found in operating systems.
During the course of the semester we will map-out this large landscape and then focus on particular components of it. We won't cover the entire area evenly although we will visit each place at least once.
Regular class sessions will meet Tuesday and Thursday from 8:30a until 9:50a. There will be a steady amount of reading, exercises, and projects throughout the semester.
This course is based on a variety of learning modalities: lecture, discussion, exercises, and software projects among them. My hope is that this breadth of approaches will make it easier for you to grasp the big-picture; data storage and retrieval is everywhere and relational databases are often the best way to handle it.
There will be a couple of days when I am off-campus this semester, I'll let you know well in advance of those times.
The only prerequisite for database systems is advanced programming (CS256). Algorithms and data structures (CS310) is a co-requisite. If this doesn't describe your situation please see me at the end of class on the first day.
There is one required textbook for this course:
It's always worth checking the errata for any textbook you use.
Most of the reading assignments will come from the textbook. Additionally there will be a few journal articles which I will assign. There will be a reading assignment due each week during the semester.
Exercises will come from the textbook. They're due roughly once a week. The particulars of each exercise set will be explained in class and posted at assignments.html. There will be a total of about 13 exercise sets during the semester.
This course will utilize software projects which are designed to give you an opportunity to apply what you are learning as we go. There will be about 4 projects in total. I will announce the particulars of each project when they are assigned.
If you have questions or need to have something explained there are lots of ways to get help. Here are some options, in no particular order:
Email is the best way to reach me, my schedule tends towards the dynamic. If I receive a question that I think the class could benefit from I will strip off any identifying information and submit my response to the class listserv.
Often talking to one of your classmates (particularly ones that are known to show-up to class regularly and stay awake while there) is the fastest way to get something straightened-out.
There will be mid-term and final exams for this course. These will be straight-forward and will build on the exercises and projects done to-date.
I expect that you will show-up for every class prepared to engage your fellow students and myself in the enterprise of learning. Among other things this means that you will have completed any reading, exercises, projects, etc. that are due that day. One way I measure this component is by taking attendance at the start of class each day. The other measurement techniques I utilize for this component are more difficult to quantify.
Assignments will be turned-in at the start of class on the day they are due. I will accept any assignment (exercise or project) for partial credit up to one week after the due date. They will be marked down according to how late they are but they will always count for credit. One week or more after the due date for any particular assignment I will not accept it any longer for credit. I am happy to correct work that is older than one week but you won't receive any credit for it.
The breakdown for how your grade will be determined is as follows:
Please let me know as early in the semester as possible if there are any adaptations or accommodations you require, if there is any emergency medical information I should know about, or if you might need special arrangements in the case the building needs to be evacuated. The Earlham policy is:
It is important to follow this procedure.
Often you will find it useful to discuss specific problems, techniques, etc. with tutors and fellow students. The sharing of ideas is a helpful and normal part of learning, and is encouraged. In particular one of the best ways to really learn something is to teach it to other people.
However, any assignment that you turn in should be entirely your own work. It is not acceptable to ask a tutor or fellow student how to do a problem or project, and then turn in a close paraphrase or transcription of their response. Instead, you should use other problems to aid in learning specific techniques and then apply your new knowledge to the original problem.
See the Academic Integrity Policy in the Academic Handbook for the official Earlham College policy, http://www.earlham.edu/curriculumguide/academics/integrity.html
One key to a good grade in this course will be consistently doing the work. Catching-up will be difficult given a) the late work policy (one week maximum for any item), and b) there are no exams.
This four part mantra captures the essence of doing well in most things in life including this class:
The first three can be summed-up as actively participate, or dive-in, as the case may be. The fourth ought to be a given, IMHO.
While writing this I consulted a variety of materials, including syllabi and course materials from Jennifer Ziebarth, Chris Hardie, Josh Hursey, Peter Suber, Jim Rogers, and Ray Ontko. Thanks for your (inadvertent) help.