CS357 -- Spring 2008 Syllabus

Goals of this course People, places, times Required textbooks Computer usage
Homework policy
Exams Grading policy


Goals of this Course

A database system (such as Oracle, Microsoft Access, or MySQL) is an amazingly sophisticated piece of software.  It must contain: The purpose of this course is to examine these issues.  We will not use a commercial database system.  Instead, we will look at the guts of a small database system, written in Java.  This database system is structured the same as a commercial database system, but we will be able to modify, improve, and extend it in any way that we like.

This course has several goals beyond the study of database systems principles.  The algorithms you learn will be useful in building other systems and applications.  And you get to improve your Java programming skills.

This course requires only a good knowlege of Java programming, at the CS102 level.  You do not need experience using a commerical database system -- we will learn all database concepts that we will need.


People, Places, and Times

The class meets MWF 10-11 in Fulton Hall room 415.

Instructor: Edward Sciore

  • E-mail: sciore at bc dot edu
  • Office: Fulton Hall 410A
  • Phone: 552-3928
  • Office Hours: MTuWF 11-12
  • Office hours are the times that I am guaranteed to be in my office. However, I am at school most days (except Thursdays) from 8:30AM to 4PM, and am in my office most of the time. Feel free to see me any time I am in. We can also schedule an appointment. Do not worry about seeing me too much.  I like to give help -- it's my job.  Feel free to see me early and often.

    There is no TA for the course.  I will be doing all the grading myself.


    Textbook Info

    The text for the course is "Database Management: A Systems Approach Using Java" by Sciore.  Well, it's actually just a draft of a forthcoming book.  The book covers too much material for a single course.  We shall focus on Parts 3 and 4 (Chapters 12-24), although we shall also cover some of the earlier material as needed.

    Computer Info

    We will be doing a lot of Java programming.  You are welcome to use your own machine or you can use the workstations in Fulton 160.  You ought to have Java 6 installed, although you can get by with Java 5.  This is especially relevant to those who use the lab in 160 or those who own a Macintosh, because Java 6 has not yet been ported to the Macintosh.  Don't get me started about that.

    Homework Policy

    The main focus of the class will be the programming assignments; each assignment will ask you to extend a specific component of the database system.  I may also give pencil-and-paper assignments, to fill in gaps where programming is impractial.  All assignments must be done individually.

    Exams

    I expect to give two midterms and a final. Dates and topics of the midterm exams will be given as their time approaches. The final exam will be on Tuesday May 6 at 9am.

    The exams will cover both the theory of database system implementation (as covered in class), as well as what you have learned by writing code.  Therefore it is crucial that you work hard on the assignments; if you do not, you are unlikely to pass the course.


    Grading

    Your final grade will be computed based on my understanding of your understanding of the material. In my experience, exams tend to be the best indicator of understanding. I realize that you will be spending a lot of time on homework, and want that to "count" towards your grade.  My belief is that if you do the homeworks diligently and understand what you did, your test scores will correspond.  Conversely, if you spend your homework time doing trial-and-error and getting too much "help" from friends, your test scores will plummet and your time will be wasted.

    As a first-cut, general guide, I use the following percentages in computing your grade:
     

    Homework:  35% total
    Midterm Exams:  15% each 
    Final Exam:  35% 

    To that, I adopt the principle that you cannot get a final grade higher than your best exam grade. I also figure in qualitative things, such as class participation and office-hour interactions.  Only a fool would make important decisions based solely on numbers.