Due: Wednesday, May 5, 2:30 pm, by email.
This assignment is just brief preparation for the upcoming project. It is not at all time consuming, since we will have a midterm next Friday, but it is important to start thinking about the project.
The course project is designed to give you hands-on experience with all the concepts we are covering in this course. This includes managing resources in a low-level language (ie. C), working in teams effectively, managing your build environment, and constructing and maintaining tests and documentation, among other things.
The project will involve designing and implementing a small C program to manage a set of data. Your program will likely store data in a file, and it will read queries on STDIN and write responses to STDOUT. In this sense, it can be viewed as a simple database (though you do not need to be concerned with learning advanced database algorithms-- that's for a later course).
Select the members of your group. Groups should have 2 or 3 people, but you should only have 3 if no one in your group has programmed in C or C++ before.
Select a domain for the data to be stored in your project's database. You have considerable flexibility here, but be careful to keep your design simple, or you'll get bogged down in the details. Examples could include metadata about a music collection, news articles or web logs indexed by date or subject, or user accounts for a distributed system-- be creative.
You should email Charlie with the full names and CSE Unix login names of everyone in your group, along with a one sentence description of your chosen domain. Everyone should turn this in, though it's ok if each member of your group has the same domain description.