# Khan/khan-exercises

Remove old matrix experiment files.

In the qhints experiments (defined_and_undefined_matrix_operations.html, matrix_dimensions.html), choose the qhints alternatives. They performed marginally better, but not by a statistically significant amount.

In the video hint vs. solution only vs. steps only vs. traditional hints, choose traditional hints, with the goal of eventually extracting out the text into subhints. The steps only alternative performed better than the other alternatives in the new proficiency experiment, and roughly tied for best performance in the first review experiment (not sure if statistically significant). However, I suspect that some users learn better from having explanations in text, so having the text available in subhints sounds like the right way to go.

Auditors: eater, alpert
1 parent 059776b commit a239f801654a84a9dc442ba8e31409468e34e862 Stephanie H. Chang committed
42 exercises/defined_and_undefined_matrix_operations.html
 @@ -1,5 +1,5 @@ - + Defined and undefined matrix operations @@ -75,6 +75,26 @@ for their sumdifference to be defined.

+
+

+ Do PRETTY_MAT_1_ID and PRETTY_MAT_2_ID have the same number of rows? +

+ DIM_1 === DIM_3 ? "Yes" : "No" +

+ + +

+
+
+

+ Do PRETTY_MAT_1_ID and PRETTY_MAT_2_ID have the same number of columns? +

+ DIM_2 === DIM_4 ? "Yes" : "No" +

+ + +

+

Since PRETTY_MAT_1_ID has the samedifferent dimensions (DIM_1 + "\\times" + DIM_2) asfrom PRETTY_MAT_2_ID (DIM_3 + "\\times" + DIM_4), @@ -108,6 +128,26 @@ If the two matrices have dimensions (\blue m \times \red n) and (\red p \times \green q), then \red n (number of columns in the first matrix) must equal \red p (number of rows in the second matrix) for their product to be defined.

+
+

+ How many columns does the first matrix, PRETTY_MAT_1_ID, have? +

+ DIM_2 +

+ + +

+
+
+

+ How many rows does the second matrix, PRETTY_MAT_2_ID, have? +

+ DIM_3 +

+ + +

+
Since PRETTY_MAT_1_ID has the samea different number of columns (DIM_2) asthan PRETTY_MAT_2_ID has rows (DIM_3), PRETTY_MAT_1_ID + PRETTY_MAT_2_ID is not defined.
160 exercises/defined_and_undefined_matrix_operations_alternative.html
 @@ -1,160 +0,0 @@ - - - - - Defined and undefined matrix operations - - - -
- -
- DEFINED ? "Yes" : "No" - - makeMatrix(randRange(-2, 4, DIM_1, DIM_2)) - makeMatrix(randRange(-2, 4, DIM_3, DIM_4)) - - "\\textbf " + randFromArray("ABCDEF") - "\\textbf " + randFromArray("ABCDEF") - - - printSimpleMatrix(MAT_1) - - - printSimpleMatrix(MAT_2) - -
- -
-

- PRETTY_MAT_1_ID = PRETTY_MAT_1 -

-

- PRETTY_MAT_2_ID = PRETTY_MAT_2 -

-
- -

- Is PRETTY_MAT_1_ID + OPERATION + PRETTY_MAT_2_ID defined? -

- -

-
-
• Yes
• -
• No
• -
- -
-
-
- randRange(0, 1) - randRange(1, 3) - randRange(1, 3) - DIM_1 - - DEFINED ? DIM_2 : randRangeExclude(1, 3, [DIM_2]) - - randFromArray("+-") -
- -
-
-

- In order for additionsubtraction of two matrices to be defined, the matrices must have the same dimensions. -

-

- If PRETTY_MAT_1_ID is of dimension (\blue m \times \red n) and PRETTY_MAT_2_ID is of dimension (\blue p \times \red q), then: -

-

- 1. \blue m (number of rows in PRETTY_MAT_1_ID) must equal \blue p (number of rows in PRETTY_MAT_2_ID) and -

-

- 2. \red n (number of columns in PRETTY_MAT_1_ID) must equal \red q (number of columns in PRETTY_MAT_2_ID) -

-

- for their sumdifference to be defined. -

-
-
-

- Do PRETTY_MAT_1_ID and PRETTY_MAT_2_ID have the same number of rows? -

- DIM_1 === DIM_3 ? "Yes" : "No" -

- - -

-
-
-

- Do PRETTY_MAT_1_ID and PRETTY_MAT_2_ID have the same number of columns? -

- DIM_2 === DIM_4 ? "Yes" : "No" -

- - -

-
-
-

- Since PRETTY_MAT_1_ID has the samedifferent dimensions (DIM_1 + "\\times" + DIM_2) asfrom PRETTY_MAT_2_ID (DIM_3 + "\\times" + DIM_4), -

- PRETTY_MAT_1_ID + OPERATION + PRETTY_MAT_2_ID is not defined. -

-
-
-
- -
-
- randRange(0, 1) - randRange(1, 3) - randRange(1, 3) - - DEFINED ? DIM_2 : randRangeExclude(1, 3, [DIM_2]) - - randRange(1, 3) - "" -
- -
-
-

- In order for multiplication of two matrices to be defined, the two inner dimensions must be equal. -

-
-
-

- If the two matrices have dimensions (\blue m \times \red n) and (\red p \times \green q), then \red n (number of columns in the first matrix) must equal \red p (number of rows in the second matrix) for their product to be defined. -

-
-
-

- How many columns does the first matrix, PRETTY_MAT_1_ID, have? -

- DIM_2 -

- - -

-
-
-

- How many rows does the second matrix, PRETTY_MAT_2_ID, have? -

- DIM_3 -

- - -

-
-
- Since PRETTY_MAT_1_ID has the samea different number of columns (DIM_2) asthan PRETTY_MAT_2_ID has rows (DIM_3), PRETTY_MAT_1_ID + PRETTY_MAT_2_ID is not defined. -
-
-
-
- -
- -
19 exercises/matrix_dimensions.html
 @@ -38,14 +38,25 @@
-
+

- The first dimension is the number of rows in the matrix. PRETTY_MAT_ID has DIM_1 rows. + The first dimension is the number of rows in the matrix. How many rows does PRETTY_MAT_ID have? +

+ DIM_1 +

+ +

-
+

- The second dimension is the number of columns in the matrix. PRETTY_MAT_ID has DIM_2 columns. + The second dimension is the number of columns in the matrix. How many columns does PRETTY_MAT_ID have? +

+ DIM_2 +

+ + +

So, PRETTY_MAT_ID is a DIM_1 \times DIM_2 matrix.
67 exercises/matrix_dimensions_alternative.html
 @@ -1,67 +0,0 @@ - - - - - Matrix dimensions - - - -
-
- randRange(1, 4) - randRange(1, 4) - makeMatrix(randRange(-2, 4, DIM_1, DIM_2)) - - "\\textbf " + randFromArray("ABCDEF") - - printSimpleMatrix(MAT_A) - -
-
-
-
-

- PRETTY_MAT_ID = PRETTY_MAT_A -

-
- -

- What are the dimensions of matrix PRETTY_MAT_ID? -

- -
- DIM_1 - \times - DIM_2 -
-
-
- -
-
-

- The first dimension is the number of rows in the matrix. How many rows does PRETTY_MAT_ID have? -

- DIM_1 -

- - -

-
-
-

- The second dimension is the number of columns in the matrix. How many columns does PRETTY_MAT_ID have? -

- DIM_2 -

- - -

-
-
- So, PRETTY_MAT_ID is a DIM_1 \times DIM_2 matrix. -
-
-
- -
116 exercises/multiplying_a_matrix_by_a_matrix_solution_only.html
 @@ -1,116 +0,0 @@ - - - - - Multiplying a matrix by a matrix - - - -
- -
- DIM_2 - makeMatrix(randRange(-2, 5, DIM_1, DIM_2)) - makeMatrix(randRange(-2, 5, DIM_3, DIM_4)) - - - matrixMult(MAT_1, MAT_2) - - matrixPad(SOLN_MAT, 3, 3) - - "\\textbf " + randFromArray("ABCDEF") - "\\textbf " + randFromArray("ABCDEF") - - - [GREEN, BLUE, GRAY] - [ORANGE, "#DF0030", "#9D38BD"] - - - makeMultHintMatrix(MAT_1, MAT_2, ROW_COLORS, COL_COLORS) - - -
- -
-

- PRETTY_MAT_1_ID = printSimpleMatrix(MAT_1) -

-

- PRETTY_MAT_2_ID = printSimpleMatrix(MAT_2) -

-
- -

- What is PRETTY_MAT_1_ID + PRETTY_MAT_2_ID? -

- -
-
-

The solution is:

-
- - printSimpleMatrix(SOLN_MAT) - -
-
-
- -
-
- - - elem - - - elem - - -
-
- -
- -
-
- 2 - 2 - 2 -
-
-
-
- 2 - 3 - 2 -
-
- - -
-
- 2 - 2 - 3 -
-
- - -
-
- 3 - 1 - 2 -
-
-
-
- 3 - 2 - 2 -
-
-
- -
- -
176 exercises/multiplying_a_matrix_by_a_matrix_steps_only.html
 @@ -1,176 +0,0 @@ - - - - - Multiplying a matrix by a matrix - - - -
- -
- DIM_2 - makeMatrix(randRange(-2, 5, DIM_1, DIM_2)) - makeMatrix(randRange(-2, 5, DIM_3, DIM_4)) - - - matrixMult(MAT_1, MAT_2) - - matrixPad(SOLN_MAT, 3, 3) - - "\\textbf " + randFromArray("ABCDEF") - "\\textbf " + randFromArray("ABCDEF") - - - [GREEN, BLUE, GRAY] - [ORANGE, "#DF0030", "#9D38BD"] - - - makeMultHintMatrix(MAT_1, MAT_2, ROW_COLORS, COL_COLORS) - - -
- -
-

- PRETTY_MAT_1_ID = printSimpleMatrix(MAT_1) -

-

- PRETTY_MAT_2_ID = printSimpleMatrix(MAT_2) -

-
- -

- What is PRETTY_MAT_1_ID + PRETTY_MAT_2_ID? -

- -
-
-

- - PRETTY_MAT_1_ID + PRETTY_MAT_2_ID - = - printColoredDimMatrix(MAT_1, ROW_COLORS, true) - printColoredDimMatrix(MAT_2, COL_COLORS, false) - = - - printSimpleMatrix(maskMatrix(FINAL_HINT_MAT, [])) - - -

-
-
-

- - = - - printSimpleMatrix( - maskMatrix(FINAL_HINT_MAT, [[1, 1]]) - ) - - -

-
-
-

- - = - - printSimpleMatrix( - maskMatrix(FINAL_HINT_MAT, [[1, 1], [2, 1]]) - ) - - -

-
-
-

- - = - - printSimpleMatrix( - maskMatrix(FINAL_HINT_MAT, [[1, 1], [2, 1], [1, 2]]) - ) - - -

-
-
-

- - = - - printSimpleMatrix(FINAL_HINT_MAT) - - -

-
-
-
- - = - printSimpleMatrix(SOLN_MAT) - -
-
-
- -
-
- - - elem - - - elem - - -
-
- -
- -
-
- 2 - 2 - 2 -
-
-
-
- 2 - 3 - 2 -
-
- - -
-
- 2 - 2 - 3 -
-
- - -
-
- 3 - 1 - 2 -
-
-
-
- 3 - 2 - 2 -
-
-
- -
- -
119 exercises/multiplying_a_matrix_by_a_matrix_video_hint.html
 @@ -1,119 +0,0 @@ - - - - - Multiplying a matrix by a matrix - - - -
- -
- DIM_2 - makeMatrix(randRange(-2, 5, DIM_1, DIM_2)) - makeMatrix(randRange(-2, 5, DIM_3, DIM_4)) - - - matrixMult(MAT_1, MAT_2) - - matrixPad(SOLN_MAT, 3, 3) - - "\\textbf " + randFromArray("ABCDEF") - "\\textbf " + randFromArray("ABCDEF") - - - [GREEN, BLUE, GRAY] - [ORANGE, "#DF0030", "#9D38BD"] - - - makeMultHintMatrix(MAT_1, MAT_2, ROW_COLORS, COL_COLORS) - - -
- -
-

- PRETTY_MAT_1_ID = printSimpleMatrix(MAT_1) -

-

- PRETTY_MAT_2_ID = printSimpleMatrix(MAT_2) -

-
- -

- What is PRETTY_MAT_1_ID + PRETTY_MAT_2_ID? -

- -
-
-
-
-
-

The solution is:

-
- - printSimpleMatrix(SOLN_MAT) - -
-
-
- -
-
- - - elem - - - elem - - -
-
- -
- -
-
- 2 - 2 - 2 -
-
-
-
- 2 - 3 - 2 -
-
- - -
-
- 2 - 2 - 3 -
-
- - -
-
- 3 - 1 - 2 -
-
-
-
- 3 - 2 - 2 -
-
-
- -
- -