Sticky Revision: |

Revision

Modified

One more fix for handling intervals properly (I think it's really right this time). Also, named constants that end in numbers will produce TeX output with the number as a subscript (this was already true for variable names).

Revision

Modified

Added string comparison to all Value object classes (to compare the string value of an object to another string). Overloaded perl '.' operator to do dot product when the operands are formulas returning vectors. (Part of the auto-generation of formulas). A few improvements to real and complex class output results. Made Union class slightly more robust and removed need for makeUnion method other than in the Union itself.

Revision

Modified

Added support for unorderd list or formulas with partial credit. Fixed type mismatch reporting in formula answer checker. Fixed an error with Unions producing incorrect perl versions under some circumstances.

Revision

Modified

Created the first draft of the Parser's function answer checker. Some work still needs to be done, in particular, type mismatches are not being reported, and lists are being processed only as ordered lists with no partial credit. This doesn't implement everything from fun_cmp. In particular, there is no support for parameter matching at the moment. This will have to be added, but I'm not quite sure how to do it when the function's return value is not a real number (e.g., an interval). On the other hand, this checker is more forgiving about domain errors: if tries a point where the professor's function is not defined, it ignores that one and looks for another (until it decides it can't find one). Once it has these points, it tries them on the student's answer, and if the student's function is undefined, then the student answer is wrong (since it is not defined somewhere that the professor's funciton is). This avoids the "Error evaluating student function at ..." messages, which just confused most students anyway.

Revision

Modified

Improved error messages, particularly when the student enters a formula in an answer that should be constant, and also for incorrect answers in lists of answers. There are a few other miscellaneous output improvements as well.

Revision

Modified

The Union answer checker now uses the generic List checker, so that it will be able to produce partial credit and hints about which Intervals are correct.

Revision

Modified

*** empty log message ***

Revision

Modified

Fixed some bugs in the handle of the context in ->string and ->TeX methods of Value objects.

Revision

Modified

Fixed a typo in one of the parser answer checkers. Added a line that was incorrecctly removed in the parser.

Revision

Modified

The class file for the Value::String object. (Forgot to add it before the last commit. Sorry!)

Revision

Modified

Added a String type to the Value package. Mostly this is to make it possible to generate an answer checker for it that uses the parser. It also makes it more consistent for handling things like stringify, especially when they are recursively called internally. Added new default strings "NONE" and "DNE", since these get used a lot. Modified how the default parameters are set up for the answer checkers, and how the answer checker reports the expected answer type in type mismatch error messages.

Revision

Modified

Can now specify that the objects stringify themselfs in their TeX forms rather than their answer-string forms. This makes it easier to use the objects in the text of a problem (without having to call ->TeX explicitly each reference). Use Context()->texStrings to start outputting TeX strings, and Context()->normalStrings to switch back.

Revision

Modified

Incorporated infinities into Parser package better. They have been stored as String objects (with extra data) in the parser, and I've left it that way, but now they convert to/from Vallue::Infinity objects correctly, and these are used for generating the output. Also added the Infinity answer checker, and adjusted the error messages produces by type mismatches in the answer checkers and elsewhere.

Revision

Modified

Fixed some output issues with intervals and unions.

Revision

Modified

Added an Infinite object class for the Value package. Still need to add it to the Parser package.

Revision

Modified

Added ability to report incorrect coordinates in point and vector answers, and incorrect endpoints and endpoint types in intervals. Separated these kinds of checks from the typeMatch check, where they didn't really belong. Added ability to specify intervals and unions as strings in Interval() and Union(), which makes it easier to make constants of these types. There are still problems comparing intervals that contain infinities; I really need to make the infinity object to solve this, so have put off trying to fix that for now.

Revision

Modified

Handle list entries that are not Value objects better.

Revision

Modified

The List object's answer checker is now considerably improved. It will allow you to specify an unorderd or ordered check, and whether to print various kinds of hints for wrong answers. The checker can return partial credit, but WW doesn't deal well with this at the moment (some small changes to Problem.pm can take care of that). Partial credit should be based on $showPartialCorrectAnswers, but it is disabled for now. The list answer checker probably still needs some work, especially with non-numeric lists.

Revision

Modified

Added answer checker for parallel vectors. Added option to number checker to have it not report type mismatches for the known strings (like 'infinity'). (Really need a class for infinities, and a Value.pm class for strings.)

Revision

Modified

Have parser handle infinities better.

Revision

Modified

Fixes for handling intervals better. In particular, deal better with ambiguous situations, like (1,2) that could be a point. You can use [a,a] to specify the single point a. I'd like to make {a} represent this (and maybe even {a,b,c} to form finite sets), but this would interfere with the use of { and } as alternative parentheses. (Does anyone really use these?) Do we need a cross product for intervals (and sets) as a means of representing regions in R^2 (or higher)?

Revision

Modified

This is a preliminary attempt at adding answer checkers that use the parser. If you have a parser object (like a formula or a vector), you can use the ->cmp method to get an answer checker appropriate for the object. For example: Context('Vector'); $v = Vector(1,2,3); # print text of problem ANS($v->cmp); would produce an answer checker that matched against the vector <1,2,3>. Most of the parameters are set in the Context, but additional ones can be passed to the checker (this still needs work). See the sample problems for more examples. The checkers for Reals, Complexes, Points, Vectors, Matrices and Intervals work pretty well. The ones for List and Union objects need more work, as they only do an ORDERED check at the moment (the student answers must be in the same order). This needs to be fixed. The checker for Formula objects (which corresponds to fun_cmp) still needs to be written.

Revision

Modified

A number of small fixes. Most were to fix minor bugs in string and TeX output, particulary for the various list-based objects (like vectors, intervals, etc.). There were also some bug fixes in the comparison routines. Some additional checks were added for valid intervals when the coordinates are formulas.

Revision

Modified

Forgot to add this file. It implements the "fuzzy real" class.

Revision

Modified

Significant update to new parser. New features include: Better control over format of vector output (you can now specify ijk-format rather than <...> format) "Fuzzy" reals, where the relations like == return true when the two values are "close enough". (This is controlable using parameters similar to those used in NUM_CMP). The fuzzy reals are now used in vectors/points/matrices/complexes/intervals and so on so that their relations will also be fuzzy. E.g., (1E-13,2) == (0,3) will be true, and norm(Vector(0,1E-13)) will equal 0. The two main portions of the parser (the Parser and Value packages) now share a common context object for configuration purposes.

Revision

Added

merged changes from rel-2-1-a1 -- stop using that branch.

aubreyja at gmail dot com | ViewVC Help |

Powered by ViewVC 1.0.9 |