This course gives the student insight into the techniques that underpin modern database systems. This includes data structures and algorithms to support efficient data access, query optimization, transaction processing, recovery, security, programming language and web-based interfaces to databases. In addition the course will explore current topics in database research and development as well as advanced applications of database systems.