CSE 305 Syllabus - Fall 2016

Principles of Database Systems course


Course Description

The design of database management systems to obtain consistency, integrity, and availability of data. Conceptual models and schemas of data: relational, hierarchical, and network. Students undertake a semester project that includes the design and implementation of a database system. (https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE305)


C or higher: CSE 219 or CSE 260; CSE major.

Course Outcomes

The following are the official course goals agreed upon by the faculty for this course:
  • An ability to design database management systems through E/R design and the theory of normalization.
  • An ability to use relational query languages.
  • An ability to design and implement a database system, via a significant project.

Major Topics Covered in Course

  • ER-modeling, functional dependencies, normal forms, relational algebra, SQL, constraints and triggers, datalog, data storage, indexes, query processing, simple query optimization.
  • Principles of Database Systems
  • The Relational Model and SQL DDL
  • Conceptual Design Using the ER Model
  • Relational Algebra and SQL
  • Using SQL in an Application
  • Schema Refinement and Normalization
  • Storing Data: Disk and Files
  • File Organization and Indexing
  • Implementation of Relational Operations
  • Relational Query Optimization


Instructor: Dr. Paul Fodor
214 New Computer Science Department, Stony Brook University
Office hours: Tuesdays and Thursdays 5:00PM-6:30PM
Phone: 1 (631) 632-9820
Email: paul.fodor@stonybrook.edu

Class email (forwarded to all the instructors and teaching assistants, fast response): cse305ta@cs.stonybrook.edu

Class Time/Place

  • Lectures: MoWe 4:00PM - 5:20PM, Javits Lecture Hall 109.


Michael Kifer, Arthur Bernstein and Philip Lewis, Database Systems: An Application Oriented Approach, Introductory Version, 2/E, Addison-Wesley, 2005. ISBN 0-321-22838-3.

The next three books are optional, and are listed as handy references.

C. Musciano and B. Kennedy, HTML, The Definitive Guide, Second Edition, O'Reilly & Associates, Inc. ISBN 1-56592-235-2.

Daniel Liang, Introduction To Java Programming, 10th Edition, Comprehensive Version, Pearson. ISBN-13: 978-0133761313.

D. Flanagan, Java in a Nutshell, Second Edition, O'Reilly & Associates, Inc. ISBN 1-56592-262-X.

G. Reese, Database Programming with JDBC and Java, O'Reilly & Associates, Inc. ISBN 1-56592-270-0.

Grading Schema

Grades will be based on homework and exams according to the following formula:
  • Homework, projects, and quizzes -- 25%
  • Midterm exams (2) -- 40% (20% each)
  • Final exam -- 35%

Do not miss the exam. Make-up exams will be given only in extenuating circumstances (e.g., doctor's note stating that you were ill and unfit to take the exam). Students who miss an exam for a valid reason may need to take a make-up exam; specific arrangements will be made on a case-by-case basis.

Exam dates:

  • Midterm exam 1: Monday 10/10/2016, classtime, in classroom.
  • Midterm exam 2: Monday 11/14/2016, classtime, in classroom.
  • Final exam: Tuesday, 12/13, 8:30pm-10:30pm, in classroom

The Pass/No Credit (P/NC) option is not available for this course.

This policy applies to all CSE/ISE undergraduate courses used to satisfy the graduation requirements for the major.

The grades will be posted on Blackboard: http://blackboard.stonybrook.edu for privacy reasons.

Programming homework assignments

There will be regular programming assignments which must be submitted electronically on Blackboard (http://blackboard.stonybrook.edu) by the announced due date and time. All code must compile. Code that does not compile will not be graded. Assignments will be graded based on program performance and documentation. You may not submit any programming assignment late. Late programming work will not be graded. All program code that is submitted electronically must have the following information listed clearly in documentation (comments in your program code) at the beginning of each file: your name, the course (CSE 305), your section, the programming assignment number, the lab/recitation date and your section's graduate TA's name. There is also a programming project before the end of the semester.


For re-grading of an assignment or exam, please meet with the person (instructor or teaching assistant) responsible for the grading. Please arrange a re-evaluation within one week of receiving the graded work. All such requests that are later than one week from the date the graded work is returned to the class will not be entertained. To promote consistency of grading, questions and concerns about grading should be addressed first to the TA and then, if that does not resolve the issue, to the instructor. You are welcome to contact the TA by email or come to his office hour. If you would like to speak with the TA in person, and have a schedule conflict with his office hour, you are welcome to make an appointment to meet the TA at another time.

Tentative Class Schedule

Week Lecture Topics
1 Principles of Database Systems
2 Relational Databases & Transaction Processing
3 The Relational Model & SQL DDL
4 Conceptual Design Using the ER Model
5 Conceptual Design Using the ER Model (cont.)
6 Relational Algebra & SQL
7 Relational Algebra & SQL (cont.)
8 Relational Algebra & SQL (cont.)
9 Schema Refinement and Normalization
10 Schema Refinement and Normalization (cont.)
11 Using SQL in an Application
12 Using SQL in an Application (cont.)
13 File Organization and Indexing
14 Implementation of Relational Operations
15 Relational Query Optimization

Disability Support Services (DSS) Statement:

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Disability Support Services, ECC (Educational Communications Center) Building, room 128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.
Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Disability Support Services. For procedures and information go to the following website: http://www.stonybrook.edu/ehs/fire/disabilities

Academic Integrity Statement:

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html

Critical Incident Management Statement:

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures.

Page maintained by Paul Fodor