Patent Document ID: 9177485
Application ID: 12319566

Base Claim:
1. A computer-implemented method for creating a family of programming language test questions, the method comprising: generating the family of programming language test questions, each question in the family including a question body to be presented to a test taker and a plurality of response options to be correspondingly presented to the test taker, the question body comprising a segment of compilable program code, and at least one of the response options representing an outcome of execution of the segment of compilable program code, the step of generating comprising using at least one processor for: a. storing in a memory, a pre-defined parent question comprising a first segment of compilable program code written in the programming language; b. generating a template question comprising a second segment of compilable program code, by inserting one or more user-defined variables in the first segment of compilable program code of the pre-defined parent question; c. generating a first question body for a first question in the family of questions, the first question body comprising a third segment of compilable program code generated by assigning a first set of unique random values to the one or more user-defined variables in the second segment of compilable program code of the template question; and d. generating a first plurality of response options corresponding to the first question, the first plurality of response options comprising at least one correct option and at least one incorrect option, wherein the at least one correct option is generated by a compiler program and is based on a compiler program input comprising the third segment of code; and wherein the at least one incorrect option is generated by compiling one or more misinterpretation codes, a misinterpretation code being generated by: generating a fourth segment of compilable program code, wherein the fourth segment of compilable program code includes (i) a first program statement that is also included within the second segment of compilable program code, and (ii) a second program statement that is not included within the second segment of compilable program code; and assigning the first set of unique random values corresponding to the third segment of compilable program code, to one or more variables within the fourth segment of compilable program code.

---

Claim 3:
3. The method according to claim 1 , wherein the at least incorrect option is generated based on at least one of the correct option and a second set of unique random values, the second set of unique random values being defined by the user.