diff --git a/common/lib/xmodule/xmodule/templates/problem/circuitschematic.yaml b/common/lib/xmodule/xmodule/templates/problem/circuitschematic.yaml index e4cfcd2849..ced38faba6 100644 --- a/common/lib/xmodule/xmodule/templates/problem/circuitschematic.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/circuitschematic.yaml @@ -1,130 +1,62 @@ --- metadata: display_name: Circuit Schematic + rerandomize: never + showanswer: always data: | - - - - - Your goal for this lab is to design a circuit that implements a - 3-input logic gate that implements \(Z = \lnot{(C(A+B))}\) where the - \(\lnot\) symbol stands for logical negation. This function is - enumerated in the following truth table: - -
-      C B A | Z
-      =========
-      0 0 0 | 1
-      0 0 1 | 1
-      0 1 0 | 1
-      0 1 1 | 1
-      1 0 0 | 1
-      1 0 1 | 0
-      1 1 0 | 0
-      1 1 1 | 0
-      
- - The schematic diagram below includes the resistive pullup for the logic - gate and some voltage sources that serve as the power supply and - generators for the signals that will be the inputs to the gate. - The voltage sources generate the three input signals (A, B and C), timed so that all - possible combinations of the inputs will be generated over a \(4\mu s\) - interval. - -

Please add the appropriate pulldown network of mosfet - switches connected to node Z to implement the truth table above, with - \(R_{ON}\) of the mosfets chosen so that \(V_{ol}\) of the logic gate is less than - \(0.25V\) for any combination of inputs. In the schematic tool, the mosfet - model has \(V_{th} = 0.5V\), so \(V_{ol} \lt 0.25V\) - will ensure that when the output of the logic gate is 0, if it is used - as the input to some other logic gate, the mosfet to which - it connects will be off. - -

On page 305 of the text we - see from Equation (6) that \(R_{ON} = R_n \frac{L}{W}\). In the - schematic tool, the mosfet model has \(R_n \approx 26.5k\Omega\) when - using a \(3V\) power supply. To adjust \(R_{ON}\), double click the - mosfet and select an appropriate value for the W/L parameter. For - example, setting a mosfet's W/L to 10 would result in \(R_{ON} = - 2.65k\Omega\). - -

Note that the "Plot offset" property of the scope probes - on the A, B and C signals has been set so that the plots will not - overlap, making it easier to see what's happening. - -

Please do not change the voltages of the voltage sources or the - resistance of the pullup resistor. - - - - -
- -
- - # for a schematic response, submission[i] is the json representation - # of the diagram and analysis results for the i-th schematic tag - - def get_tran(json,signal): - for element in json: - if element[0] == 'transient': - return element[1].get(signal,[]) - return [] - - def get_value(at,output): - for (t,v) in output: - if at == t: return v - return None - - output = get_tran(submission[0],'Z') - okay = True - - # output should be 1, 1, 1, 1, 1, 0, 0, 0 - if get_value(0.0000004,output) < 2.7: okay = False; - if get_value(0.0000009,output) < 2.7: okay = False; - if get_value(0.0000014,output) < 2.7: okay = False; - if get_value(0.0000019,output) < 2.7: okay = False; - if get_value(0.0000024,output) < 2.7: okay = False; - if get_value(0.0000029,output) > 0.25: okay = False; - if get_value(0.0000034,output) > 0.25: okay = False; - if get_value(0.0000039,output) > 0.25: okay = False; - - correct = ['correct' if okay else 'incorrect'] - - -
- - - - When your circuit is ready for testing, run a \(4\mu s\) transient - simulation to verify correct functionality and appropriate \(V_{ol}\) - when the output of the gate is logic 0. To submit, please click - CHECK. The checker will be verifying the voltage of the - output node at several different times, so you'll earn a checkmark - only after you've performed the transient simulation so that - the checker will have a waveform to check! - -

Hint: you'll only need 3 mosfet switches to implement the gate. - -

When the gate is correctly implemented, the plot produced by the transient - analysis should like similar to the following figure. - -
- -
Figure 1. Example plot output -
- -

Food for thought: You'll notice there are little spikes, - sometimes called glitches, in the output waveform (see the - bottom cyan-colored waveform in Figure 1). These only occur when the - A and B inputs are changing simultaneously and the C input is high. - Can you explain why? Think about what is happening in the pulldown - circuitry at the time the glitches occur. - - - -
+ + Please make a voltage divider that splits the provided voltage evenly. + + +
+ +
+ + dc_value = "dc analysis not found" + for response in submission[0]: + if response[0] == 'dc': + for node in response[1:]: + dc_value = node['output'] + + if dc_value == .5: + correct = ['correct'] + else: + correct = ['incorrect'] + +
+ +

Make a high pass filter

+
+ +
+ + ac_values = None + for response in submission[0]: + if response[0] == 'ac': + for node in response[1:]: + ac_values = node['NodeA'] + print "the ac analysis value:", ac_values + if ac_values == None: + correct = ['incorrect'] + elif ac_values[0][1] < ac_values[1][1]: + correct = ['correct'] + else: + correct = ['incorrect'] + +
+ + +
+

Explanation

+

A voltage divider that evenly divides the input voltage can be formed with two identically valued resistors, with the sampled voltage taken in between the two.

+

+

A simple high-pass filter without any further constaints can be formed by simply putting a resister in series with a capacitor. The actual values of the components do not really matter in order to meet the constraints of the problem.

+

+
+
+
children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/customgrader.yaml b/common/lib/xmodule/xmodule/templates/problem/customgrader.yaml index 3b1f6599fa..1227e93829 100644 --- a/common/lib/xmodule/xmodule/templates/problem/customgrader.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/customgrader.yaml @@ -1,31 +1,49 @@ --- metadata: display_name: Custom Grader + rerandomize: never + showanswer: always data: | - - -

Example: Custom Response Problem

- -

- A custom response problem accepts one or more lines of text input from the - student, and evaluates the inputs for correctness based on evaluation using a - python script embedded within the problem. -

- - - - - Enter two integers which sum to 10:
- -
- -
-
- -
-
+ +

+ A custom response problem accepts one or more lines of text input from the + student, and evaluates the inputs for correctness based on evaluation using a + python script embedded within the problem. +

+ + + +

Enter two integers which sum to 10:

+ +
+ +
+ +

Enter two integers which sum to 20:

+ +
+ +
+ + +
+

Explanation

+

Any set of values on the line \(y = 10 - x\) and \(y = 20 - x\) satisfy these constraints.

+ +
+
+
+ children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/forumularesponse.yaml b/common/lib/xmodule/xmodule/templates/problem/forumularesponse.yaml index 398438d953..c4872ca479 100644 --- a/common/lib/xmodule/xmodule/templates/problem/forumularesponse.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/forumularesponse.yaml @@ -1,38 +1,47 @@ --- metadata: display_name: Formula Repsonse + rerandomize: never + showanswer: always data: | - - -

Example: Formula Response Problem

- -

- A formula response problem accepts a line of text input from the - student, and evaluates the input for correctness based on numerical sampling of - the symbolic formula which is given. -

- -

- The answer is correct if it is within a specified numerical tolerance - of the expected answer. -

- -

This kind of response checking can handle symbolic expressions, but places an extra burden - on the problem author to specify the allowed variables in the expression, and the - numerical ranges over which the variables must be sampled to test for correctness.

- - - - -
- Give an equation for the relativistic energy of an object with mass m. Explicitly indicate multiplication with a * symbol.
-
- - -
E = -
- -
-
+ +

+ A formula response problem accepts a line of text representing a mathematical expression from the + student, and evaluates the input for equivalence to a mathematical expression provided by the + grader. Correctness is based on numerical sampling of the symbolic expressions. +

+

+ The answer is correct if both the student provided response and the grader's mathematical + expression are equivalent to specified numerical tolerance, over a specified range of values for each + variable. +

+ +

This kind of response checking can handle symbolic expressions, but places an extra burden + on the problem author to specify the allowed variables in the expression, and the + numerical ranges over which the variables must be sampled in order to test for correctness.

+ + +

Give an equation for the relativistic energy of an object with mass m. Explicitly indicate multiplication with a * symbol.

+ + +
E = +
+ +

The answer to this question is (R_1*R_2)/R_3.

+ + + + + + +
+

Explanation

+

The mathematical summary of many of the theory of relativity developed by Einstein is that the amount of energy contained in a mass m is the mass time the speed of light squared.

+

As you can see with the formula entry, the answer is \(\frac{R_1*R_2}{R_3}\)

+
+
+
+ children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/imageresponse.yaml b/common/lib/xmodule/xmodule/templates/problem/imageresponse.yaml index 3469e9c055..3a941aa939 100644 --- a/common/lib/xmodule/xmodule/templates/problem/imageresponse.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/imageresponse.yaml @@ -1,26 +1,26 @@ --- metadata: display_name: Image Response + rerandomize: never + showanswer: always data: | - - -

Example: Image Response Problem

- -

- When teaching conventionally, a common check for understanding is to ask the student to point - at something which satisfies a set of contraints. This use case is captured in the imageresponse. - An image response problem presents an image for the student. Input is - given by the location of mouse clicks on the image. Correctness of input can only be evaluated based on expected dimensions of a rectangle. - -

- - - Click on the cow in this image: - - - - -
-
+ +

+ An image response problem presents an image for the student. Input is + given by the location of mouse clicks on the image. Correctness of input can be evaluated based on expected dimensions of a rectangle. +

+ +

Which object in this image is required by the fire code?

+ + + + +
+

Explanation

+

The fire code requires that all exits be clearly marked, so the red exit sign is the correct answer.

+
+
+
+ children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/multiline.yaml b/common/lib/xmodule/xmodule/templates/problem/multiline.yaml deleted file mode 100644 index 94df320bfe..0000000000 --- a/common/lib/xmodule/xmodule/templates/problem/multiline.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -metadata: - display_name: Multiline XML -data: | - - -children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/multiplechoice.yaml b/common/lib/xmodule/xmodule/templates/problem/multiplechoice.yaml index 1ae05e04b3..dbcdf92900 100644 --- a/common/lib/xmodule/xmodule/templates/problem/multiplechoice.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/multiplechoice.yaml @@ -1,27 +1,32 @@ --- metadata: display_name: Multiple Choice + rerandomize: never + showanswer: always data: | - - -

Example: Multiple Choice Response Problem

- -

- A multiple choice response problem presents radio buttons for student - input. Correctness of - input is evaluated based on expected answers specified within each - "choice" stanza. -

- -

Select the correct choice. Grass is:

- - - Red - Green - Yellow - Blue - - -
-
+ +

+ A multiple choice problem presents radio buttons for student + input. Students can only select a single option presented. Multiple Choice questions have been the subject of many areas of research due to the early invention and adoption of bubble sheets.

+

One of the main elements that goes into a good multiple choice question is the existence of good distractors. That is, each of the alternate responses presented to the student should be the result of a plausible mistake that a student might make. +

+ +

What Apple device competed with the portable CD player?

+ + + The iPad + Napster + The iPod + The vegetable peeler + Android + The Beatles + + + +
+

Explanation

+

The release of the iPod allowed consumers to carry their entire music library with them in a format that did not rely on fragile and enery-intensive spinning disks.

+
+
+
children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/numericalresponse.yaml b/common/lib/xmodule/xmodule/templates/problem/numericalresponse.yaml index 3f4861a01e..18b2af6d51 100644 --- a/common/lib/xmodule/xmodule/templates/problem/numericalresponse.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/numericalresponse.yaml @@ -1,28 +1,50 @@ --- metadata: display_name: Numerical Response + rerandomize: never + showanswer: always data: | - - -

Example: Numerical Response Problem

- -

+ +

A numerical response problem accepts a line of text input from the student, and evaluates the input for correctness based on its numerical value. -

- -

+

+ +

The answer is correct if it is within a specified numerical tolerance of the expected answer. -

- -

Enter the numerical value of Pi: - - - - -

-
-
+

+ + +

Enter the numerical value of Pi: + + + + +

+

Enter the approximate value of 502*9: + + + + +

+ +

Enter the number of fingers on a human hand: + + + +

+ +
+

Explanation

+

Pi, or the the ratio between a circle's circumference to its diameter, is an irrational number known to extreme precision. It is value is approximately equal to 3.14.

+

Although you can get an exact value by typing 502*9 into a calculator, the result will be close to 500*10, or 5,000. The grader accepts any response within 15% of the true value, 4518, so that you can use any estimation technique that you like.

+

If you look at your hand, you can count that you have five fingers.

+
+
+ + children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/optionresponse.yaml b/common/lib/xmodule/xmodule/templates/problem/optionresponse.yaml index 95e19e369c..9bf1186224 100644 --- a/common/lib/xmodule/xmodule/templates/problem/optionresponse.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/optionresponse.yaml @@ -1,19 +1,27 @@ --- metadata: display_name: Option Response + rerandomize: never + showanswer: always data: | - - -

Example: Option Response Problem

-

- An option response problem presents option boxes for students to select from. Correctness of input is evaluated based - on which option is defined as correct in the optioninput statement. -

-

Select the correct options:

- -

The location of the sky is:

-

The location of the earth is:

-
-
-
+ +

OptionResponse gives a limited set of options for students to respond with, and presents those options + in a format that encourages them to search for a specific answer rather than being immediately presented with options from which to recognize the correct answer.

+ +

+ The answer options and the identification of the correct answer is defined in the optioninput tag. +

+

Translation between Option Response and __________ is extremely straightforward: + + + + +

+ +
+

Explanation

+

Multiple Choice also allows students to select from a variety of pre-written responses, although the format makes it easier for students to read very long response options. Optionresponse also differs slightly because students are more likely to think of an answer and then search for it rather than relying purely on recognition to answer the question.

+
+
+
children: [] diff --git a/common/lib/xmodule/xmodule/templates/problem/string_response.yaml b/common/lib/xmodule/xmodule/templates/problem/string_response.yaml index 47c5adf1a4..040f4c4ac1 100644 --- a/common/lib/xmodule/xmodule/templates/problem/string_response.yaml +++ b/common/lib/xmodule/xmodule/templates/problem/string_response.yaml @@ -1,41 +1,28 @@ --- metadata: display_name: String Response + rerandomize: never + showanswer: always data: | - - -

Example: String Response Problem

+

- - A string response problem accepts a line of text input from the - student, and evaluates the input for correctness based on an expected - answer within each input box. - - The answer is correct if it is the expected answer. + + A string response problem accepts a line of text input from the + student, and evaluates the input for correctness based on an expected + answer within each input box. + + The answer is correct if it matches every character of the expected answer. This can be a problem with international spelling, dates, or anything where the format of the answer is not clear.

-
- - -

Which US state has Lansing as its capital?    

- - - - - - - - - The state capital of Wisconsin is Madison. - - - The state capital of Minnesota is St. Paul. - - - The state you are looking for is also known as the 'Great Lakes State' - - - -
- + +

Which US state has Lansing as its capital?

+ + + + +
+

Explanation

+

Lansing is the capital of Michigan, although it is not Michgan's largest city, or even the seat of the county in which it resides.

+
+
children: []