Database-enabled Web Technologies
LIX021B05, 2011/12, semester Ib

LIX021B05
Introduction Course plan Project suggestions Links

Introduction

This course is an introductory course on server side web programming for accessing databases. The course is a project-based course: students will build a real web-based application for allowing access to data stored in a relational database.

After completing this course, students should be able to:

See syllabus for more information.

Requirements

Familiarity with relational database management and relational database design concepts is required. You should already know a programming language, and be comfortable with learning another one in a short time. If you have completed 'Databases' and 'Introduction to Programming' courses, you should have sufficient background. Otherwise, contact the instructor before enrolling.

Course plan (tentative)

Date Subject Course material
Nov 9 A crash course in PHP slides handout
Nov 16 DB design: an introduction slides handout
Nov 23 Web programming: background slides handout git exercises
Nov 30 SQL and programming
Accessing databases from PHP
slides handout
Dec 7 Session Management slides handout
Dec 14 Security slides handout
Dec 21 High performance web applications
More on security & Summary
slides handout

Project

Projects are the most important part of this course. You will be required to complete a project that includes a database design and a web-based application for accessing this database. You are encouraged for form a team of up to 4 people. However, it is important that everybody in the team contributes to the project (approximately) equally.

Whether you do it alone or as a team, your are required to use a version control system for your project. The recommended version control system is git (See resources at the end of this document for links to git related introductory material. If you intend to use another version control software, you should first discuss it with me. Use of a central repository (for example publicly accessible software hosting services) are highly recommended.

You are required to submit two short reports: one after initial design, and one on completion of the project. As well as the final product of your project, the reports will affect your grade. The deadlines for various parts of the project will be discussed during the class.

The time for the course (and for the projects) is short. So, starting early and reserving regular work time for your project is important. You should try to form your teams and chose your subjects as soon as possible. The following is a list of project suggestions.

Project Ideas

... or your project idea (discuss with me first before starting).

External Links

Contact

Instructor: Çağrı Çöltekin
Office hours: Tuesday 15:00-17:00 (or by appointment).