Nov 20, 2002 Here are my comments on the stage 1 beta version. I have included all of the team comments in this message - it just seemed simpler that way, and of course we are among friends and have no secrets from one another. Please note that I am requesting that all teams include certain functionality in their interfaces at this time. Please make certain that you update both your LDOCE and Big Mac interfaces to accomodate this, as well as anything else that I may point out below. This will be due by noon on Weds, Nov 27. Here is what I did in reviewing your modules: After compiling with the usual three steps, I checked out your perldoc documentation for clarity and content. Your perldoc should show me the syntax of your functions so that I can use them. If they did not, you should add that to the next version (due Nov 27). Then I attempted to run a program based on your test cases. If you had no or few test cases I have asked you to provide fuller testing in the next version (due Nov 27). You should have at least 20 cases executed via "make test" One of the teams (Alianza Lima) provided an interface program to be used with the interface module that was very helpful. I will demo that in class and ask that ALL TEAMS create such a program for their LDOCE and Big Mac modules by Nov 27. This should just be a simple menu driven interface that allows a user to use your module without having to write code. Provide options that allow output to be written to a file. If your modules don't support the following functionality for both LDOCE and BIGMAC, you should add it by Weds, Nov 27. Make sure your interface is able to find and display the following: A) Find all the definitions that include a given set of words. The set will consist of 1 or more words. "Label" each definition with the headword, part of speech, and or subject code that pertain to that definition. B) LDOCE: Given a word, find all the other words that share the same semantic code. If a word has multiple semantic codes, keep a seperate list of words for each. "Label" each list with the given word and the semantic code. Big Mac: Given a word, find all the other words that share the same value. If a word has multiple values, keep a seperate list of words for each. "Label" each list with the given word and the value. To summarize then, by noon on Wed Nov 27, you should submit a revised version of both of your interfaces that reflects the following: 1) syntax/examples of ALL supported functions included in perldoc documentation 2) "make test" should execute at least 20 cases for both ldoce and bigmac 3) provide interface program to ldoce and bigmac modules 4) add functionality described above in points A and B. All teams must do the above (these are referred to as the "general issues in the discussion below"). =================================================================== Alianza Lima ------------ Two distinct approaches, both nicely done. ****LDOCE****: Efficient, has good functionality. Interface programs that allow a user to submit queries to ldoce without writing code were a great idea! I did find some problems in the interface program that I have emailed you about, but a very nice idea all the same. Good to see that you adopted some of the better ideas from QueryData. Nicely done. CHANGES REQUIRED: no problems noted, just address the general issues above. ****Big Mac****: Nice job. Lots of good functionality and relatively easy to use. Seems efficient. Minor problems in perldoc which are noted below. Well done. perldoc documentation: ok, lots of examples but hard to read due to spacing (or lack of it). However, the inclusion of print statements that I could uncomment in the test.pl program was very helpful. List of functions (numbered points) was nice, although much more useful if you show the syntax of the functions as well. CHANGES REQUIRED: clean up the documentation issues raised, and incorporate the general issues described above. =================================================================== Sporting Cristal ---------------- An integrated team that produced similar modules for ldoce and bigmac. Both are nicely done. ****LDOCE*****: Looks good. Supports basic functionality of looking up a word and its definitions, and the documentation is nicely done. Good explanation of LDOCE structure. Nice listing of supported functions and their syntax/usage. CHANGES REQUIRED: no problems noted. General changes as requested above. ****Big Mac****: Same comments as for LDOCE. Similar functionality, good documentation. CHANGES REQUIRED: no problems noted. General changes as requested above. =================================================================== Melgar FBC ---------- An integrated team but it isn't clear to me how much is actually working. ****Big Mac****: Had to rename GetInfo.pm to bigmac.pm to get things compiled. "make test" doesn't really test much I don't think. There seem to be files that are created by modules and "left behind" , but it isn't clear what they are. In general you don't want to "leave behind" files like this. Due to a lack of test cases I can't really tell if your modules are working or not. ****LDOCE****: Same basic problems as Big Mac. Leaves behind a huge file called WORDFILE after doing a simple query. That shouldn't be necessary. This module does provide some output to the screen which is good. CHANGES REQUIRED FOR BIGMAC AND LDOCE: Don't leave files behind (or create huge text files) without very good reason. It isn't clear why this is necessary. General changes as mentioned above. =================================================================== Sport Boys ---------- Integrated team that produced similar modules. Seems to be working well, but don't follow the "QueryData" model. ***LDOCE**** and ***Big Mac***: Does not follow 3 step compile. Does not have a README. Interface appears to work but is from the command line. Documentation in perldoc looks good. This seems like it was done pretty well, but the "non-standard" interface made it hard for me to deal with. CHANGES REQUIRED: Need to add "make test" support, and include more test cases. The test cases should run from within a program rather than the command line. Add a README (as is standard in CPAN). Address general issues raised above. =================================================================== Union Minas ----------- Two distinct approaches, both very nicely done. ***Big Mac***: Uses NDBM module, which is a database module. Interesting idea and seems pretty reasonable. Seems to create a hash file which must help speed up accesses. (This is ok to leave behind.) Nice idea. CHANGES REQUIRED: No problems noted. General issues as described above. ***LDOCE***: Mimics QueryData interface, which is a good idea. Documentation looks very good. Seems to work as advertised. Nicely done. CHANGES REQUIRED: No problems noted. General issues as described above.