CS 462 - Course Syllabus

Basic Info

2008 Fall Session
Tuesdays and Thursdays, 12:30 - 1:45 pm
Olsson 011

http://www.cs.virginia.edu/~sherriff/cs462/
Instructor Information

Instructor: Prof. Mark Sherriff
Office: Olsson 228A
Office Hours: Monday - Friday, 2:00 - 3:00 pm
Phone: 982-2688
Email: sherriff@virginia.edu

Teaching Assistant: TBD
Desk: TBD
Office Hours: TBD
Email: TBD
Primary Text

Database System Concepts, Fifth Edition
Abraham Silberschatz, Henry F. Korth, S. Sudarshan
McGraw-Hill / ISBN 0-07-295886-3

Supplemental Text Info at http://www.cs.yale.edu/homes/avi/db-book/
Course Description

"Introduces the fundamental concepts for design and development of database systems. Emphasizes relational data model and conceptual schema design using ER model, practical issues in commercial database systems, database design using functional dependencies, and other data models. Develops a working relational database for a realistic application." -UVa Course Description

The course will focus on four main concepts:
  1. Database Design - This will include design philosophies such as E-R and Relational Algebra, along with studies of normal forms for databases;
  2. Query Languages - The main topic will be an in-depth study of SQL, with an overview of other query languages, such as Query By Example;
  3. Physical Implementation - This will cover the basics of how the information in a database is stored and accessed on various systems; and
  4. Database Interfacing - The final project will deal with topics such as JSP, PHP, and MySQL.
Course Highlights

During this course, you will learn:
  1. different database design techniques and what makes a "good" database design;
  2. how to use SQL;
  3. how a database actually works; and
  4. different technologies for interfacing with and presenting information in a database in a web-based semester project.
Course Requirements

You should meet the following requirements to take this class:
  1. Have taken CS 216 with a C- or better;
  2. Good programming skills;
  3. Ability to pace yourself on a semester-long project during the course of the class; and
  4. Can attend class regularly.
The biggest problem that we have had in this class is students who take the class but really do not have good programming skills or time management skills to complete the project. If you do not feel like you can handle these things, talk to the instructor.
Course Schedule

Date Topic Material
08/26 1. Introduction and Basic DB Concepts Ch. 1
08/28 2. The Entity-Relationship Model Ch. 6
09/02 3. The Entity-Relationship Model Ch. 6
09/04 4. The Entity-Relationship Model Ch. 6
09/09 5. The Entity-Relationship Model Ch. 6
 
Using Relational Databases
 
09/11 6. The Relational Model, HW 1 DUE Ch. 2
09/16 7. The Relational Model Ch. 2
09/18 8. The Relational Model Ch. 2
09/23 9. Beginning SQL, HW 2 DUE Ch. 3
09/25 10. Beginning SQL Ch. 3
09/30 11. SQL, Exam Review Ch. 4 & 5
10/02 12. MID-SEMESTER EXAM Ch. 4 & 5
10/07 13. Advanced SQL, HW 3 DUE Ch. 8
10/09 14. DB Interfacing w/ PHP and JSP  
10/14 NO CLASS - READING DAY  
 
Designing Relational Databases
 
10/16 15. Design and Normal Forms Ch. 7
10/21 16. Design and Normal Forms Ch. 7
10/23 17. Design and Normal Forms Ch. 7
 
Data Transmission and Security
 
10/28 18. Database Security Ch. 8
10/30 19. Database Security, HW 4 DUE Ch. 8
11/04 20. XML Ch. 10
 
Fundamental Database Technologies
 
11/06 21. Storage and File Structure Ch. 11
11/11 22. Indexing and Hashing Ch. 12
11/13 23. Indexing and Hashing Ch. 12
11/18 24. Transactions Ch. 15
11/20 25. Transactions Ch. 15
11/25 26. Concurrency Control, HW 5 DUE Ch. 16
11/27 NO CLASS - THANKSGIVING HOLIDAY  
12/02 27. Concurrency Control Ch. 16
12/04 28. Final Topics, Exam Review, PROJECT DUE  
12/12 FINAL EXAM - 2:00PM-5:00PM  
Assessment

Your final course average will be calculated using the following method:

Homeworks - 20% - Each assignment has 20 points assigned to it, for a grand total of 100.
Mid-semester Exam - 25% - In Class 10/14
Semester DB Project - 30% - Due 12/06
Final Exam - 25% - 12/17 2:00 pm

Your final letter grade will be determined by the following scale:
A+ 100 98

Rounding - Grade averages not falling as integers will be rounded up or down with consideration to class attendance and participation.

Pass/Fail - A course average of 70 or higher is required for a pass.

Audit - A grade of 60 or higher on one exam and on the final project is required for a successful audit.

A 97 93
A- 92 90
B+ 89 87
B 86 83
B- 82 80
C+ 79 77
C 76 73
C- 72 70
D+ 69 67
D 66 63
D- 62 60
F 59 0
Assessment Information

Homework
There will be five short homework assignments during the course of the semester. The assignments will include questions regarding and taken from the chapters assigned for each lecture. Specific grading criteria will be provided with each assignment.

Exams
There will be two exams during the course of the semester. The first will cover the entire first half of the semester (Introduction, E-R diagrams, Relational Algebra, SQL, and other minor topics). The final exam will be 1/3 on the first half of the semester, and 2/3 on the second half. This is mainly because the second half's questions will require the information from the first half in order to complete them. Sample exam questions will be provided before each exam takes place.

Semester DB Project
During the course of the semester, you will be expected to complete a project involving the creation of a database-related system. You will be provided a MySQL database account and web space that will be JSP and PHP enabled on CS servers. The project will entail the design of a database, with all accompanying evidence of its good design, along with a front-end application that will interface with the database through record gathering, inserting, deleting, etc. The project can either be done individually, or with a partner, depending on your availability to work with others. The project must be complex enough so that it is not a trivial exercise, but cannot be so complex as to take longer than one month of effort.
Class Management

General
  • Please feel free to stop by my office any time. I'm usually there 9:00-5:00 every day. However, it's always a good idea to email me before you come, just to make sure I'm there, and to make sure I don't leave early.
  • Also, feel free to call my office (982-2688) if you can't stop by.
  • I can't stress enough that email is the best way to get in touch with me. I check it literally every 5 minutes or so.
  • Please don't hesitate to contact me if you have any problems, concerns, questions, or issues regarding the course, material, or anything else in the class.
  • Homework assignments will not be handed out in class. Everything will be available online.
Attendance
  • Attendance in this class is vital to learning the material and making a good grade in this class.
  • Attendance will not specifically be taken every class, but it will be apparent who comes and who does not come on a regular basis.
  • If, however, you need to miss a class due to whatever reason, please just email me beforehand to let me know so I won't hold it against you later.
Homework Assignments
  • For your homework assignments, you may consult with any outside source you wish in the completion of your work. This includes classmates (in and out of this course), other textbooks, other faculty, etc.
  • However, if you do consult with any outside source (including and especially other classmates), you must cite each and every source that you consult and you must answer each question in your own words. I cannot stress this enough. Any homework that is a straight copy of anyone else's that is turned in with saying "we were working together and thus it's okay" will result in a grade of 0 for both homeworks. I simply ask that if you work together, take the time to understand the answer you are writing down, not to work on your penmanship.
  • Any misrepresentation of the work of others as your own work will be considered cheating and will be handled according to the University procedures on academic misconduct.
  • All homework is due during the first five (5) minutes of class on the day that it is due and may be submitted online or in person. Anything turned in after that time will be considered late and will be assessed an appropriate penalty at that time. Extreme circumstances will be considered if an assignment is turned in late, however this should be brought to my attention as soon as possible.
Exams
  • Any test that is missed due to any absence that is not a University Excused Absence will result in a zero (0) for that grade.
  • Any test that is missed due to a University Excused Absence or due to circumstances that are approved by me beforehand must be made up within a week of the missed test.
Semester DB Project
  • The documentation for the semester DB Project is due during the first five (5) minutes of class on the assigned due date on the course calendar.
  • All code for the project must not be changed, updated, written to, or altered in any way after the beginning of class on the assigned due date. Any changes to the code after this time, even the most minor change, will result in a 20 point penalty.
Grading Concerns and Appeals
  • All regrade requests must be made within one week of the assignment being returned to the student. After that point, regrades may be done at my discretion.
  • Bottom line: the sooner you bring something to my attention, the sooner we can correct it. Do not expect me to be exceedingly generous if you bring HW1 and HW2 to me on the last day of class.
This Syllabus
  • This syllabus is to be considered a reference document that can and will be adjusted through the course of the semester to address changing needs. This syllabus can be changed at any time without notification. It is up to the student to monitor this page for any changes. Final authority on any decision in this course rests with the professor, not with this document.
Professionalism
  • In this course, there will be a focus on working well together and learning about the development process. A large portion of that process involves interpersonal skills and conflict management. Students and staff are all expected to treat each other with respect.
  • This includes, but certainly is not limited to:
    • Excessive web browsing during class
    • Disrespectful language, either verbally or through email
    • Promptness for all deadlines and class meetings
    • Quality work
  • Students can and will be penalized for unprofessional behavior.
Academic Integrity

A student shall be guilty of a violation of academic integrity if he or she represents the work of others as his or her own or aids another's misrepresentation. Any violation associated with an examination will result in a failing grade for the course. Project or homework related offenses would incur a reduction of up to two letter grades. Such violations will be reported through the Honor System, which may impose penalties beyond those by the instructor. Specific instructions regarding collaboration and using outside help will appear on all assignments so there will be no confusion.
Students with Disabilities

If you have a disability that may affect your participation in this class, please notify the instructor. Students requiring extra time for examinations are asked to make arrangements at least three days in advance. You may contact Academic and Disability Services regarding campus services for more information and assistance.