- Did you make sure to submit the following files?
- Makefile
- README
- main.cpp
- InputTokenizer.cpp and InputTokenizer.h
- SimpleMap.cpp and SimpleMap.h
- Movie.cpp and Movie.h
- SortedList.cpp and SortedList.h
- ArrayList.cpp and ArrayList.h
- Movie.doc (small changes to data members)
- SortedList.doc (minor changes from P1's MovieSortedList.doc)
- ArrayList.doc (minor changes from P1's MovieArrayList.doc)
- MovieTester.cpp and MovieTester.h
- MovieSortedListTester.cpp and MovieSortedListTester.h
(use template class SortedList<Movie, MovieComparator>)
- MovieArrayListTester.cpp and MovieArrayListTester.h
(use template class ArrayList<Movie>)
- Proposal.two.doc
- StyleExercise.cpp
- Algorithm.cpp and Algorithm.h
- MovieComparator.cpp and MovieComparator.h
Note: you don't have to submit MovieSortedList or
MovieArrayList (neither the .h nor the .cpp). We will use
your templatized files, SortedList and ArrayList.
- (3/16) Does your Proposal.two.doc file contain
the following:
- the name of classes YOU thought of (so, not ArrayList
and SortedList, unless they appear as data members of
classes YOU thought of)
- a brief description of what the class is for
- a list of its data members
- a list of PUBLIC methods (you don't need to include private
methods.
Does it contain enough information that another student could
implement the class and have an idea of why the class is implemented
in that way? Does it contain at least two classes, which are
divided so it's easy to locate? For example:
Class: Name
Purpose: Stores a person's first and last name
// Rest of documentation for Name
*************************************************
Class: JournalEntry
Purpose: To store information about one journal entry
// Rest of documentation for JournalEntry
Ideally, you should have enough information that someone could
(theoretically) write a project using the classes described in your
documentation file. However, since the project 4 description is still
not complete, you're not expected to have a full set of classes, only
2-4 classes you think will be needed for Project 4.
- Did you compare movies in sort214 using relational
operators and NOT MovieComparator (this makes sort214
more general, so it works with other ArrayList objects)?
- Did you make sure to change the vector<std::string>
in Movie to ArrayList<std::string>? You will
need to make several minor changes to make this new data member
work with your Movie code.
- Did you make sure that contains() and remove()
now take Data objects (in this case, Movie) and update
this in your MovieSortedListTester files (they no longer takes
strings as parameters, but now take Movie variables instead)?
In particular, the commands now look like:
SORTED VERIFY z . contains ( y )
SORTED VERIFY z . removes ( y )
where y is a Movie variable, not a string.
In project 1, it was:
SORTED VERIFY z . contains ( "gone with the wind" )
SORTED VERIFY z . removes ( "star wars" )
where the argument was a string. This is no longer the case.
- Did you make sure that SortedList.doc and ArrayList.doc
have three sections, to describe the three classes?
For SortedList.doc, this would be SortedList,
SortedList::Node, and SortedList::ConstIterator.
For ArrayList.doc, this would be ArrayList,
ArrayList::Iterator, and SortedList::ConstIterator.
- Did you make sure to write your Proposal.two.doc documentation
just like you did for SortedList.doc, etc? This should
contain descriptions of at least two classes (up to four classes).
You may add more than four classes, if you have time.
- Did you make sure your Makefile produces the executable p2?
- Did you write a static method called void runTestDriver()
for Movie, SortedList, ArrayList
classes? (They are not being graded for any of the Tester classes).
This method should test your classes, in a manner similar to
the one shown in the Test Driver Tutorial (go to main webpage,
and click on Tutorial---one of the tutorials is on test drivers).
- Did you make sure you have recent files from the P2 directory?
- Did you make sure to test your files (make sure that
it untars correctly, etc)? Just because it "submits" doesn't
always mean that you have passed primary (although it USUALLY
means that). It's best to test your own tar file, and run
diff (as explained in the handout given in the first day of lab).
- Did you reread the FAQ?
- Did you alter the parameters to public functions in
SortedList? You shouldn't have. In general,
AVOID CHANGING PUBLIC methods. Some people change
parameters when it becomes inconvenient, even though
in reality, altering public methods may mean other people
who use your code will be very unhappy, and while no one
else is expected to use your code, the best way to rewrite
recursive functions is to use private helpers function which does
all the recursion, and pass in the parameters you want.