Time and Place
Location: SSL 228
Time: Monday, Wednesday, Friday, 11-11.50AM
Course Objectives and Goals
This course provides students with an introduction to the design of databases and the use of database management systems for applications. We will cover the entity relationship (E/R) approach to database design. We will cover the relational data model, mapping E/R designs to relations, relational design theory, abstract query language such as relational algebra, and programming in SQL. Students will get exposure to how relational database management systems are used to implement a database. Time permitting, we will also consider advanced database management features such as object-oriented and object-relational database systems. This course is aimed at database design and use of database management systems in implementing database applications. It does NOT cover the implementation of database management systems which will be covered in extensive details in the follow-on courses ICS214a, ICS214b and ICS215.
Prerequisites
Students should have some experience of programming in either C++ or Java.
Collaboration Policy
Students are encouraged to work in a group for their project assignment. The groups should not have more than 3 students. The assignments on the other hand should be done individually. Students can however feel free to discuss the assignment with their peers.
Grading Criteria
| Assignments | 20% |
| Project | 20% |
| Midterm | 25% |
| Final Exam | 35% |
Textbooks
A First Course in Database systems, by Jeff Ullman, and Jennifer Widom.
Database Systems Concepts, by Silberschatz, Korth, and Sudarshan