Course Project
Organization
There will be a group project (3 students). The class will collectively choose a topic by . Once it is available, you can access the project description here. In the project you will design a database schema for a given application domain, derive a relational schema (and implement an SQL script to create this schema), and write an application accessing the database. The project will be split into three tasks:
- Design an ER database model : You will analyze the requirements of the application and then design an Entity-relationship diagram modelling the domain.
- Implement an SQL script that creates the database : You should use the techniques thought in class to derive an relational schema from the ER model and implement an SQL script that creates this schema for PostgreSQL.
- Implement the application : You will an application program that enable a user to store, manipulate, and query the database.
Source Code Management and Handing the Projects
The assignments will be completed in groups of three students. You are responsible for forming groups by September 5th.
Each student will get her/his own git repository on Github. You do not need to create a repository yourself - we will create a repository for each group. Git is a distributed version control system. Good introductions to git are gitmagic and the official git documentation.
Once groups are decided you will receive an invitation to a repository cs425-f22-groupnumber
. Your project work in this class will be submitted via your shared private repository on github. We will consider code submitted until midnight of the deadline. Using git, you can work independently on the application stored in the git repository.
Grading of the Project
Each students has to be involved in each of the three tasks (design, schema, application) and will be graded on his individual contribution.
We will check for plagiarism. Plagiarism will result in zero points for the assignment and possibly academic sanctions.
Late policy:
- -20% per day
Stuff to get familiar with
- See here for links to documentation and tutorials