MCS-177 Project: Movie Query System
Due: Monday, December 2, in class
MCS 177: Computer Science I, Fall 2002
In this project, you will finish a program that uses a natural
language interface with a database of movies by working through
section 7.6 of the text. There are two major parts to this project.
One is to write the procedures you need to search through the
database. The second is to finish the implementation of the natural
For this lab, you will work in groups of two (with perhaps one
group of three, should that prove necessary due to an odd number of
students). You will find a partner in class on November 13.
Remember that working in a group of two does not necessarily mean
that your work load will be halved. Be sure that each partner
contributes and that neither partner monopolizes the process. We
encourage you to meet with your lab instructor on Tuesday, November 19
to assess how the lab is going and, if need be, to come up with
strategies for more successfully working together.
You should simply turn in a DrScheme printout that shows your
procedures and the tests you did. Be sure to group your work into
logically related sections and put a descriptive heading at the
beginning of each section. Your audience for this report consists of
people already familiar with this assignment.
To get some sense of how this project report will be
graded, look at the grading sheet
that we use.
You are required to do exercises 7.22-7.32 (except for exercise 7.28)
for the project, and you may additionally do as many of exercises
7.33-7.38 as you have time and interest. You should probably do
exercise 7.34 before exercise 7.35, but otherwise the optional
exercises are independent of one another, so you can generally do any
of them without having done the preceding ones.
Following is a breakdown of the exercises into related groups:
- Save the following file to somewhere in your directory:
and then evaluate everything in it. This file contains the main procedures
for the movie query system from section 7.6, commented and organized for
your ease of understanding.
Work on exercises 7.22-7.24 on pages 189-190 during the first lab
day. These exercises will give you practice manipulating lists using
filter and map. You do not yet have to work with the
movie query system.
Next do exercises 7.25-7.27 on pages 196-197. These exercises deal
with the basics of the query system. Note that you can't actually test
your solution to exercise 7.25 using the query-loop until you reach
exercise 7.27. However, other than this you should test as you go. As
the text of exercise 7.26 remarks, you should test each procedure
independently rather than only in the context of the overall
The final required part of the lab is exercises 7.29-7.32. For
these exercises you'll want to use the second version given in the
text of the pattern/action list and the matches?
procedure. The second of these versions is commented out at the bottom
of the movie.scm file.