CS 525: Advanced Database Organization - Spring 2013

Organization

There will be several programming assignments during the course. Starting from a storage manager you will be implementing your own tiny database-like system from scratch. You will explore how to implement the concepts and data structures discussed in the lectures and readings. The assignments will require the use of skills learned in this course as well as other skills you have developed throughout your program. Each assignment will build upon the code developed during the previous assignment. In the end there will be an optional assignment for extra credit. Each of the regular assignments will have optional parts that give extra credit. All assignments have to be implemented using C. We will specify test cases for the assignments, but you are encouraged to add additional test cases. Detailed descriptions will be linked on this page once an assignment is handed out. In the end of the semester there will be a programming contest.

Server Account

Every student will get an account on one of our servers that runs linux. You should use this account to test your code. The TA will evaluate the code on this machine.

Source Code Management and Handing in Assignments

The assignments will be completed in groups of three students. Groups will be determined in the first day of class.

Each student will get her/his own git repository on BitBucket. You do not need to create a repository yourself - we will create a repository for everyone in the course. Git is a distributed version control system. Good introductions to git are gitmagic and the official git documentation.

At the beginning of the semester you should receive an invitation to collaborate on a shared BitBucket repository named css525-s13-username. All your work in this class will be submitted via your shared private repository on BitBucket. We will consider code submitted until midnight of the assignment deadline. Each group has to assign a group leader, this person´s repository will store the handed-in version of the source code. If the TA does not retrieve a notification he will choose a random group member's repository. You can use git to exchange source code from your individual repositories.

Grading of Assignments

The following criteria will be considered in the grading:

We will check for plagiarism. Plagiarism will result in zero points for the assignment and possibly academic sanctions.

Late policies:

Optional Assignment Ideas

This is not a comprehensive list. Suggest your own topic or contact the instructor for additional topics in a specific area.

Stuff to get familiar with