Meetings: Tuesday/Thursday 9:30-10:45 in Fred Brooks 009

Instructor: Gary Bishop (SN 255, 919-590-6186,,

Office hours: See the help page.

Course description:Placement of data on secondary storage. File organization. Database history, practice, major models, system structure and design.

Goals and Key Learning Objectives: The material covered in Comp 521 can be broken into three areas of emphasis. The first area includes database foundation material such as the relational model, relational algebra, and normal forms. The second area of emphasis is database application programming and includes among others the topics of Structured Query Language (SQL), integrating databases into programs, web-based database usage, and active databases. The third area of emphasis is the systems side of databases, which includes database indexing, efficient query evaluation, the transaction-based model, concurrency, and security.

Prerequisites: Comp 410, 411 and (Comp 283, Comp 590-079 Discrete Structures, or Math 381).

Textbook: Database Management Systems, Third edition by Raghu Ramakrishnan and Johannes Gehrke McGraw-Hill Higher Education © 2003, ISBN: 0072465638.

Web site:

Software: Python, and SQLite are available free online.

Grading: Assignments 40%, Midterms 30%, and Final Exam 30% (Tuesday 10 December 8-11).

Quizzes: There will be brief quizzes in class using Poll Everywhere. You will need a phone with text messaging capability or a web browser to submit your answers.

Assignments: There will be about five large programming assignments. They are to be submitted before midnight on their due date.

Exams: There will be two midterms and a final exam.

Collaboration: Collaboration on assignments is encouraged. However, what you hand in must be your own work. Good scholarship requires that all collaboration must be acknowledged. Thus, if you collaborate on the solution of a problem set, I expect that you list your collaborators at the top of the page. Collaboration on in-class evaluations (quizzes, midterms, final) is, of course, a violation of the Honor Code . This includes discussion of questions on a quiz, midterm, or final with students from a section that have not yet taken that evaluation.

Course Policies:

  • Attendance is expected but I will not take roll.
  • If you miss an in-class quick quiz you may not make it up.
  • Late assignments will not be accepted.
The course final is given in compliance with UNC final exam regulations and according to the UNC Final Exam calendar.

Disclaimer: The professor reserves to right to make changes to the syllabus, including project due dates and test dates. These changes will be announced as early as possible.