text:
A method and system for generating and formatting information, specifically test questions, in a desirable and predetermined manner. The system has dynamic-content and dynamic-presentation capabilities so that a wide variety of test problems and, ultimately, tests which consist of test problems can be created. The system includes a data processor such as a personal computer having a means for storing at least one computer program and a means for printing indicia such as a laser printer. The software component of the system includes an authoring tool which is used to create generalized expressions of a problem. A variation rules module or engine stores the variations rules which are a language for describing how to create varying questions from the generalized expression or definition of and a problem created in the authoring tool. Then another component of the software, the print engine interprets the variation rules and produces screen displays or printed tests.
1. A system for creating a test with one or more questions that contain one or more mathematical expressions from a collection of question data files, each question data file containing at least one content item, at least one corresponding label item, and a set of initial variables whose values are determined according to a set of variation rules, the system comprising:
a data processor having a means for storing at least one computer program; and
means for printing indicia on paper, said means coupled in data communication with the data processor;
the data processor including:
a print engine having:
means for sequencing through selected question data files;
means for determining the placement of the content and label items of the selected question data files on a printed sheet;
means for measuring the dimension of each content and each label item; and
means for processing the variation rules and replacing each of the initial variables with a result value.
2. A system as claimed in claim 1, further comprising means for transferring data containing the placement and dimension of the content and label items to the means for printing indicia.
3. A system as in claim 1, wherein the variation rules for each question specify a mathematical calculation, a logical calculation, a constraint, or a call to a function.
4. A system as in claim 1, wherein the means for processing the variation rules calls memory sequencing functions and memory randomizing functions.
5. A system as in claim 1, wherein the means for determining the placement of the content and label items positions said items within calculated rectangles.
6. A method of creating a test with one or more questions that contain one or more mathematical expressions using a data processor and a means for printing indicia coupled in data communication to the data processor, the data processor having a storage means and the storage means having stored thereon a collection of question data files, each question data file containing content items, label items, and a set of initial variables whose values are determined according to a set of variation rules, the method comprising the steps of:
selecting a number of question data files;
sequencing through the selected question data files;
determining the placement of the content and label items of the selected question data files on a printed sheet;
measuring the dimension of each content and each label item;
transferring data containing the placement and dimension of the items to the means for printing indicia; and
processing the variation rules and replacing each of the initial variables with a result variable.
7. A method as in claim 6, wherein the variation rules for each question specify a mathematical calculation, a logical calculation, or a call to a function.
8. A method as in claim 6, wherein one or more of the initial variables has a constrictive governing representation and the result variable for each initial variable with a constrictive governing representation has an integer element and the variation rules are processed to determine whether each integer element is false.
9. A method as in claim 6, wherein the step of determining the placement of the content and label items positions includes fitting said items within calculated rectangles.
10. A system for creating a test with one or more question, from a collection of question data files, each question data file containing at least one content item, at least one corresponding label item for the at least one content item, and a set of initial variables whose values are determined according to a set of variation rules, the system comprising:
a data processor having means for storing at least one computer program; and
means for presenting human readable output coupled in data communication with the data processor;
the data processor including:
a print engine having:
means for sequencing through selected question data files;
means for determining the placement of the content and label items of the selected question data files on a printed sheet;
means for measuring the dimension of each content and each label item; and
means for processing the variation rules and replacing each of the initial variables with a result value.
11. A method of producing a set of examinations having both dynamic content and dynamic presentation, the method comprising the steps of:
creating a collection of question data files, each question data file containing at least one content item, at least one corresponding label item for the at least one content item, and a set of initial variables whose values are determined according to a set of variation rules,
selecting a number of the question data files;
sequencing through the selected number of question data files;
determining the placement of the content and label items of the selected number of question data files on a printed sheet;
measuring the dimension of each content and each label item; and
processing the variation rules and replacing each of the initial variables with a result value.
12. A method as in claim 11, wherein the variation rules for each question specify a mathematical calculation, a logical calculation, a constraint, or a call to a function.
13. A method as in claim 11, wherein the step of determining the placement of the content and label items positions includes fitting said items within calculated rectangles.
The present invention relates generally to systems used to generate and format information in a desirable and predetermined manner. More particularly, the present invention relates to methods and systems for generating printed examinations or tests containing relatively complex visual elements such as mathematical symbols, operators, expressions, graphs, and equations.
Recently, computer software has been developed to assist teachers in developing examinations or tests. In general, these types of programs permit teachers to develop, refine, and edit examinations on a computer. When the teacher has completed developing a test, a desired number of copies of the test may be printed and the test may then be administered to students. Among the educational software available, some software developers have attempted to provide software for developing math tests. The overall purpose of such software is to measure a student's understanding of a topic by posing relevant questions in a printed test or examination. The student's responses to such questions are then analyzed and graded, in some cases by computer and, in others, by hand.
There are many ways that such software can be classified. One way is to measure the manner in which the software stores and displays information. Using this criteria at least two classes have been created to date. They are as follows:
1) static-content, static-presentation programs (test banks);
2) static-content, static-presentation word processor or page layout programs (word processors).
As noted, in order to display a question or problem on a test, two things must be considered: the content of the question, and the visual presentation of that content. Depending on what class of software is being used or is available, creating and storing content and presenting it is carried out in different ways. The content of a question is the educational core, a real-world fact that the student should know, or a computational skill that the student should be capable of applying. Test bank programs (class 1) have a large number of fixed (static, or non-dynamic) items that embody the content. In these items, the content is fixed at exact values that never change, although the static test bank can alternate between a small set of similar problems. In static test bank programs, the content never changes, so the visual display of the content can be decided by a human at the time that the content is authored. Thus, the human author manually arranges the question and distractors (correct answer and several incorrect answers in multiple choice test) to yield an examination or tests with a pleasing appearance. The appearance decisions are made once, during production, by a human, and are never significantly altered after that. This is true of word processor approaches (class 2) also.
A third class of programs differ from test banks and word processors by having the capability of incorporating content that varies from question tc question. However, they require a person, i.e., the author, to determine the presentation manually.
There are or have been many programs that fall within the first two classes. However, there are few if any programs that fall into the third class. Yet if a system could be developed having dynamic content and also dynamic presentation capabilities, then a wide variety of examinations could be created. Significantly, different tests of the same difficulty could be created and administered. Thus, each student would have a different exam, containing different problems and even having different ordering and formatting of problems yet still be tested on the same subject matter at the same difficulty level. While such benefits would be extremely useful in eliminating the possibility of cheating, this fourth class of dynamic content, dynamic-presentation programs has not yet been developed.
As can be appreciated, in order to have a successful math-test generating program with dynamic presentation capabilities, the software must be able to print or, more broadly, display mathematical expressions. Printing a mathematical expression has always been somewhat more difficult to accomplish than printing characters. Unlike ordinary text, which consists of relatively uniformly sized and spaced characters and spaces, mathematical expressions may also include numerals, operators, and a variety of symbols. In addition, the sizing and spacing of these components may be non-uniform. Further still, mathematical expressions may also take the form of curves on graphs, matrices, and other relatively complex forms. Thus, the methodologies used by, for example, word processing programs to produce and format textual output are not successful in a dynamic presentation setting. When the objective is to print a complete test consisting of a series of questions each containing one or more mathematical expressions, the deficiencies of existing formatting and printing technologies become even more apparent.
Furthermore, when dynamic content is desired, so that a plurality of different tests having different questions of the same difficulty can be produced, there must be a means for adjusting the formatting of tests so that they fit in the same amount of space.
Accordingly, it would be desirable to have a dynamic content and dynamic presentation software and computer system for generating math tests or other tests which may contain mathematical expressions or graphical images where the system has the capability of formatting and printing mathematical expressions. It would also be desirable to have a test generating and formatting system capable of producing a test in multiple but equally difficult forms, each form of which fits in an equal or at least similar amount of space.
Therefore, it is an object of the present invention to provide a system for producing tests or examinations with the capability of formatting mathematical expressions so that they may be printed and displayed in a uniform manner.
A further object of the present invention is to provide a system for generating mathematical problems and formatting them in a predetermined, desired manner.
A further object of the present invention is to provide a system for formatting math problems in multiple column layouts.
A further object of the present invention is to provide a dynamic-content and dynamic-presentation test generating system that has a large number of dynamic items that embody the content and where the items vary each time they are used, so exact values are seldom, if ever, repeated.
A further object of the present invention is to provide a dynamic-content and dynamic-presentation test generating system that applies general appearance guidelines at the time the examination is printed in order to format the varying content of questions; thereby eliminating the need for a human to decide where line breaks should occur, or how distractors should be stacked.
A further object of the present invention is to provide a test generating system that allows an author to state a problem as a high-level, abstract expression, from which the system generates variations and determines the presentation automatically.
These objects are achieved in a system for creating and formatting tests or examinations, in general, and, more specifically, for formatting tests that include mathematical or graphical images. Since the present invention is directed toward the creation of math tests, mathematical expressions are formatted in the context of test problems. Typically each exam includes multiple problems. The system includes a data processor such as a personal computer having a means for storing at least one computer program, such as an internal hard disk drive, and a means for presenting human readable output, such as a printer. The computer and printer are coupled in data communication with one another. A computer program or software is installed on the personal computer. The software includes a means for creating and modifying problems called an "authoring tool." The authoring tool is used to generate a single file containing a single problem. Each problem file stores an objective statement, descriptive characteristics, visual presentation and variation rules (a language for expressing algorithms). Individual problems are aggregated into collections or "books" of problems. Each problem book stores an index of problem content and an outline of the organization of that content. Problems may be developed by the user who may select the form of the problem (e.g., multiple choice or free response) and its elements using a graphical user interface. The user keys in the text for the question, answer, distractor(s), and answer key. Books are organized into chapters, sections, and objectives with problems appearing under any or multiple levels. Each problem is characterized by the sophistication of the graphical information contained within it. This information is categorized into various levels of representation. The levels of representation are: 1) textual--which includes plain ASCII text; 2) styled text--which includes style information on font, bold, italic, superscript or subscript, but not mathematical expressions; 3) expressioned--which includes mathematical expressions; and 4) graphical--which includes graphic objects. Each problem may be further characterized by a level of difficulty.
Graphical elements in a problem (in formats such as PICT and TIFF) are included as objects. Windows platform graphical objects such as BMP images may be included for display on computers using the Windows operating system. Text editing and formatting tools for laying out problems with embedded graphics are provided through the use of Paige software available from DataPak Software, Inc., Vancouver, Washington.
Equation and other mathematical expression layout is done using a routine named "MathType." MathType is called from within the text editor in the authoring tool and produces a formatted PICT object which is integrated into the problem layout upon return to the authoring tool. The interface between the authoring tool and MathType is the same as that between Microsoft Word and a routine called Equation Editor (a reduced-feature version of MathType). At any given instant, the user is operating within one of the two packages, each with its own menus, key assignments, etc.
The authoring tool is but one element in the system of the present invention and, as noted above, is used to create problems. Problems are stored on disk in files called problem books. These files contain the problem content, along with various descriptions of the problem. The present invention includes several other components including a worksheet editor. The worksheet editor is used to create and manipulate worksheets. Each worksheet consists of a selection of problems drawn from problem books along with options that control printing.
The present invention also includes a variation rules module. The variation rules are the language for describing how to generate varying questions from one problem definition. Variation rules are created in the authoring tool and interpreted in a print engine module. The print engine module processes worksheets and produces screen displays or printed tests. The print engine module follows a list of headers, problems, annotations, and footers on a worksheet to generate a unique test for each student. For each problem, the print engine evaluates the variations rules, substitutes their values in the question and other sections, determines the breaks and spacing and arranges the problem on a page (a printed sheet or screen of a video monitor).
These and other objects and advantages of the present invention will become apparent by reference to the detailed description of the invention taken in combination with the accompanying drawings.
In the drawing figures:
FIG. 1 is a schematic diagram showing a workstation that includes components of the present invention.
FIG. 2A is a flow chart showing the flow of information in the present invention.
FIG. 2B is another flow chart showing the flow of information in the present invention.
FIG. 2C is another flow chart showing the flow of information in the present invention.
FIG. 2D is another flow chart showing the flow of information in the present invention.
FIG. 3 is an illustration of an editing screen created by the authoring tool of the present invention.
FIG. 4 is a schematic illustration of the operation of the variation rules engine of the present invention.
FIG. 4A is a flow chart showing a portion of the flow of information according to the present invention.
FIG. 4B is another flow chart showing a portion of the flow of information according to the present invention.
FIG. 5 is an illustration of the worksheet editor of the present invention as it would appear on a video monitor.
FIG. 6 is an illustration of the worksheet editor showing each of the user options in one of its pulldown menus.
FIG. 7 is a flow chart of the print engine of the present invention.
FIG. 8 is a schematic diagram showing how the present invention formats information on a printed examination or test.
FIG. 9A is a schematic diagram showing how the present invention formats information on a printed examination or test.
FIG. 9B is a schematic diagram showing how the present invention formats information on a printed examination or test.
FIG. 9C is a schematic diagram showing how the present invention formats information on a printed examination or test.
FIG. 10 is a schematic diagram showing how a test question is formatted by the present invention.
FIG. 11 is a schematic diagram showing how the present invention formats question labels and questions.
FIG. 12 is another schematic diagram showing how the present invention formats question labels and questions.
FIG. 13 is another schematic diagram showing how the present invention formats question labels and questions.
FIG. 14 is another schematic diagram showing how the present invention formats question labels and questions.
FIG. 15 is a schematic diagram showing how the present invention formats distractors.
FIG. 16 is another schematic diagram showing how the present invention formats distractors.
FIG. 17 is another schematic diagram showing how the present invention formats distractors.
FIG. 18 is a schematic diagram showing how the present invention formats answer and key sections.
A system 10 for formatting and printing an examination having one or more mathematical expressions is shown in FIG. 1. The system 10 includes a data processor or workstation 12, which includes a personal computer 13 and associated peripherals. The personal computer 13 has a central processing unit 14 (shown schematically), storage means or memory for storing at least one computer program 17 such as an internal hard disk drive, and means for storing information to a removable storage medium, such as a floppy disk drive 20. The computer 13 may be coupled in data communication relation to a means for printing indicia such as a laser printer 22, a video monitor 23, means for inputting information such as a keyboard 25, and a cursor control device such as a mouse 26.
Software designed in accordance with the present invention is installed on the computer 13. As can be seen by reference to FIG. 2A, the software used in the present invention includes an authoring tool 30. The authoring tool 30 is used to create one or more questions or problems 32 for incorporation into problem books 34. The problems 32 care stored on disk in the problem book 34 files. These files contain the problem content, along with various descriptions of each problem 32. Each problem book 34 is created by selecting various problems from a master library 35 using a collection of programs referred to as the build tools 70.
As shown in FIG. 2B, problem books 34 are accessed using a worksheet editor 45. Desired problems can be selected using the worksheet editor 45 to form a worksheet 50. One worksheet 50 consists of a selection of problems drawn from the problem books 34 along with options that control printing. As shown in FIG. 2C, a print engine 60 is used to produce, from the selected worksheet 50, a desired output on a sheet of paper or form 65. Typically, multiple copies of a form 65, i.e., an examination or test, are printed. Each form 65 includes a question sheet 65a, an answer sheet 65b, and an answer key 65c. The special case where the test is formatted to place an answer space next to the question modifies the three part model by integrating answer blanks onto the question sheet.
Information flow in the present invention is shown in more detail in FIG. 2D. As can be seen by reference to this figure, the end user, but more commonly, a programmer, uses the authoring tool 30 to write problems 32. Each problem includes the question text 32a; answer choices 32b (referred to as distractors); instructions 32c; group text 32d, answer text 32e, and key text 32f, if needed; problem information 32d; and variation rule 33. The build tools 70 combines multiple problems into one problem book 34. As noted above, each problem book 34 includes a collection of different problems 32. Desired problems 32 are selected using the worksheet editor 45 to create single worksheets 50 and each worksheet 50 is processed by the print engine 60. The authoring tool 30, problems 32, problem rooks 34, worksheet editor 45, and print engine 60 are discussed separately below.
The software of the present invention, when expressed in the preferred high-level programming language C++, includes several million lines of code. Accordingly, for the sake of brevity the inventor has described herein a functional specification of the software and a detailed explanation, including the relevant source code, of the critical components of the invention. Taken together, the description and code would enable one of skill in the art to make and use the present invention. In the description that follows it is assumed that the reader is familiar with the general concepts of software engineering and programming in object-oriented programming languages and, in particular, C++.
As noted, the authoring tool 30 is used to create and modify problems 32 for inclusion in problem books 34. Tables 1 through 4 list various authoring features of interest, along with how each listed feature is supported (VR=Variation Rule; MT=MathType; UF=Utility Function; GF=Graphing Function; IM=graphic imported from another application). The operation of the authoring tool 30 will only be discussed briefly herein.
TABLE 1__________________________________________________________________________Instance Variation Examples__________________________________________________________________________VR vary the variable x = any literal (a, b, c, x, y, etc.)VR within a range 1 ≦ A ≦ 10VR within a range with restrictions -10 ≦ A ≦ 10 and A ≠ 0 1 ≦ B ≦ 99 and B not a perfect squareVR specify increments 2 ≦ A ≦ 22 increments of 2 0.01 ≦ B ≦ .99 increments of 0.01VR specify increments with restrictions 0.001 ≦ A ≦ 0.999 and ≠ 0.010, 0.020, etc. (suppress trailing zeros)VR choose variables in sets A B C 3 4 5 6 8 10 5 12 13VR a specific set of numbers A = 2, 3, 5, 7, 11VR can be words A = Erin, Todd, Sue, JohnVR restrict combinations 1 ≦ A, B ≦ 12 A and B relatively prime AB ≠ 8 A2 ≠ ABVR use logic A = 1, -1 if A = 1, then B = 10 if B = -1, then B = 100__________________________________________________________________________
TABLE 2______________________________________Formatting Examples______________________________________VR print as a decimal ##STR1##VR simple fractions ##STR2##MT polynomial fractions ##STR3##MT simple radicals ##STR4##MT radicals other than square root ##STR5##MT complex radicals ##STR6##MT horizontal format Add: A + B + CMT vertical format (align) ##STR7##MT alignment of decimals ##STR8##MT align systems of equations ##STR9##MT matrices ##STR10##______________________________________
TABLE 3__________________________________________________________________________Subroutines Examples__________________________________________________________________________UF Reduce fractions - as fractions ##STR11##UF Reduce fractions as coefficients ##STR12##UF Print improper fraction as mixed number and vice versa ##STR13##UF Determine if numbers are relatively 3, 5, 14 are relatively prime prime (no common factor)UF Find the lowest common multiple used for reducing fractions and simplifying and greatest common factor polynomialsUF Simplify radicals ##STR14##UF Use quadratic formula and simplify answer Send A, B, C, return x ##STR15##UF Comma routine print 4 or more digit numbers with or without commasUF Space routine for comma print 4 or more digit numbers with space in place of comma 34,478 would print 34 478UF Translate numbers to words 45 becomes forty-five (Capitalize too) 45 becomes Forty-five when starting a sentenceUF Scientific notation and vice versa 285,000 = 2.85 � 105 0.0000033 = 3.3 � 10-6UF Round numbers to place value Round 3.678 to nearest 0.1 = 3.7UF Use significant digits Print 45,689 with 3 significant digits 45,700UF Other standard mathematical absolute value, trig functions, log, factorial, functions standard deviation, etc.__________________________________________________________________________
TABLE 4______________________________________Graphics Examples______________________________________GF Number lines open/closed circles, arrows, shading, option to label tick marksGF Coordinate Graphs x-y axes labels, arrows on axes and lines, plot points, label tick marks, background grid optionsGF Three dimensional graphs x-y-z axes for calculusGF Graph functions equations such as y = 3x + 2 conicsGF Circle graphs (pie charts) title, label sections, shadeGF Bar graphs title, label axes, etc.GF Line graphs title, plot points, connect lines, etc.IM Simple geometric figures triangles with angles and sides given, circles with radius, diameter rectangles, squares, other regular polygonsIM Present data in tables Spread sheet format______________________________________
The authoring tool 30 allows the user to create problems 32 by keying them from scratch, by duplicating existing problems and modifying the duplicate, or by editing preexisting problems. The outputs of the authoring tool 30 are individual problems, which are later aggregated into problem books 34. The content of each problem 32 includes an objective statement, descriptive characteristics, visual presentation, and variation rules (the language for expressing algorithms). The authoring tool 30 stores problem descriptions in files, one problem per file. Multiple problems are combined in one or more problem books 34. Each problem book 34 contains an index of problem content and an outline of the organization of that content. In addition, each problem book 34 is organized hierarchically into chapters sections, and objectives, with problems appearing under any, or multiple, levels.
As can be seen by reference to FIG. 3, using an editing window, the user selects the problem type (e.g., multiple choice, free response) and lays out the elements of the problem with menu and dialog choices. He or she keys in the text for the question, answer, distractor, and key sections in a fully style-enabled text editor. Mathematical expressions and other graphical objects can be embedded in-line with text.
Each problem 32 includes an objective which states the educational purpose of the problem 32. In addition, each objective will contain one or more keywords that relate to the problem content. Each problem 32 is characterized by the sophistication of the graphical representations it contains. The levels of representation are:
Textual--the problem 32 includes ASCII text.
Styled Text--the problem 32 includes font changes, bold, italic, superscript or subscript, but not mathematical expressions.
Expressioned--the problem 32 includes MathType expressions.
Graphical--the problem 32 includes graphic objects.
Further, each problem 32 is characterized by a level of difficulty using numeric values. For example:
level 0 is earliest pre-school;
level 9 is late finishing kindergarten;
level 120 is beginning 12th grade; and
level 129 is finishing, 12th grade.
The authoring tool 30 allows problems 32 to be changed between answer formats without loss of information already entered. Users may select a multiple choice format with two to five candidate answers or distractors, one of which is correct; a true/false format; or a free response format, where an exam taker writes an answer long hand. In the multiple choice format, distractors have diagnosis information attached. This information describes, in words, the reasoning error that most likely led the student to arriving at the incorrect answer. The diagnosis information includes a diagnosis code for linking each error to remediation.
The size of any one problem 32 can be stored for adjusting page layout to minimize paper use. The size includes both height and width values. If the height and width are not predictable, zero values can so indicate.
In addition to the above features, the authoring tool 32 provides a problem description or variation rules language to allow for variation within a problem. Using this language, numeric parameters may vary so that multiple instances of one problem, subject to a set of variation rules (constraints), may be generated. The authoring tool 32 is designed so that numeric and text variable selection will allow for ranges, lists of items, and combinations of these. Value exclusion is accomplished in a similar manner.
Value exclusion is a method of excluding specific values of random variables so that inappropriate test questions are not produced as a result of the dynamic content capabilities of the present invention. For example, if an author creates a problem to test a student's understanding of subtraction prior to the student being taught how to evaluate negative numbers, the author would exclude values where the second number is less than the first number, thus eliminating the possibility of having problems where the proper answers would be a negative number.
In the example shown in FIG. 3, it can be seen that the question variation variables 42 are bracketed by the back quote character (`), for example, `A` or `B` or `C`. It will be noted that one of the statements in the "Rules" box 36 is the following value exclusion statement 38: "require(A7)". This exclusion prevents the first portion of the question, `A`/7, from evaluating to `1`, so that the objective statement 40, "Add two simple fractions without reducing" is not violated.
Variables are used as elements of mathematical expressions, and as substitution string place holders. Whenever an instance of one problem 32 is generated (e.g., for preview in the authoring tool 30 or rendering by the print engine 60), values are computed for each of the variables according to the variation rules (described more fully below) and these values are substituted in the text or in the mathematical expression.
The text editor in the authoring tool 30 is style-capable. That is, it provides options to specify multiple typefaces, sizes, and styles within a problem. In addition, graphical elements (in formats such as PICT and TIFF) can be included as objects. Windows platform graphical objects such as BMP images may be included for display on systems using the Windows operating system. Editing and formatting tools for laying out problems with embedded graphics are provided through the use of a program called Paige, a routine called in the imager module (discussed below) of the print engine 60, which is available from DataPak Software, Inc., Vancouver, Wash.
Mathematical expression of equation layout is done using MathType, a function called from within the text editor in the authoring tool 30. MathType produces a formatted PICT which is integrated into the problem layout upon return to authoring tool. The interface between authoring tool 30 and MathType is the same as that between Microsoft Word and equation editor (a subset of MathType). (MathType is commercially-available from Design Science, Inc., Long Beach, Calif.) At any given instant, the user is operating within one of the two packages, each with its own menus, key assignments, etc.
As was discussed above, problem content is created by an author who is typically a professional programmer; but may be the end user of the test operating software running on the personal computer 13. The content of the problem is expressed in machine-usable form using the authoring tool 30, which stores each problem 32 in a separate file on disk. Problems 32 are organized for easy retrieval in a single disk file, i.e. one or more problem books 34. The set of programs that support collecting problems 32 into the problem books 34 is referred to as the build tools 70.
Each problem 32 is described by a few key parameters. These parameters assist the user in selecting problems 32 to include in a worksheet 50. Problems 32 within each problem book 34 are grouped into objectives. Objectives are grouped into sections and sections are grouped into chapters. Problems are not necessarily self-contained. They may refer to external objects, which are included in the representation at print time. Multiple problems can include the same external object. These objects are stored within the problem book 34 file.
As can be seen by reference to FIG. 4A, the build tools 70 include a book composer or assembly editor module 72 and a book builder module 74. As can be seen by reference to FIG. 4B, the assembly editor module 72 creates an assembly file 75. The assembly file 75 specifies the organization of the problems 32 by chapter and section. The book builder module 72 collects problems specified in the assembly file 75 into the book file or problem book 34. Each problem book 34 is generally restricted to problems in the same subject matter and grade level.
The authoring tool 30 and print engine 90, discussed in greater detail below, use variation rules which are stored in the variation rules module or engine 80 (FIG. 8) and define instances of a generalized problem. The variation rules associated with a given problem 32 guide the replacement of variables incorporated in each problem 32. Variables may be replaced with numbers, text, graphics, or mathematical expressions. The variation rules for a problem 30 are an ordered list of definitions and constraints expressed in a simple language. The variation rules may assign substitution variables (variables used in the problem layout) or temporary variables (variables used only within the variation rules). The variation rules may also impose constraints on the relationship between variables.
To produce an instance of a problem 32, the list of variation rules is evaluated sequentially from top to bottom. If a constraint is not satisfied, the current pass through the list is abandoned and evaluation restarts from the top of the list. A valid instance of the problem results when the end of the variation rule list is reached.
Substitution variables are defined using the variation rule syntax, which is not case sensitive. This language supports basic mathematical operations, relational comparisons, and logical combinations using general expressions and operator rotation. Function (procedure) references provide extended capabilities.
The formal grammar (syntactical representation) of the variation rule syntax is shown in Appendix 1. The language allows for an assignment or function call on each line of programming code. The right-hand side of an assignment and the arguments of functions may themselves be expressions, which can include function calls. Parentheses can be used to force evaluation order, or simply for clarity. Mathematical expressions are general and follow Microsoft's Visual Basic™ rules for operator notation, precedence, and associativity, with the following exceptions:
______________________________________Visual Basic Variation Rules______________________________________Not !And &Or |Xor <<no equivalent>>Eqv <<no equivalent>>Mod mod( )& +______________________________________
Table 5 presents some of the variation rules acceptable to the grammar.
TABLE 5__________________________________________________________________________Variation Rules__________________________________________________________________________D = random (D, -10, 10) ; select numeric value from rangeI = random (I, 1, 5) ; select numeric value from setA = select (I, 1, 2, 4, 6, 7)variable = select (I, "a", "b", "c", "x") ; select text value from setK = random (K, 1, 3) ; select text value from setcolor = select (K, "orange", "blue", "green")R = A 2 + B 2 ; compute numeric valuerequire (R <= 30) ; restrict numeric valuereject (A = B) ; restrict combination of numeric valuesrequire (A * B <> 8) ; restrict combination of numeric valuesreject (Perfect-- square (A) ) ; function call, restrict numeric valuerequire (rel-- prime(A, B) ) ; function call, restrict combination of valuesK = random (K, 1, 3) ; select numeric values from coherent setsA = select (I, 3, 6, 5)B = select (I, 4, 8, 12)C = select (I, 5, 10, 13)B = select (A = -1, 10, 100) ; logical selection (special case of__________________________________________________________________________ select)
All data variables manipulated by the variation rules--user-defined variables, internally generated variables, and literals--are of the same class. Members of this class (hereafter referred to as "standard data variables") have elements to hold integer, floating-point real, floating-point imaginary, string (text), PICT (graphic), and MathType fragment information. They also have an element to hold the "governing representation" that indicates which--zero or more--of these possible data representations are currently valid. An additional element holds formatting information, which is typically used to convert the integer or floating-point elements into a textual representation for imaging.
There are no declared types in the variation rules language. The governing representation of a variable can change through reassignment. Operations are deemed valid if the operator (or function call) supports the governing representation of the operand variables. Some operations permit more than one governing representation for a given operand and perform internal coercions (the coercion does not affect the variable's stored elements). For example, the binary mathematical operators will promote an integer operand if the other operand has a floating-point governing representation. In such a case, the integer operand remains an integer for later use.
The variation rules place no restrictions on the governing representation of arguments presented to operators. However, the various operators are defined for a subset of the allowable types. Initially, the mathematical, relational, and logical operators are defined for integer and floating-point types only, with the exception of "+," "=," and "<>." These latter operators are overloaded (i.e., they perform different operations depending on the data types supplied to them).
So, for example, they provide string concatenation and comparison when presented with string operands. The mathematical operators are shown in Table 6.
TABLE 6______________________________________Mathematical Operatorsoperator interpretation______________________________________+ addition or unary plus- subtraction or unary minus* multiplication/ division exponentiation______________________________________
TABLE 7______________________________________Relational Operatorsoperator returns true if______________________________________= equal<> not equal< less than> greater than<= less than or equal>= greater than or equal______________________________________
TABLE 8______________________________________Logical Operatorsoperator returns true if______________________________________& andI or! not______________________________________
TABLE 9______________________________________String Operators______________________________________operator interpretation+ concatenationoperator returns true if= equal (strings match)<> not equal (strings differ)______________________________________
When several operations occur in an expression, operations are performed in descending order of operator precedence. Among operations of equal precedence, evaluation proceeds from left-to-right. Table 10 lists the operators in decreasing order of precedence. Operators at the same level have equal precedence.
TABLE 10______________________________________Precedence______________________________________ exponentiation+,- unary plus, minus*,/ multiplication and division\ integer division+,- addition and subtraction=,<>,<,>,<=,>= comparison! not& and| or______________________________________
Parentheses can be used to force evaluation order because operations within parentheses are always performed before those outside. Within parentheses, the normal precedence rules apply. Parentheses can be nested to any depth.
After each statement has been evaluated, the variation rule engine 80 (FIG. 8) checks to see if the result variable (or result value) has the governing representation "CONSTRAINT." In particular, when the result variable has a "CONSTRAINT" governing representation, and the integer element of the result variable is zero (False), then the variation rule engine 80 abandons the current pass through the list and restarts from the top. If the integer element of the result variable is non-zero, processing continues with the next statement. Two internal library functions "REQUIRE" and "REJECT" provide the basic constraint facility, although other functions may produce "CONSTRAINT" results if necessary or useful.
Dynamic problems are varied using sequencing and randomization, which is accessed through standard functions. However, unlike simple mathematical functions (SQR, SIN, etc.) whose output depends solely on the current values of the inputs, the sequencing and randomization functions in the present invention require historical information to avoid problem repetition. Functions in this class are called memory functions (functions with a "memory" of their past values). Memory functions are responsible for creating and managing their own historical data storage. Some memory functions (including sequencing and randomization) need to determine the specific invocation (or call site) in the program. An additional argument--a sequence identifier--is required for these functions, along with the problem ID. The problem ID is passed automatically in the string element of the returned variable. The sequence identifier variable, specified by the user, is not modified by such a reference. For example, consider the statement:
A=random(A, 1,10)
On the first invocation, the random function will randomly shuffle the numbers 1 to 10, store them in a sequence unique to this problem ID and the (sequence) identifier "A", and return the first value in the sequence. On each subsequent invocation, the random function will return the next value in the sequence, wrapping around after the tenth value.
All functions return a standard data variable. The return variable is allocated by the caller and passed (by reference) as the first argument to the function. As such, a function with no explicit arguments will generate a call with one argument. Functions can have zero or more specified input arguments, all of which are standard data variables called by reference. That is, the function is passed a reference to the argument rather than a copy. Functions are able to modify any or all of the input arguments.
Functions can accept a variable number of arguments. The caller passes the number of arguments in the integer element of the return value. Using this count and the governing representation element of each variable, a function can handle any combination of input arguments. Restrictions on the number and governing representation of the arguments are only imposed and checked by the function.
If a function detects an error, it sets the returned argument governing representation element to ERROR and the string element to an appropriate error message. The caller must check for errors when the function returns. All function references are resolved by checking the external function library and then the internal function library. This search order allows functions with new capabilities or bug fixes to supersede those in the internal function library.
A number of standard functions are provided in an internal function library. These functions may be overridden by entries in external function libraries to add functionality or repair bugs. All internal functions attempt to return a sensible result given the governing representation of the input arguments. Certain functions operate only on certain governing representations. When the operation is not defined for the governing representation of the input, the operation reduces to nothing more than a copy of an input argument to the output. Mathematical operations use the integer or floating-point elements, according to the governing representation. In the function descriptions shown in Table 11, the formal input arguments (A, B, etc.) represent expressions. These expressions may include arithmetic operations, variables, constants, or other function calls.
TABLE 11______________________________________FunctionsFunction Result______________________________________random(A, B, C, D) Returns a random number between (and including) B and C. The name "A", along with the problem ID, is used to uniquely identify the specific random sequence. If present, D represents the interval between random numbers. For example, the function call A = random(A, 1,2,0.1) will return one of the values 1.0,1.1,1.2, . . . 1.9, and 2.0 in random sequence.select(I, A, B, C, . . .) Returns the I'th element in the list (A, B, C, . . . ). I is used as an index. An index of 0 (the representation of False) will return the second choice (B). A negative index will return the first choice (A) and an index greater than the number of choices will return the last choice. Note that the result variable returned by the select function will be a copy of all elements of the selected choice. This means that the governing representation of the result may vary with the index.require(A) Returns a constraint failure if A is zero (False).reject(A) Returns a constraint failure if A is non-zero (True).abs(A) Returns the absolute value of A.sgn(A) Returns an integer corresponding to the sign of A. Returns -1,0, or 1 when A is less than zero, equal to zero, or greater than zero, respectively.frac(A) Returns the fractional part of A as a floating-point real.int(A) Returns the truncated value of A as an integer.nint(A) Returns the nearest integer to A.sqr(A) Returns the square root of A.exp(A) Returns e (base of natural logarithms) raised to the A power.log(A) Returns the natural logarithm of A.sin(A) Returns the sine of A (where A is in radians).cos(A) Returns the cosine of A (where A is in radians).tan(A) Returns the tangent of A (where A is in radians).atn(A) Returns the arctangent of A in radians.atn2(A, B) Returns the arctangent of A/B in radians, computed over four quadrants.mod(A, B) Returns the modulus or remainder of A divided by B.max(A, B, C, . . .) Returns a copy of the argument with the largest numerical value. In the case of a tie, the candidate argument nearest the front of the list is returned (e.g., if B and C are tied, B wins).min(A,B,C, . . .) Returns a copy of the argument with the smallest governing value. In the case of a tie, the candidate argument nearest the front of the list is returned (e.g., if B and C are tied, B wins).perfect-- square(A) Returns True (1) if the input argument is a perfect square, False (0) otherwise.rel-- prime(A, B, C . . .) Returns True (1) if all of the input arguments are relatively prime, False (0) otherwise.pi( ) Returns x (approximately 3.141592654).e( ) Returns e (approximately 2.718281828).______________________________________
The operation of the variation rules module 80 with respect to the question and answer key sections for a simple free-response answer format problem is shown in FIG. 5. (A multiple-choice problem would have many more sections, but all problems 30 are produced in the same manner.) The variation rules engine 80 processes the variation rules from a problem 30 from the top down. Each line of the rules specifies a calculation, a constraint, or a call to an external function. External functions perform frequently-needed operations. In the example shown in FIG. 5, the "random ()" external function varies the number of apples and their price, so that each student receives a unique question. Calculations are performed as in any common programming language meaning that the result of each calculation is stored in a variable. Once the result is obtained, the constraints are checked and, if they are violated, the variation rules are restarted at the top, but with different random values. Upon reaching the bottom of the rules (by satisfying all constraints) the variable calculated during the processing are substituted in the question and other sections.
As noted, the worksheet editor 45 allows the user to create the worksheets 50. Each worksheet 50 consists of a collection of problems 32 drawn from problem books 34, along with worksheet-level options to control printing. The worksheet editor 45 shown in FIG. 6 offers several commands: create a new worksheet; delete an existing worksheet; open an existing worksheet; save worksheet changes to disk; and print the worksheet. (See FIG. 7).
Worksheet 50 layout choices apply to the forms 65 as a whole, and to each problem 32 therein. Problem 32 layout choices override the per-worksheet choices. These choices are:
Answer side-by-side with question, or on a separate sheet.
Space preceding a question in inches, or default.
Space succeeding a question in inches, or default.
Minimum answer height in inches, or default.
The worksheet 50 does not actually store the problem 32 content itself, but rather a reference to each selected problem. In order to manipulate problems 32, the worksheet editor 45 offers these commands:
Add a problem to the worksheet.
Add multiple problems selected at random, meeting specified criteria (autoselect).
Remove a problem from the worksheet.
Adjust problem order on the worksheet.
Sort problems in order of source problem number, type, or difficulty.
Each Worksheet 50 has a header, which appears at the top of each page. Required commands are:
Edit header text.
Include date, time, or form number as part of the header.
Select header style (boxed, ruled, etc.).
Select to print on first page, after first page, or all pages.
The print engine 60 reads worksheets 50 and problem books 34. Further, the print engine 60 sequences through multiple students; question, answer, and key sheets for each student; and the problems 32 on each sheet. It then evaluates the random variations in the problem, stores key values for later use in scoring, and arranges the problems 32 and annotations on an output, which is either a printed sheet or a visual display on the video monitor 23.
As shown in FIG. 8, the print engine 60 consists of three main levels: a driver 90, layout logic 92, and an imager 94. The operation of the print engine 60 and, in particular, the chronological execution sequence of the programming logic for the print engine, in pseudo-code format, is shown in Appendices 2, 3, and 4. An abbreviated form of the code for the routines called in the driver 90, layout logic 92, and imager 94 is shown in Appendices 5-13. For the sake of brevity, only the most relevant portions of the code have been listed as those skilled in the art could readily construct the full code from the detail given.
The driver 90 sequences through the files containing data for the form 65 for each student, the files containing the question sheet 65a, answer sheet 65b, and answer key sheet 65c for each form 65, and the problems 32 for each sheet. Thus, the driver 90 calls the other levels of print engine 60 at the appropriate times. The driver 90 processes the problem content to generate random sequences, interpret the variation rules, and substitute variable values into the presentation sections. The variation rule engine 80 is part of the driver 90. As such, the variation rule engine 80 performs the actual interpretation of the variation rules and dispatches external functions.
As can be seen by reference to FIG. 9A, the layout logic 92 (FIG. 8) determines the pagination and placement of problems and annotations on the output shown as a page 93. It operates with rectangles, starting with smaller rectangles (question rectangle 93A, answer rectangle 93B, and distractor rectangle 93C which comprise a problem rectangle 93D) and aggregating them into larger rectangles (column 94), then filing them onto the large rectangle of the output page or form 65. The layout logic 92 is supplied with the worksheet 50 contents. This content is an ordered list of annotations and problem 32 references. The layout logic's operation is to compute the placement of these worksheet 50 items on one or more pages, called pagination. The processing follows the algorithm set forth in Table 12.
TABLE 12______________________________________Processing Algorithm______________________________________while worksheet items remainmeasure next worksheet itemif the item fits on pageplace item on pageelse item needs a new pagecreate a new pagefor each top-of-page annotation in order place annotation on top of remaining pagefor each bottom-of-page annotation in reverse order place annotation on bottom of remaining pageplace item on pageend worksheet item placementend of worksheet items______________________________________
The layout logic 92 returns the list of pages to the driver 90 for eventual display, e.g., on a printed page or the video monitor 23.
The layout logic 92 is provided with the dimensions of the output page 93 by the driver 90. The driver 90 also provides the layout logic 92, the four margins and the pixel density of the output page 93. The layout logic 92 uses these input parameters to calculate the usable page, which is the actual area into which annotations and problems 32 are drawn. These relationships are best understood by reference to FIGS. 9B-9D. The layout logic 92, like any word processor, recognizes the "physical page" size as the paper size selected by the user and supplied to the printer 22. The "logic page" is inset from the physical page by top, right, bottom, and left margins. The "usable page" is the portion of the logical page remaining after headers and footers are placed in the logical page. FIG. 9B shows the logical page with two headers and two footers, but there can be none, one, or many of each. As seen in FIG. 9C the usable page can be used as a single column or multiple columns. Generally, for reasons of readability, the maximum number of columns is six, although that number could change based upon the form factor of the sheet being printed on. The usable column width is the usable page, width minus required column spacing, divided by the number of columns. Questions or problems 32 are positioned starting with the top of column 1 and proceeding down until full, then continuing at the top of column 2, and so on until all columns are filled. As will be discussed in more detail, annotations 95 may be interspersed among printed problems 32. FIG. 9D shows a complete example of how the present invention organizes information for printing.
In addition to receiving dimension and margin pixel density parameters, the page parameters defined in Table 13 are provided from the driver 90 to the layout logic 92.
TABLE 13______________________________________Page Parametersvariable name units source description______________________________________resolution-- h pixels per inch device horizontal pixel densityresolution-- v pixels per inch device vertical pixel densitysize-- h pixels device physical page widthsize-- v pixels device physical page heightmargin-- left points user inset from physical left edge to usable left edgemargin-- top points user inset from physical top edge to usable top edgemargin-- right points user inset from physical right edge to usable right edgemargin-- bottom points user inset from physical bottom edge to usable bottom edgequestion-- space points user default height of space following a problemanswer-- space points user default height of space reserved for answer______________________________________
The parameters expressed in pixels are measured in the actual device (a printer or display screen) resolution. Parameters expressed in points are measured in 1/72" pixels. The layout logic 92 converts parameters from points to device pixels for its use.
Referring generally now to FIG. 10, each problem 32 from the worksheet 50 (FIG. 2C) is arranged in a problem layout frame 100 (equivalent to the problem rectangle 93D of FIG. 9A) that provides for the numerous sections that comprise its visual display. A free response problem can be as simple as just a question section (defined below). A multiple choice problem can have all of the sections shown in FIG. 10. The internal composition of each section is described later; first the spatial relationships between the sections are discussed.
The instructions section 102 exists if a problem 32 has instructions. The instructions section 102 is suppressed if the immediately preceding problem on the current page shared the identical instructions. This is referred to as instructions tracking. Assuming that the instructions exist and are not suppressed by instructions tracking, the instructions section 102 is placed at the upper left corner of the layout frame 100. The bottom of the instructions section 102 is padded by prob-- group-- v 103 to separate it from a question section 105.
A group section 107 exists if a problem 32 has a group name. The group section 107 is suppressed if the immediately preceding problem 32 on the current page shared the identical group name. This is referred to as group tracking. Assuming that the group section 107 exists and is not suppressed by group tracking, it is placed at the upper left corner of the layout frame 100, adjusted down by the presence of the instructions section 102. The bottom of the group section 107 is padded by prob-- group-- v 103 to separate it from the question section 105. Note that the instructions section 102 and the group section 105 are not typically both used on the same problem 32.
The question section 105 exists for every problem 32. The question section 105 holds the question for each question sheet 65a, the answer for each answer sheet 65b, and the key for each answer key sheet 65c. For a blank answer (a frequent case) the answer content is empty, but the problem number and an empty answer blank are still displayed.
The questions section 105 has a label element 108 and a content element 109. As best seen by reference to FIG. 11, the label element 108 is the problem number followed by appropriate punctuation. The label element 108 is right justified to the problem label inset. The space between the label element and the content element is the problem label space. The content element 109 is left justified to the problem content indent. The problem number and problem content are vertically aligned by a base line 111. Referring again to FIG. 10, if a problem is a multiple-choice problem, it has a correct and one or more incorrect answers. All of the answers (correct and incorrect) are collectively referred to as distractors (discussed blow). The distractors arc placed in a distractor section 112. A distractor section doe, not exist for true-false or free-response questions. An answer section 113 exists if the worksheet 50 is set to "Answer Next to Question." The answer section 113 holds the answer content, if any exists. The placement of distractors and of the answer section 113 is described below.
For the "Answer Next to Question Layout," the answer blank is placed to the right of the question if it fits, as shown in FIG. 12. If the answer and question do not fit on the same line, the answer appears underneath, as shown in FIG. 13.
As can be seen by reference to FIG. 14, each distractor section 112 includes one or more distractors 115. Each distractor 115 has a designation such as a letter (upper or lower case) or numeral (Arabic or Roman). Each distractor section 112 includes a label element 116 and a content element 118. The label element 116 includes the distractor designation followed by appropriate punctuation. The content element 118 contains tile correct answer or one of the incorrect answers. The label element 116 is right justified to the distractor label inset and the label element 116 and the content element 118 are separated by the distractor label space 119. The content element 118 is left justified to the distractor content indent. The label element 116 and content element 118 are vertically aligned along a base line 125.
The distractors 115 are arranged to the right or underneath the question section 105. They are arranged on one to five rows, with as many on each row as reasonably fit. Some distractors can be placed on a lower row to balance out the number per row, but not at the expense of creating an additional distractor row. The priorities for distractor spreading versus number of distractors are shown in Table 14, below.
TABLE 14__________________________________________________________________________Distractor PrioritiesPriority Three Four Five__________________________________________________________________________1 All on the same line as the question.2 All on the same line below the question.3 Fill per line 2 on 1st line, 2 on 2nd line 3 on 1st line, 2 on 2nd line4 One per line Fill per line 2 on 1st line, 3 on 2nd line5 One per line Fill per line6 One per line__________________________________________________________________________
The "Fill per line" notation means that each line contains as many distractors as fit, with the remainder continuing on the following line. This can produce a variety of patterns, such as 1 on the first line, 3 on the second line and 1 on the third line; or 2 on the first line, 1 on the second line and 2 on the third line. While these layouts might seem unusual, they can result in a more efficient use of space on the question sheets 65a. The first choice is to place distractors on the same line with the question, if they satisfy the spacing and gridding constraints, as shown in FIG. 15. The second choice is to place distractors all on the same line following the question, if they satisfy the spacing and gridding constraints, as shown in FIG. 16. The third choice for five-distractor problems is to place three distractors on one distractor line and two on the next. This is shown in FIG. 17. Other arrangements follow the constraints indicated above. The logic followed by the layout logic 92 is described in greater detail in appendices 14 and 15.
The layout logic 92 also controls the display of answer and key sections. An exemplary answer section or key section 140 is shown in FIG. 18. The answer/key section 140 includes a label element 142 and a content element 144. The label element includes a designation 145, selected to match the designation of the corresponding question, together with appropriate punctuation, and is right justified to the problem label inset. The content element 144 is left justified to the problem content indent and both elements 142 and 144 are vertically aligned on the base line 146. In an answer section 144 a horizontal line 148 is provided as a place for a test taker to put his or her answer. In a free response format the line 148 may be replaced by one or more lines (not shown) that extend across the answer sheet 65b.
As noted above, the third component of the print engine 60 is the imager 94. The imager 94 understands the actual graphical appearance of problems 32 and annotations on the output. It can measure these items to determine their dimensions and draws them on the output device such as the video monitor 23 and printer 22. When measuring an item, the height may depend on the width, so the layout logic 92 provides the imager 94 with a bending rectangle into which the item should fit. Typically, the bounding rectangle will constrain width, but not height. Thus, for example, the layout logic 92 might try to fit an item within half of the page width if a two column layout for a test or examination is desired.
As can be seen from the above, the present invention provides an effective mechanism for producing examinations with dynamic content and presentation. However, while it has been described in what are believed to be the most preferred forms, it is to be understood that the present invention is not confined to the particular construction and arrangement of the components herein illustrated and described, but embraces such modified forms thereof as come within the scope of the following claims.
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Advertisement:Close [X]
74% via 31 votes23
Sabrina Blond plunges a hot dildo tight in her twat
- 19,172
- May 14, 2011
Sabrina Blond Here's the Official Site of Sabrina Blond - a sexy hot teen pornstar who has slammed onto the scene to make your free time a little more interesting. Don't let her down!
Twitter follow @porntube
From Our Blog Blog RSS
We are happy to help.
Choose your size

subset: commoncrawl


text:
4TH OF JULY SALE!enter HAPPY4TH for 10% off
See more: School Gear
Hoot Lunch Sack
Our Hoot! Lunch Sack offers a simple solution to bulky, heavy lunch boxes. Decorated with loveable owls sitting in heart shaped trees styled in vintage 60's colors, this lunch sack proves that fun and functionality can co-exist. Made of waterproofed canvas fabric, this sack stays new-looking and is machine-washable. A single main pocket has plenty of room for a nutritious lunch while keeping the sack lightweight. When lunchtime is over, this sack folds flat and can be easily tucked into any full backpack. Insulation keeps foods warm or cold and the Velcro closure is easy for little hands to use. This lunch time basic was designed by the talented Lisa Lowe at Ore.
- Recommended For Kids 3 Years And Older
- Fully Insulated And Made Of Laminated Cotton Canvas. Wipe Clean. Line Dry.
- Measures 10 x 6.5 x 4.5 Inches
- BPA-Free, Phthalate-Free, and PVC-Free.
- Designed By The Creative Team At SugarBooger For ORE
- Made in China
You might also enjoy...
Delight your child with the award-winning Bilibo. The possibilities are virtually endless, limited only by your little one's imagination. Its vibrant color and smooth, curved shape will inspire many uses. He can pretend it's a seat in a race car, use it as a rocking chair, or pretend it's a spinning top. Lightweight and compact, it can be easily...More Details →
Bright Wooden Letters Name Train
What better way to put a smile on your child's face than with our unique, personalized Bright Wooden Letters Name Train handcrafted by Maple Landmark? This wonderful gift will be treasured for years. You may even want to buy buy the whole alphabet for tons of learning fun! Handcrafted in Vermont from New England Rock Maple, these beautiful woode...More Details →
Original Play Silks
The quintessential Waldorf toy, our Original Play Silks by Sarah's Silks encourage endless hours of creative, open-ended play. Children adore using play silks to create scenes with wooden animals and dolls, for dress-up play, for puppet shows... the possibilities are unlimited. Adults may wonder how to play with these, but children know exactly...More Details →
Cordoba Blocks
Give your child the gift of creativity with this colorful and unique set of building blocks. Made of beech wood and coated with natural, solvent-free lacquers that are safe for curious hands and teething mouths, this quirky play set is perfect for toddlers and preschoolers. Your child will enjoy exploring the rattle, bell, mirror, and reflective...More Details →
Dog Hand Puppet
Our Dog Hand Puppet is a delightful and engaging toy to brighten any toy chest! Parents will endlessly entertain little babies with this puppet while older children can play with them in playgroups, encouraging imaginative play year after year. Handmade in Canada of reclaimed wool sweaters, no two puppets are identical; each toy has a completel...More Details →


text:
HomeCareersSearchContactGiveFor Our PhysiciansFor MediaFor Team Members
Tuesday, July 07, 2015 Weather
Frequently Visited Pages
Orlando Health's Education & Development Department
For information regarding live continuing education classes, please contact the Education & Development Department at 321.841.5144.
"On the Record" is a source where Orlando Health team members can get accurate,
fact-based information anytime/anywhere about their legal rights regarding unionization.
You also can learn more about National Nurses United/National Nurses Organizing Committee
(NNU/NNOC) and the Service Employees International Union (SEIU), and how unions may affect our team members,
work environment and patient care.


text:
184-52, Ben...
184-52, Ben...
I'm from Chicago myself. I've been taught to vote early and often. Bluestater, how do I vote????
The Art of living is more like wrestling than dancing.
Yep-my grandfather has been dead 18 years, but he still votes like a good citizen!
Last edited by TLV; 04-03-2008 at 09:18 PM.
The Art of living is more like wrestling than dancing.
Ben's got 3/4 of the vote so far including mine.
See you in St. Louis!
BAskren 262
Other Guy 104
So, they officially called it for Ben. Yay! Thanks for voting, everybody!
asken lost to donny pritlaff. i wrestled glenn ptitzlaff in the state semifinals and took a nice 17-6 beating. on a moral victory i was down 14-0 after 2 periods and i reversed him and then took him down lol


text:
Re: Quick question about trading in my car.... Please help me.?[ Edited ]
05-24-2008 01:22 PM - edited 05-24-2008 01:23 PM
lil_genuine2004 wrote:
Me and my mother basically got screwed 3 years ago (i didnt know what i know now) when we financed through a bank (dont say their name) at 18.2% interest on an auto loan that doesnt mature for another 3 years. So, we're talking 2005-2011 for an auto loan at 18.2%.
The car is a 2002 Ford Explorer XLT, which retailed at around $18,000 when we bought it. Now, I'm stuck paying 459 dollar monthly payments on a USED car that's 6 years old now. What are my options? we have about $17,000 or so dollars left to pay on the auto loan.
I tried to go to a credit union and get my auto loan refinanced, but he told me they cant refinance it at more than what it's worth (my car is valued at 10 grand right now) My auto loan from the bank has a buyout of 13 grand right now. Should i just try to trade it in at the dealer and plead with them to refinance my loan too? I mean, the montly payments are 459, we send 500 dollars to them every month and it's on TIME every month.
PLEASE SOMEONE HELP!! will the lender (dealer or credit union) look at my Perfect, and timely payments so far and say "Hey, you were able to make those high payments on time EVERY month, so you seem to have a handle on it"? Or will they just say fuk it?If you have a CC that has a good CL I would Balance Transfer , a percetage of the auto loan to a CC and refi, the remainder for a much lower rate. Most balance transfers for amex for example are a good 4.9% for the life of the balance transfer. At 18% thats just too much if you have good credit scores. This is a good move if you have no plans for any major financing in the near future, since the increase in your credit card balance may drop your score for a while, while you pay down the balance.
Message Edited by Takunda1 on 05-24-2008 03:23 PM
(1,627 Views)


text:
Extra Virgin Coconut Oil (All brands)
885 reviews
90% would repurchase
Package Quality: 3.6
Price: $$
Package Quality: 3.6
Price: $$
INGREDIENTSCocos nucifera
on 6/9/2014 9:50:00 PM
Age: 36-43
Skin: Combination, Olive, Not Sure
Hair: Brown, Other, Other
Eyes: Brown
I have been using coconut oil for two years (I read about it on MUA!) and I have gone through so many jars of it that I've lost count. Here's what I use it for:
Facial cleansing. Just massage a small amount all over for a minute or two. Rinse and then follow with a foaming cleanser. Truly gets my face super-clean.
Hair protection. I coat my hair with this before I go swimming, and I don't have any problems with the chlorine damaging my hair. It does tend to strip my color a bit, but I can live with that.
Tanning oil. Coconut oil gives me the most even, glowy tan in the summertime. Best tanning product I have ever used.
Some people use it as a pre-shampoo treatment, but it never did anything for me that way. There are lots of different uses for it, and what works for one person may not work for you so you have to experiment a bit. You can even eat it. Throw a spoonful into your smoothie and it will taste so rich and yummy (plus you'll get loads of nutritional benefits too.)
Lots of things have already been said about coconut oil, I just wanted to throw my two cents in. This is a staple item for me, will continue to repurchase.
on 6/9/2014 2:20:00 AM
Age: 36-43
Skin: Acne-prone, Fair, Not Sure
Hair: Black, Other, Other
Eyes: Green
Coconut oil is a product that you will either love or hate. I love it, it works great as a weekly deep conditioner for my hair. I have silver hair, so I melt it and mix this oil with my purple shampoo and leave it on for a few hours to help tone my hair. I also use it to remove my eye makeup. I don't use it on my face, because my skin just doesn't like anything oily on it..and that include jojoba oil, so it's not just this. I also use this to cook, but it does have a distinctive taste, so you if you don't like the taste of coconut, then you won't like the taste of this. I tried oil pulling with it, and that just was too much for me, made me gag lol I would absolutely buy it again, but it will be a little while...a little goes a longggg way.
on 6/9/2014 1:56:00 AM
Age: 25-29
Skin: Dry, Fair, Cool
Hair: Brunette, Curly, Coarse
Eyes: Other
Just a tip - buy the smallest tub you can find until you are sure that coconut oil will work for you. I have had 0 luck with this stuff and now have a massive tub left that I'm trying to find some use for. This is what I've tried:
Coconut oil as shaving cream: I got a close shave, but was left with severe razor burn that felt like a bad sunburn. The next day, I had rashy scabs on my legs!
Coconut oil as cuticle cream: Left my cuticles looking more dry and ragged than before I applied it.
Coconut oil as hair conditioner: Left my hair looking more frizzy and rough than before I applied it, also smelled disgusting (like musty, half-rancid coconut candy). I have very thick, coarse hair that normally soaks up oil treatments, but this was just a total failure.
Coconut oil in cookies: Tasted way to coconut-y and overpowered the flavor of the cookies.
Coconut oil on my hands: Just didn't do anything.
I have no idea what to do with the rest of this giant tub of coconut oil. I know there are many more popular uses that I haven't tried yet, but I'm not willing to 'risk it' trying something that could do more harm than good (e.g., DIY sunscreen; combined with baking soda for DIY toothpaste; or as a face moisturizer). I don't need to risk scrubbing away my tooth enamel or causing my face to break out for the sake of the coconut oil trend...
on 6/6/2014 12:47:00 AM
Age: 18 & Under
Skin: Combination, Fair, Cool
Hair: Brunette, Straight, Fine
Eyes: Blue
I just wanted to write a quick review on coconut oil, because the results I've seen in the past couple months are amazing. I use coconut oil on my skin as an acne and Keratosis Pilaris treatment. I use it in my hair before showers as a mask. And I also use it on my eyes as a moisturizer. For my back and chest acne, this has given more results than any other acne treatment I've used. I've tried salicylic acid, benzoyl peroxide, body washes, body wipes, creams and gels, etc. and nothing works as good as this does. It doesn't clear up my acne completely, but with repeated use, it definitely calms and soothes my acne, and lessens the severity of it. After shaving, I'll smooth a little bit of coconut oil on sensitive areas such as my underams and bikini line, and the red bumps, itching and irritations are non-existant. I have absolutely no problems with shaving anymore, because this stuff completely erases the irritation. I've also seen visible results on my arms from using this on my KP. Again, it's not completely gone, but it's definitely nowhere near as severe as it was before I started using coconut oil. My skin is combination, so I can be really oily or really dry, or both, on any given day. That being said, it's just a great moisturizer in general, so I definitely recommend giving it a dry if you're in need! I know it's fantastic as a supplement and in cooking too, so that's a bonus!
on 6/2/2014 5:52:00 PM
Age: 25-29
Skin: Sensitive, Fair, Cool
Hair: Brunette, Wavy, Fine
Eyes: Blue
As a food, I'd give this five stars. I love cooking nearly everything with it and it's super healthy to ingest. (Since eating more healthy, natural saturated fats, I've also stopped getting sunburns, which was unexpected but cool. Google it/check it out. It's a thing.)
But as a beauty product...no. I tried. i really, really wanted to like it. It made my hair matted and tangled and dry. It made my skin (which is super sensitive and easily upset by changes in routine) peel and flake and break out. It didn't do jack for the cracked winter skin on my knuckles or elbows, and it even seemed drying on my lips as a lip balm. I'll stick to eating it.
on 6/2/2014 4:22:00 PM
Age: 36-43
Skin: Acne-prone, Olive, Not Sure
Hair: Brunette, Other, Other
Eyes: Green
Wonderful for KP!
I developed KP after being on Accutane...like acne wasn't bad enough. After showering, I would rub very small amount on the back of my arms and above my knees. Worked great and pretty quick.
Great all around moisturizer.
on 5/28/2014 2:04:00 PM
Age: 25-29
Skin: Combination, Fair, Not Sure
Hair: Black, Other, Other
Eyes: Hazel
As most of you have mentioned this product can be used for a multitude of things, I personally like using it as a moisturizer. I tend to have dry skin and this stuff works miracles. Beyond that, it's super healthy for your skin and actually has helped a little with my acne too.
on 5/24/2014 6:40:00 PM
Age: 30-35
Skin: Acne-prone, Fair, Not Sure
Hair: Blond, Straight, Fine
Eyes: Blue
I use this everyday as eye makeup remover. It takes all of it off very easily, even my waterproof mascara. That is the only place on my face I can use it. I tried using it as a facial moisturizer and it was disastrous. It caused major acne I hadn't experienced in years. I also use this as a body moisturizer. However, it cannot get anywhere near my chest, or it causes breakouts. I have used it sparingly on the ends of my hair. It worked well, but caused back breakouts as well. I mainly use it on my arms and legs. It is the only body moisturizer I own and it works great for that. Be very careful of this stuff if you are prone to breakouts. I apply it to my closed eyes, rub it in, and use cotton rounds to wipe it off. This method doesn't seem to cause me acne issues if I am careful about not getting it anywhere else on my face. I have used the Kroger brand called Simple Truth and the HEB Central Market brand (for those of you in Texas). I find them in the aisle with all of the cooking oils. It seems expensive but it lasts forever (my first jar lasted a year). It also works great at removing labels off of jars and getting dried hot glue and tape residue off of hard surfaces. It's a great multi purpose product.
on 4/30/2014 10:34:00 PM
Age: 30-35
Skin: Sensitive, Fair, Neutral
Hair: Brunette, Other, Other
Eyes: Brown
It's so versatile and smells amazing! My favorite brand is from Trader Joe's. It's super cheap and all natural! I use it as a moisturizer on my face and all over my body as well. Sometimes I use it for oil cleansing when I'm not using my cleansing cream. I haven't broke out from using this, instead I have a new glow:) It feels so soothing and cool on my skin.
on 4/29/2014 5:37:00 PM
Age: 19-24
Skin: Dry, Olive, Warm
Hair: Brunette, Wavy, Medium
Eyes: Blue
So I know alot of people use this for different things - I use it on my face. Started off as a moisturizer, than it evolved into a fash wash, when I started trying the OCM - oil cleaning method. This stuff is FANTASTIC. Holy moly. First thing to consider however, is if you plan on using this on your skin, to test patches for a while as a) many people are allergic to nut oils and b) this stuff is rated quite high on the comedogenic scale. I was very lucky, I used to have extremely acne prone skin (oily, dry, cystic acne for years), but I think I'm past that? *knock on wood*, because I slathered this on my face for months, and just recently found out it's considered pore-clogging for a lot of people. Weird. So approach with caution! But, if you can make this work for you, holy crap it's fantastic. I first started using it as a face moisturizer, trying to get away from all the stinky, goopy, chemical-laden night creams out there (I should let you know, my skin has been very dry that last 5 or so years, due to my year on Accutane, and my upkeep with Vit A). I would say 4/5 for moisturizing, works well, but it's not like miracle worthy? I don't notice glowing skin or anything, but it does the job. It also wipes off a little too easily before it gets a chance to sink in, so I wouldn't recommend it for the body...but my hubby uses this on his hands (which get dry to the point where they bleed and crack, due to him working with his hands all day and having excema and constantly washing them), then puts plastic gloves over overnight, and it works great for him in that sense. So, as a moisturizer, it's good, I sometimes need to supplement with another moisturizer, but not always.
As a facewash however? OH MY GOD, it's amazing. Even though I got over the fear of moisturizing and putting certain oils on my face a looong time ago (back in my teenage years when oil was the devil, and I punished my skin with BP, Proactiv, all that awful crap that turns your face into a desert), I was very wary about this and did a ton of research. I already knew it shouldn't break me out, since I'd been using it as a moisturizer for months, but due to my dry skin, I was so used to exfoliating on almost a daily basis. There's nothing I love more than scrubbing my makeup off my skin at the end of the day, and slathering on the moisturizer, you just feel CLEAN. I was worried my skin would feel slimy, and like I hadn't gotten all the crap out, but I'd also been using the CO as a makeup remover, so I thought what the hell, and dove head first, using this method day and night. First thing I noticed, is my skin felt clean, but not red or tight like after washing and exfoliating with a cleanser. I also needed less moisturizer. Woke up the next day - no pimples. It was a good start. It's now been almost a month, and I honestly don't think I'll ever ever go back so scrubbing the hell out of my skin, I've finally gotten over needing that squeaky, stripped clean feeling. My skin is way more balanced oil wise, it's less dry in the dry parts, and less oily in the oily parts, and it looks fresh. It glows, it looks brighter. I can't comment onto the acne-fighting properties as I rarely deal with acne, but the redness around my nose and scars has been significantly reduced. I still deal with blackheads however, so I still use a clarifying mask and a quick nose scrub on the weekends, but overall, I am so happy I made the switch.
Couple of tips: patch test! You could be allergic, and it could make you break out (particularly oily and acne prone people). You can use this method with other oils though, so do your research and experiment. Give it time! Some people reported an inital purging period for their skin. I did not have this, but it could happen. Again, do your research. Lastly, make sure the CO or any oil you use (I would assume the same of others), is organic, and I remember reading somewhere that cold-pressed may be worse for your skin than non cold-pressed? I'd double check.
But it's super cheap, super effective, and despite that it comes in the most awkward jar ever (but I can't blame them, most people eat the stuff), I'm hooked.
Popular Lotions / Creams
1158 Reviews
885 Reviews
1248 Reviews
168 Reviews
601 Reviews
419 Reviews


text:
@ nitrofish:
One way to check your Wii is check the sticker at the bottom: mine is starting with LKsomething something. it's Korean. My cousin's Wii is LJxxx which is Japanese. I just softmodded his a few hours ago. If you said your's is USA, it should be LUxxx. then when you check system settings inside wii menu settings it is display on the right corner of the tv screen up above saying 4.1U. Note: it will never be 3.2 nor 4.0 nor 4.1 without the country suffix. 4.1J 4.1U etc etc.
And by country alone you'd know whether it's PAL or NTSC. since USA and Japan are both NTSC. So if your system settings is already 4.1"U" then it is NTSC.
Lastly, check your game. I got confused a bit since you mentions you bought the game and burned it since it has scratched. and now you're mentioning utorrent, which can mean it is downloaded. If it is downloaded though you may remember by it's file name:
e.g. Wii_The_title001_PAL_[Esp].rar
1. Wii - not to mistaken it for ps2 or pc or any other console
2. The title001 - the thing you have downloaded
3. PAL - obviously the game's region
4. [Esp] - the language of the game Esp = spanish or sometime abbrev. as Spa
5. .rar - the file extension ( i think varies to .rar, .zip, .iso or .daa )
if it is PAL then better try it with USBLoaderGX. run it and insert the disc. Uh before you softmodded, Do the games you tried worked before without the B&W and the jumping thing?


text:
AbandonedDeveloper with 2 members, must apply to join
This is the Abandoned Dev-Group. Ask me if you would like to join and become part of the Abandoned Mod Team.
This member has provided no bio about themself...
4 comments by dafatcat on Dec 29th, 2010
GG_trainbattle is a small, fast-paced map for Counter-Strike: Source that takes place on top of and inside of 3 trains moving along side each other.
Video is a bit outdated but it gets the job done
This is the Abandoned Dev-Group. Ask me if you would like to join and become part of the Abandoned Mod Team.
We are a small but international game development studio comprised of both casual modders and aspiring game developers, all of whom are volunteers. Under...
The development team working on the HL2 Mod GraviNULL.
It's my birthday tomorrow (17th), I demand an epic DAFATCAT shirt!
Then I'll play ls_highrise.
I'd take you up on that offer, but no one plays LS because it's boring and nothing new :V
True, it was boring and the ?perks? system and that stuff was way too uncomfy to use.
You're ugly.
awesome steam punk gadgets man
Your avatar told me to write this:
You have to feed your avatar more often.
Woah I just realized how sick I am.
Anyway I'm just here to let you know your name is lame.
By the way, your avatar told me to say that to you too.
I guess I'm pretty ****** up. Lamest_user_in_ModDB01 OUT.
And you have to feed his fjork more often. Win.
That comment was a year old :V


text:
Halle Berry is just one of the latest celebrities to launch a new scent -- her third. It's called Reveal, and Berry said she spent months developing it to have just the right combination of notes, otherwise known as ingredients.
"Every fragrance that has my name is something I have tested, sort of labored over," she said. "I've smelled it 500 different times with this little note added, that little note added, we changed it. My fragrance is a part of me."
Berry said her other fragrance, Pure Orchid, actually draws its scent from the real rare flower, but also has "fruity notes" added to it. Perfumist Rodrigo Flores-Roux helped Berry create her Pure Orchid scent at the Givoudan Fragrance Lab in New York City, where there are 2,000 smells lingering at any given time.
"A perfume can have 50 to 100 ingredients, so it's a complex recipe," Flores-Roux said. "[For Pure Orchid], we went to the jungles of Peru, up into the mountains that go down into the Amazon, and we actually encountered a beautiful orchid. We did not touch the flower. Through a very, very complex methodology we made the 'alfactive' -- the ascent formula of the air around it."
Fragrances are way for someone to have an intimate connection to you, Berry said, even if you're a celebrity, but be careful not to overdo it.
"I tell people don't put it around your neck and around your face so that way you don't leave it on other people," Berry said. "Put it on the back of your arms. Put it in your midsection or in your inner thighs, but not around your face."


text:
7mm crystal beads, ruby Our Father beads. Delicate roses on heart center and crucifix. 22" length. Gift box included.
|Barsco (Spring Hill, FL, November 5, 2008)
|These Rosary beads are even more beautiful then they appeared in the picture. They're also beautifully made and I'm sure I'll have them for a lifetime. Pros: Durable, Good Value, High Quality


text:
The only 24/7/365 Financial Talk Radio on the Internet!
Each week, we will be featuring on the air, lots of big name guests from Wall Street such as: Sam Stovall – Standard & Poor's, Jon Najarian – CNBC's Fast Money, Jim Farrish – SectorExchange, Carlton Sheets – Real Estate Expert, John Person – National Futures, Bryan Perry – CashMachineIncome.com, Chuck Carlson – DripInvestor.com, plus Steve Forbes will be appearing in the near future and many more to come…..
Reasonably low airtime fee makes it affordable to host your own radio show right away, and provides you with everything you need to broadcast your show LIVE in CD-quality on the Our Internet Radio Network, while being promoted on Your website, iTunes Radio, social networks and search engines as well.
Using professional equipment and supported by a warm professional staff, imagine broadcasting from the comfort of your own office or home achieving the same sound quality as if you were in our own studio. We have many ways that you can technically broadcast from anywhere in the world to our Internet Radio Network and we make it as easy as possible for you.
Receive callers on our TOLL FREE call-in number and interact with listeners from around the world. There are no long term contracts or obligations. Most importantly, you produce your own show, say what you want to say, be yourself and maintain complete control of everything. We will professionally produce all your commercials, opens and closes for your show with the proper disclaimers as well. Radio listeners are experiencing a revolution in the way they consume their entertainment. It seems that more listeners are turning to the Internet for fresh audio content each and every day and so can you…..
Join us right now by picking up the phone and speak to me, a seasoned radio veteran with over 30 years in the business. I am a former Executive Radio Producer and Co-Host of a Syndicated Radio Show with all the right tools to get you started with rates so low, you will say, "WHEN CAN WE GET STARTED?"