COSI 127b: Introduction to Database Systems, Fall 2015 This course is an introduction to data management with Database Management Systems (DBMS). Students in this course will learn the requisite language, design and analysis skills to perform the functions of a database administrator (DBA) which include: formulation of database queries in various (theoretical and practical) query languages, logical and physical database design, application of techniques to ensure recovery and high availability, and profiling configured systems according to a variety of performance measures. As well, students will learn about the data structures (e.g., B+-trees, file structures) and algorithms (e.g., query optimization) found in most systems, and apply this understanding to the tuning of configured systems to best meet specified performance objectives. Logistics: Where and When: Meeting Place: Meeting Times: TBD 3:30-4:50 Mon, Wed + Evening help sessions or makeup classes TBA Professor: Mitch Cherniack (mfc@brandeis.edu) Office: Volen 259 Office Hours: Tue 3:30-4:30, Wed 5-6 (or by appointment) TAs: Zhibo Peng (docp@brandeis.edu) Office: Volen 109 Office Hours: TBD Jessica Song (sjeeyoon@brandeis.edu) Office: Vertica Lounge Office Hours: TBD Michael Partridge (mpartrid@brandeis.edu) Office: Vertica Lounge Office Hours: TBD Eden Zik (edenzik@gmail.com) Office: Vertica Lounge Office Hours: TBD Kahlil Oppenheimer (kahlil@brandeis.edu) Office: Vertica Lounge Office Hours: TBD Prerequisites: The prerequisites for COSI 127b are passing grades in COSI 29a and either COSI 12b or COSI 21a. You should be familiar with Unix (Linux) and Java, although these will be reviewed in evening help sessions once the 1st programming assignment has been assigned. Resources: The textbook for the course is Database System Concepts, sixth edition, by Silberschatz, Korth and Sudarshan, published by McGraw-Hill. Copies are available in the bookstore. Slide content will often be borrowed from slides available at the textbook's web site at http://www.db-book.com. You're encouraged to download these files for your notes, but note that the slides and other materials presented in class may vary. Course Communication: All course communication will take place via the course latte page, which you should be able to reach from http://latte.brandeis.edu once you register for the course. The latte page will provide: all documents for the class (including this syllabus, problem sets and solutions, programming assignments and supplemental files and help session materials) class announcements (e.g., class cancellations) powerpoint slides for every lecture a forum (‘Questions for the Instructors’) for posting questions on the lectures, assignments. Note: the use of latte for posting questions is a way to both be fair to students in the class, as well as a way to save the time of your instructor and TA’s. It allows all questions and answers to be seen by all in the class, and helps to ensure that the same question does not get posed multiple times. Any questions on the course content or assignments that is not posed on latte will be ignored. Work Expectations: COSI 127a is a 4-credit hour course with three hours of class-time per week. Success in this 4 credit hour course is based on the expectation that students will spend a minimum of 9 hours of study time per week in preparation for class (readings, papers, discussion sections, preparation for exams, etc.). Evaluation: Exams: There will be a midterm on Monday, October 26 and a 3 hour final for this course druing the exam period. Assignments: There will be 7 written problem sets and 3 programming assignments. All assignments are due by the start of class (3:30) on the assigned due date. Problem Sets: Collaboration will be permitted on the problem sets, but all submissions should still reflect each student’s own work. Thus, students may discuss their approaches to individual problems, but then should write up their solutions on their own. All problem set submissions should adhere to the following guidelines: 1. Each problem should begin on a new sheet of paper to facilitate grading 2. Your name should appear on every page of the assignment. 3. Pages of the assignment must be stapled together. Submissions that are not stapled risk having pages lost. 4. Assignments must be submitted in hard copy form, either in class or to any TA outside of class. Assignments can also be put in any TA’s mailbox in the COSI office on the 2nd floor, but such submissions require a signature with a date and time from Myrna, Katie or Ann (who have desks in the COSI office). Note: Please do not email your problem set submissions to me or any of the TAs. Emailed submissions will be ignored. It is highly recommended that you photocopy your assignment for your own records prior to submission Programming Assignments: Unlike the problem sets, no collaboration is permitted on programming assignments. Programming assignments should be submitted on or before the due date and time in both hard copy and soft copy form. Hard copies can be brought to class. The TA will give instructions on how to submit soft copies. Late Policy Problem set and programming assignment submissions after the due date and time are considered late. Late submissions result in a 50% penalty. For example, if a late submission has a raw score of 100%, it will be given an adjusted score of 50% as a result of the late penalty. Note that we will post solutions for each assignment 24 hours after the deadline, and that no late submissions will be accepted after solutions are posted. Grading Grades will be apportioned roughly as follows: Midterm: Problem Sets: Programming Assignments Final Exam: 25% 10% 15% 50% Note that all classwork used to determine your grade in the course must be completed over the course of the semester. Under no circumstances will additional credit be given for work done outside of that which is assigned. Schedule: As best as possible we will keep to the schedule shown on the latte page for the course As some topics may require more time than is allotted, the lecture schedule may get modified as we get further into the course. Thus, keep track of this calendar on a regular basis. The reading assignments cover the material that is discussed that lecture. If you want to read ahead, you should read this material before coming to class. Important Dates: Problem Sets: PS 1 Out: 9/2 Due: 9/9 PS 2 Out: 9/21 Due: 9/29 PS 3 Out: 9/30 Due: 10/7 PS 4 Out: 10/7 Due: 10/14 PS 5 Out: 10/14 Due: 10/21 PS 6 Out: 11/4 Due: 11/11 PS 7 Out: 11/30 Due: 12/9 Programming Assignments: PA 1 Out: 9/9 Due: 9/21 PA 2 Out: 10/26 Due: 11/4 PA 3 Out: 11/11 Due: 11/30 Exams: Midterm Mon, 10/26 Final TBD Students with Disabilities: If you are a student with a documented disability on record at Brandeis University and wish to have a reasonable accommodation made for you in this class, please see me immediately after the first class. Class Rules: 1) No use of laptops, phones, tablets etc during class: Slides will be posted online on the class latte page, so there will be no need to look at your laptop during class. 2) Bring paper and pens/pencils to class: We will often have class exercises based on topics covered during class. Please come prepared. 3) No distracting behavior: Please avoid chatting with your classmates during class, as it is distracting to your fellow students and to me. Offenders may be asked to change seats or to leave. Why You Should Come to Class: 1. References are more important than grades a. I only write references for students I know b. Good grades are not enough for good references c. Speak up in class too! d. Come to office hours too! 2. Study from last offering of COSI 127: Regular attendees do better! Why You Shouldn’t Cheat on Your Homework: 1. It’s Against Bran 2. Brandeis University policy on academic honesty is detailed in your Student Handbook under Rights and Responsibilities. Cheating or plagiarism will not be tolerated and will be prosecuted according to University guidelines. 3. You will get caught Never underestimate a COSI 127a TA! 4. Problem sets are only worth 10% total! (Programming Assts worth 15% total) 5. Stops you from performing well on midterm (25%) and final (50%) 6. References are more important than grades