COMS4111, Spring 2013
Course Information

The information on this page is subject to changes.

Time, Place  (campus map)
Section 1: Wednesday 1:10pm – 3:40pm, 1127 Mudd Building
Section 2: Wednesday 4:10pm – 6:40pm, 207 Math Building
 
Instructor
Alex Bilirisbiliris@cs.columbia.edu        
Office: 457 Mudd Building
Phone: 973-906-3919
Office hours: Wednesday 12:0pm - 1:00pm 
Course Description
You will learn what a database system is, how you can design databases effectively and in a principled manner, and how you can develop applications using databases. The course will focus on relational and object-relational databases. 
 
Topics
The fundamentals of database design and application development using databases: entity-relationship modeling, logical design of relational databases, relational data definition and manipulation languages, SQL; object-relational databases; XML; query processing; physical database tuning; transaction processing; security.
 
Prerequisites
- CS W3137 (Data Structures and Algorithms) or W3134 (Data Structures in Java).
- Fluency in Java. 
Equivalent courses taken elsewhere are acceptable as well. You need to get permission from the instructor if you do not have these prerequisites. This course is intended for both Computer Science majors as well as non-majors.
 
Textbook
Database Management Systems, by Ramakrishnan and Gehrke, 3rd Edition, McGraw Hill, ISBN 0-07-246563-8. (Available at  the Book Culture bookstore, located at 536 W. 112th St., between Broadway and Amsterdam Ave. Also on reserve in the Engineering Library.) Textbook supporting material (including solutions to some problems) can be found online
 
Grades
Grade is on a curve, modified to account for overall class quality. As a guideline, a total weighted numeric score higher than the median will translate to a letter grade of B+ or above and a numeric score below the median will translate to a letter grade of of B or below. Grades are based on the following weighting:
Four (equally weighted) homework assignments 15%
Two project assignments:
Project 1 is worth 15%, Project 2 is worth 5%
20%
Midterm (closed books) 25%
Final (closed books) 40%
 
There will be no make up exams of any kind except due to an immediate personal emergency in which case you must contact the instructor within 24 hours of scheduled test completion time with appropriate documentation regarding the problem.
 
Grading Issues
Your homework solutions as well projects are graded by one or more TA. If you are not satisfied with our grading of your assignment, please follow these steps in this order: 

(1) Check our solutions for the assignment carefully to understand what you might have done wrong in your solutions. 
(2) After checking our solutions, if you are still unsatisfied with our grading, please contact first the TA who graded the problem in question. 
(3) Any grading related complaints that cannot be resolved with the TA should be submitted by e-mail to the instructor. 

Finally, we will be posting your grades on Courseworks; if you find that we recorded your grade incorrectly please contact right away the TA who is in charge of record keeping.
 
Collaboration Policies and Procedures
Please read carefully the Computer Science Dept. policies and procedures regarding academic honesty.
 
Lines of Communication
The CourseWorks discussion board is a forum where students can post questions about assignments or the class in general. The TAs and the instructor check the discussion board postings frequently and do their best to answer postings promptly. To keep the volume of messages manageable, please check the class web site and the earlier messages on the discussion board before posting a question. Your question is likely to have already been posted and answered, especially close to homework and project deadlines. 

In addition, we will send you email announcements (via CourseWorks) only to make important and time-sensitive announcements regarding the class.
 
Finally, feel free to email the class staff with your question after you check the class web site and the bulletin board to make sure your question has not already been answered.