CSE 444: Syllabus
  - Course Goals
-  
- Databases are at the heart of modern
    commercial application development. Their use extends beyond this to
    many other environments and domains where large amounts of data must
    be stored for efficient update, retrieval, and analysis. In CSE 344, we learned how to use a variety of data management systems and we learned some basic data management principles. In this course, we will study the principles behind building data management systems. For the detailed list of topics and schedule, please see the course calendar. 
-  
- We now live in a world that is increasingly driven by data! This course will give you the conceptual knowledge and practical training for building the systems and tools necessary for handling all this data. Interestingly, we will not tell you how to build the next generation of data management systems but we will teach you important concepts that will help you invent how such systems should be built (then you should come back and tell us about them).
  -  
- Course Format
-  
- The class meets three times a week for lectures. We will follow parts of the textbook (see
    below). While the lectures are designed to be clear and self-contained, and
    to cover all the material used in class, you are strongly
    encouraged to read from the textbook, both in order to get a better
    understanding of the material covered and to learn about related
    topics, which are not covered in class. Please note that the lectures will be a combination of whiteboard, powerpoint, and live demos. Lecture notes will be made available online, but they are brief and insufficient to learn the material. The lesson is: do not miss classes and take notes.
 In addition to the lecture there will be two sections taught by the TA. The sections will discuss the material taught in class, will give detailed instructions on how to get started with the lab assignments, and will give you
  an extra opportunity to ask questions.
 
 There will be several lab
  assignments, involving significant programming, and several Webquizes on Gradiance.
 
  - Lectures and Sections 
 
- Please see course home page for lecture and sections schedule and location. 
 
  - Homework assignments
-  
- There will be several lab assignments. Please see the homeworks page for details on due dates and submission instructions. 
-  
- The labs will involve heavy Java programming. They will also use JUnit. We do not teach JUnit in this course. We assume that you have seen it in 331. If you have never used JUnit before, we encourage you to learn it as part of completing lab1.
-  
- Labs are to be done INDIVIDUALLY! However, it is OK for you to discuss your general approach to each lab with other students in the course. 
  
  - Gradiance Webquizes
-  
- There will be several Webquiz assignments, administered through Gradiance. Please see the webquizes page for details on due dates and instructions. 
 
  - Exams
-  
- There will be a midterm and a final. Please see the course schedule for dates and locations.
  - Grading 
-  
- Labs: 50%
- Webquizes: 15%
- Final: 35%
  
  - Texts
Main textbook:
  
    - Database Systems: the Complete Handbook, by Hector
      Garcia-Molina,
      Jennifer Widom,
      and Jeffrey Ullman. Available from the University Bookstore. Second edition.  
Other texts:
  The library has the following that you might find useful if you
  require another explanation of a topic.
  
    -  Fundamentals of database systems by Elsmasri and
      Navathe.
-  Database management systems by Raghu
      Ramakrishnan
      and Johannes Gehrke.
-  Foundations of database systems by Abiteboul,
      Hull
      and Vianu.
  -  
- Late Policy
  - Lab assignments: you are allowed a total of 3 late-days that you can use in 24-hour chunks at anytime. Please note that once you use-up your late days, no additional extensions will be granted for any reason at all. You should thus save your late-days only for true emergencies.
- Webquizes: there are no late days allowances for Webquizes, but we will drop your lowest score (for example, if you miss one Webquiz, that won't count). You may retry a webquz as often as you want: the highest score you have achieved on Gradiance as of the due date is your score for that assignment.
-  
-  Attendance
-  
- We hope
    you will attend every lecture. If you miss a
    lecture, talk to a
    friend who was present, and be sure to check the Web site for class
    messages. 
- Resources
  - The course website and mailing list will be used
    extensively to provide you with
    course information, such as the schedule mentioned above, lab
    assignments, class messages and many other things. Please see the main webpage of the course for details.
-   
- Computer Use Policy
-  
- Some excerpts from the campus policies.
    Take them seriously: "You must use all UW [computing] resources in
    strict
    accordance with local, state, and federal laws. These laws cover such
    areas
    as illegal access to computer systems, networks, and files; copyright
    violations;
    and harassment issues... Software and information resources provided
    through
    the university for use by faculty, staff, and students may be used on
    computing
    equipment only as specified in the various software licenses.
    Unauthorized
    use of software, images, or files is regarded as a serious matter and
    any
    such use is without the consent of the University of Washington...If
    abuse
    of computer software, images, or files occurs, those responsible for
    such
    abuse will be held legally accountable."
  - Academic Misconduct
-  
- All work turned in is expected to be your own.
    Although students
    are encouraged to study together, each student is expected to produce
    his
    or her own solution to the labs. Coping or using sections
    of someone else's program, even if it has been modified by you, is not acceptable. We will use the standard tools to detect cheating.