NYU Database Systems (Spring'2000)

Programming Assignment -1


This assignment will involve developing a small web-based querying application (without using any DBMSs). I have created a data file containing the following information about the employees in a company: (download the datafile)

Format of the file: Each "employee record" will be a separate line, different fields will be separated by blank spaces, and there will be no blank spaces within the fields.

You will create a form-based web page, that allows the user to do the following:

Getting Started

You can do this by knowing a small amount of C, HTML, and CGI.

  1. Create the web page using your favorite text editor (Emacs, vi, ..) or web page creation tool.
  2. Write the "back-end" program in your favorite language (preferably, C or C++, but it can also be Java), which reads in the file, accepts CGI requests, and sends back responses

Read this on web programming with CGI and the cgilib library for C/C++.

Questions & Answers

  1. Can I use a fancy 4GL tool like Delphi/PowerBuilder that lets me create this application in a jiffy? To be fair to others, and to keep it non-trivial, NO. You have to use a programming language such as C, C++, Java; and CGI. 
  2. What language should I use for the backend program? -- I recommend C or C++; but you can do it in Java if you like. However: all the tools I will be providing to support your programs (cgilib, dbms) will primarily support C or C++; if you write programs in Java, it is your responsibility to furnish these tools for yourselves.

What to hand in

You will be graded on a) correctness of the program b) nicety of code and c) user interface (keep it simple).

When to hand in

Why are we doing this?

  1. This assignment will earn you most of the C and CGI skills needed for the final project and will save lot of time when you get started on that project.
  2. It will illustrate some of the difficulties in creating a database application without using a DBMS. (think about it)

Vishy Poosala, 1/27/2000

Back to Course Home Page