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 the previous course, 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 what you built).
-
- Course Format
-
- The class meets three times a week for lectures. We will follow parts of the recommended 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 sections. 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 multiple
written assignments that will prepare you for these practical labs
and will help you practice the concepts that we are learning.
Finally, while there are no regular exams in this project-based
class, we will have four, short quizzes in class to test your
understanding of each of the four labs, after you completed
them. There will be no quiz for the final project. Instead, you
will write a final report.
-
-
-
- Lectures and Sections
- Please see course home page for lecture and sections schedule and location.
- Lab assignments
-
- There will be five lab assignments. Please see the Homework/Labs 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 can be done in pairs (up to two students) but only starting
with Lab 1 part 2. For Lab 1 part 1 everyone needs to submit this
assignments themselves. Outside of your partner you shouldn't be looking
directly at other students' code, but it is OK for you to discuss your general approach to each lab with other students in the course.
- Written assignments
-
- There will be six written assignments to complement the lab assignment. The written assignments are published in pdf form and must be turned in to the course gradescope page. Please see the Homework/Labs page for details on due dates.
-
- Written assignments are to be done INDIVIDUALLY! You are not allowed to discuss any aspect of your solution with anyone.
Grading
444 grading (subject to minor changes):
Labs (including final project lab part): 50%
Final project report 10%
Six written assignments: 40%
544M grading: An extra 10% will be added to the above for paper readings. Your grade will then be scaled back down from 110 to 100.
544M and 444 groups will be graded separately at the end of the quarter.
Texts
Recommended textbook:
- Database management systems by Raghu Ramakrishnan and Johannes Gehrke.
You can also use the same book as in 344 (so you save money!)
- Database Systems: the Complete Handbook, by Hector
Garcia-Molina, Jennifer Widom, and Jeffrey Ullman. Available from the University Bookstore. Second edition.
- Late Policy
- You are allowed a total of 6 late-days that
you can use in 24-hour chunks and at most 2 late-days per
assignment. You can use late days for either labs or written assignments. No late-days can be applied to the final project due during finals week. 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
-
- 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
and written assignments, class messages and many other things. Please see the main webpage of the course for details.
- We will also extensively use the course message board.
- 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 and written assignments. 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.