├── .gitignore ├── README.md ├── data ├── assist0910 │ ├── skill_mapping.txt │ ├── test.csv │ └── train.csv ├── assist15 │ ├── skill_mapping.txt │ ├── test.csv │ └── train.csv ├── statics11 │ ├── qid_qname │ ├── qid_sid_sname │ ├── sid_sname │ ├── test.csv │ └── train.csv └── synthetic-5 │ ├── naive_c5_q50_s4000_v0_test.csv │ ├── naive_c5_q50_s4000_v0_train.csv │ ├── naive_c5_q50_s4000_v10_test.csv │ ├── naive_c5_q50_s4000_v10_train.csv │ ├── naive_c5_q50_s4000_v11_test.csv │ ├── naive_c5_q50_s4000_v11_train.csv │ ├── naive_c5_q50_s4000_v12_test.csv │ ├── naive_c5_q50_s4000_v12_train.csv │ ├── naive_c5_q50_s4000_v13_test.csv │ ├── naive_c5_q50_s4000_v13_train.csv │ ├── naive_c5_q50_s4000_v14_test.csv │ ├── naive_c5_q50_s4000_v14_train.csv │ ├── naive_c5_q50_s4000_v15_test.csv │ ├── naive_c5_q50_s4000_v15_train.csv │ ├── naive_c5_q50_s4000_v16_test.csv │ ├── naive_c5_q50_s4000_v16_train.csv │ ├── naive_c5_q50_s4000_v17_test.csv │ ├── naive_c5_q50_s4000_v17_train.csv │ ├── naive_c5_q50_s4000_v18_test.csv │ ├── naive_c5_q50_s4000_v18_train.csv │ ├── naive_c5_q50_s4000_v19_test.csv │ ├── naive_c5_q50_s4000_v19_train.csv │ ├── naive_c5_q50_s4000_v1_test.csv │ ├── naive_c5_q50_s4000_v1_train.csv │ ├── naive_c5_q50_s4000_v2_test.csv │ ├── naive_c5_q50_s4000_v2_train.csv │ ├── naive_c5_q50_s4000_v3_test.csv │ ├── naive_c5_q50_s4000_v3_train.csv │ ├── naive_c5_q50_s4000_v4_test.csv │ ├── naive_c5_q50_s4000_v4_train.csv │ ├── naive_c5_q50_s4000_v5_test.csv │ ├── naive_c5_q50_s4000_v5_train.csv │ ├── naive_c5_q50_s4000_v6_test.csv │ ├── naive_c5_q50_s4000_v6_train.csv │ ├── naive_c5_q50_s4000_v7_test.csv │ ├── naive_c5_q50_s4000_v7_train.csv │ ├── naive_c5_q50_s4000_v8_test.csv │ ├── naive_c5_q50_s4000_v8_train.csv │ ├── naive_c5_q50_s4000_v9_test.csv │ └── naive_c5_q50_s4000_v9_train.csv ├── data_util.py ├── dataset.py ├── main.py ├── model.py └── train_util.py /.gitignore: -------------------------------------------------------------------------------- 1 | logs/* 2 | ckpt/*.pt 3 | *.pt 4 | *.log 5 | *ipynb* 6 | __pycache__* 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PyTorch Implementation of [Knowledge Query Network for Knowledge Tracing`[LAK19]`](https://dl.acm.org/authorize?N687433) 2 | (*Dropout* not used in the implementation.) 3 | # Requirements 4 | 1. Python 3.6 5 | 2. PyTorch 1.0 6 | 3. tensorboardX 7 | 8 | # Datasets 9 | *Datasets are borrowed from [DKVMN](https://github.com/jennyzhang0215/DKVMN) for fair comparisons.* 10 | * ASSISTments 2009-2010 11 | * ASSISTments 2015 12 | * Statics 2011 13 | * Synthetic-5 14 | 15 | # Running examples 16 | * python3 main.py --gpu 0 --dataset assist0910 17 | * python3 main.py --gpu 0 --dataset assist15 18 | * python3 main.py --gpu 0 --dataset statics11 19 | * python3 main.py --gpu 0 --dataset synthetic-5 --version 0 20 | * python3 main.py --gpu 0 --dataset synthetic-5 --version 19 21 | -------------------------------------------------------------------------------- /data/assist0910/skill_mapping.txt: -------------------------------------------------------------------------------- 1 | 31 Circumference 2 | 65 Scientific Notation 3 | 38 Rounding 4 | 19 Multiplication Fractions 5 | 106 Finding Slope From Situation 6 | 3 Probability of Two Distinct Events 7 | 64 Surface Area Rectangular Prism 8 | 29 Counting Methods 9 | 67 Percents 10 | 59 Exponents 11 | 53 Interior Angles Figures with More than 3 Sides 12 | 47 Percent Discount 13 | 82 Area Triangle 14 | 56 Reading a Ruler or Scale 15 | 108 Recognize Quadratic Pattern 16 | 15 Fraction Of 17 | 96 Interpreting Coordinate Graphs 18 | 107 "Parts of a Polyomial, Terms, Coefficient, Monomial, Exponent, Variable" 19 | 63 Scale Factor 20 | 61 Estimation 21 | 58 Solving for a variable 22 | 43 Write Linear Equation from Situation 23 | 69 Least Common Multiple 24 | 73 Prime Number 25 | 2 Area Irregular Figure 26 | 99 Linear Equations 27 | 105 Finding Slope from Ordered Pairs 28 | 103 Recognize Linear Pattern 29 | 104 Simplifying Expressions positive exponents 30 | 13 Equivalent Fractions 31 | 46 Algebraic Solving 32 | 90 Multiplication Whole Numbers 33 | 35 Percent Of 34 | 14 Proportion 35 | 41 Finding Percents 36 | 21 Multiplication and Division Integers 37 | 45 Algebraic Simplification 38 | 30 Ordering Fractions 39 | 77 Number Line 40 | 109 Finding Slope From Equation 41 | 94 Translations 42 | 34 Conversion of Fraction Decimals Percents 43 | 49 Complementary and Supplementary Angles 44 | 98 Intercept 45 | 33 Ordering Integers 46 | 37 Ordering Positive Decimals 47 | 55 Divisibility Rules 48 | 25 Subtraction Whole Numbers 49 | 84 Effect of Changing Dimensions of a Shape Prportionally 50 | 9 Range 51 | 57 Perimeter of a Polygon 52 | 68 Area Circle 53 | 60 Division Fractions 54 | 100 Slope 55 | 92 Rotations 56 | 91 Polynomial Factors 57 | 50 Pythagorean Theorem 58 | 89 Solving Systems of Linear Equations by Graphing 59 | 10 Venn Diagram 60 | 95 Midpoint 61 | 1 Area Trapezoid 62 | 72 Write Linear Equation from Ordered Pairs 63 | 22 Addition Whole Numbers 64 | 24 Addition and Subtraction Fractions 65 | 23 Absolute Value 66 | 39 Volume Rectangular Prism 67 | 110 Quadratic Formula to Solve Quadratic Equation 68 | 26 Equation Solving Two or Fewer Steps 69 | 11 Histogram as Table or Graph 70 | 27 "Order of Operations +,-,/,* () positive reals" 71 | 93 Reflection 72 | 20 Addition and Subtraction Integers 73 | 102 Distributive Property 74 | 85 Surface Area Cylinder 75 | 87 Greatest Common Factor 76 | 12 Circle Graph 77 | 6 Stem and Leaf Plot 78 | 36 Unit Rate 79 | 81 Area Rectangle 80 | 51 D.4.8-understanding-concept-of-probabilities 81 | 80 Unit Conversion Within a System 82 | 16 Probability of a Single Event 83 | 62 Ordering Real Numbers 84 | 66 Write Linear Equation from Graph 85 | 75 Volume Sphere 86 | 76 Computation with Real Numbers 87 | 42 Pattern Finding 88 | 71 Angles on Parallel Lines Cut by a Transversal 89 | 32 Box and Whisker 90 | 44 Square Root 91 | 28 Calculations with Similar Figures 92 | 83 Area Parallelogram 93 | 86 Volume Cylinder 94 | 40 Order of Operations All 95 | 5 Median 96 | 74 Multiplication and Division Positive Decimals 97 | 7 Mode 98 | 88 Solving Systems of Linear Equations 99 | 79 Solving Inequalities 100 | 48 Nets of 3D Figures 101 | 8 Mean 102 | 17 Scatter Plot 103 | 97 Choose an Equation from Given Information 104 | 52 Congruence 105 | 101 "Angles - Obtuse, Acute, and Right" 106 | 18 Addition and Subtraction Positive Decimals 107 | 78 Rate 108 | 54 Interior Angles Triangle 109 | 70 Equation Solving More Than Two Steps 110 | 4 Table 111 | -------------------------------------------------------------------------------- /data/assist15/skill_mapping.txt: -------------------------------------------------------------------------------- 1 | 11829 89 2 | 10293 59 3 | 13731 94 4 | 13935 36 5 | 8864 68 6 | 6473 74 7 | 6009 60 8 | 7192 50 9 | 7196 32 10 | 7195 3 11 | 10767 87 12 | 11836 92 13 | 31260 62 14 | 204037 58 15 | 11831 24 16 | 6849 84 17 | 6910 95 18 | 8741 76 19 | 6913 97 20 | 14211 80 21 | 6022 48 22 | 37055 51 23 | 10195 39 24 | 6018 83 25 | 5918 53 26 | 6851 65 27 | 31277 100 28 | 7035 63 29 | 37980 15 30 | 7012 93 31 | 5968 26 32 | 5969 61 33 | 39162 34 34 | 5961 78 35 | 5962 45 36 | 5965 75 37 | 10597 41 38 | 15528 54 39 | 14442 6 40 | 7020 46 41 | 11898 28 42 | 11899 47 43 | 11893 25 44 | 12450 4 45 | 8946 35 46 | 7157 66 47 | 236309 19 48 | 5976 29 49 | 6937 88 50 | 26902 20 51 | 9245 79 52 | 9244 71 53 | 19610 52 54 | 19362 99 55 | 7014 37 56 | 6921 30 57 | 5945 73 58 | 7159 44 59 | 7158 33 60 | 8949 55 61 | 7156 82 62 | 7155 2 63 | 37002 72 64 | 164496 5 65 | 39885 38 66 | 5898 7 67 | 6402 16 68 | 7160 96 69 | 7166 14 70 | 7167 70 71 | 7165 13 72 | 8585 64 73 | 6891 81 74 | 14247 57 75 | 21257 18 76 | 9180 23 77 | 6943 67 78 | 7179 49 79 | 9222 98 80 | 31825 77 81 | 37570 11 82 | 9428 22 83 | 10763 17 84 | 10765 1 85 | 10833 8 86 | 9423 56 87 | 9424 42 88 | 8928 31 89 | 10264 9 90 | 10265 43 91 | 37876 10 92 | 14168 21 93 | 24173 69 94 | 37374 27 95 | 6465 12 96 | 6039 40 97 | 7182 85 98 | 7183 91 99 | 7184 90 100 | 7185 86 101 | -------------------------------------------------------------------------------- /data/statics11/qid_qname: -------------------------------------------------------------------------------- 1 | qid qname 2 | 191 tutor_05_07_q8_i8 UpdateRadioButton 3 | 726 tutor_18_02_q4_i2 UpdateHotspotSingle 4 | 178 _m1_tutor10_q4_i1 UpdateHotspotSingle 5 | 368 tutor_09_07_q1_i1 UpdateHotspotSingle 6 | 1105 tutor_22_12_q1_A UpdateRadioButton 7 | 713 _m17_assess_q1_EB UpdateRadioButton 8 | 429 tutor_11_03_q7_input7 UpdateComboBox 9 | 737 _m18_assess_q2_i2 UpdateComboBox 10 | 1109 tutor_22_13_q2_B UpdateNumberField 11 | 792 tutor_08_04_q2_B UpdateRadioButton 12 | 631 tutor_17_02_q1_i1 UpdateHotspotSingle 13 | 1058 tutor_15_11_q7_i1 UpdateRadioButton 14 | 1003 tutor_08_08_q1_F UpdateComboBox 15 | 677 tutor_17_09_qh1_i1 UpdateRadioButton 16 | 136 tutor_05_03_q10_C UpdateComboBox 17 | 100 _m1_assess_q2_label UpdateHotspotSingle 18 | 51 tutor_03_15_q1_q1-input UpdateRadioButton 19 | 1050 tutor_12_20_q1_i1 UpdateHotspotMultiple 20 | 268 _m6_assess_q5_i1 UpdateRadioButton 21 | 338 tutor_07_24_q3_F UpdateComboBox 22 | 213 tutor_05_18_q5_i5 UpdateComboBox 23 | 881 tutor_22_01_q3_C UpdateRadioButton 24 | 767 _m1_tutor18_q4_i1 UpdateHotspotSingle 25 | 842 tutor_12_22_q4_D UpdateRadioButton 26 | 394 _m9_assess_q5_i5 UpdateComboBox 27 | 948 _m22_assess_q3_i1 UpdateRadioButton 28 | 226 tutor_6_03_q2_A UpdateComboBox 29 | 1168 tutor_21_2_1_q1_A UpdateNumberField 30 | 425 tutor_11_03_q3_input3 UpdateComboBox 31 | 1068 tutor_15_12_q1_D UpdateComboBox 32 | 553 tutor_12_10_q3_6_C6 UpdateRadioButton 33 | 14 _m2_assess_q1_point5i1 UpdateComboBox 34 | 473 tutor_11_24_q2_i1 UpdateRadioButton 35 | 29 tutor_03_03_q2_A UpdateRadioButton 36 | 59 _m3_assess_q3_i3 UpdateCheckbox 37 | 76 _m1_tutor1_q5_A UpdateRadioButton 38 | 1114 tutor_22_16_q5_E UpdateRadioButton 39 | 550 tutor_12_10_q3_3_C3 UpdateRadioButton 40 | 935 tutor_22_23_q6_F UpdateRadioButton 41 | 888 tutor_22_04_q2_B UpdateNumberField 42 | 996 tutor_07_27_q1_A UpdateComboBox 43 | 1071 tutor_15_13_q1_i1 UpdateRadioButton 44 | 545 tutor_12_10_q2_6_B6 UpdateRadioButton 45 | 294 tutor_7_11_q1_A UpdateComboBox 46 | 457 tutor_11_16_q1_A UpdateComboBox 47 | 1078 tutor_15_14_q5a_i1 UpdateRadioButton 48 | 101 _m1_assess_q5_sense UpdateHotspotSingle 49 | 581 _m12_assess_q3_i1 UpdateHotspotMultiple 50 | 932 tutor_22_23_q3_C UpdateRadioButton 51 | 396 _m9_assess_q9_i3 UpdateComboBox 52 | 183 tutor_05_05_q1_C UpdateComboBox 53 | 1208 tutor_20_3_5_q2_B UpdateNumberField 54 | 689 tutor_17_09_qh2_i1 UpdateRadioButton 55 | 571 tutor_12_18_q5_E UpdateRadioButton 56 | 674 tutor_17_09_qe1_i1 UpdateRadioButton 57 | 860 tutor_15_08_q5_i1 UpdateRadioButton 58 | 729 tutor_18_03_q2_i1 UpdateRadioButton 59 | 569 tutor_12_18_q3_C UpdateRadioButton 60 | 520 tutor_12_05_q7_G UpdateRadioButton 61 | 570 tutor_12_18_q4_D UpdateRadioButton 62 | 993 tutor_07_25_q3_C UpdateComboBox 63 | 772 _m4_assess_q5_i1 UpdateNumberField 64 | 804 tutor_11_09_q7_input7 UpdateComboBox 65 | 992 tutor_07_25_q2_B UpdateComboBox 66 | 911 tutor_22_09_q1_A UpdateRadioButton 67 | 1043 tutor_12_17_q6_F UpdateRadioButton 68 | 560 tutor_12_15_q3_B UpdateRadioButton 69 | 34 tutor_03_08_q1_A UpdateRadioButton 70 | 643 tutor_17_05_q1_i1 UpdateHotspotSingle 71 | 786 tutor_08_02_q2_A UpdateHotspotSingle 72 | 1203 tutor_20_3_4_q1_A UpdateNumberField 73 | 577 _m12_assess_q2_i3 UpdateComboBox 74 | 46 tutor_03_13_q2_q2-input UpdateRadioButton 75 | 95 _m1_assess_q4_sense UpdateHotspotSingle 76 | 895 tutor_22_06_q5_E UpdateRadioButton 77 | 1045 tutor_12_17_q8_H UpdateComboBox 78 | 194 tutor_05_07_q11_A UpdateComboBox 79 | 704 tutor_17_10_q3_i1 UpdateRadioButton 80 | 1155 tutor_08_21_q5_H UpdateNumberField 81 | 523 tutor_12_06_q2_B UpdateRadioButton 82 | 283 tutor_7_06_q1_A UpdateComboBox 83 | 720 _m17_assess_q3_i9 UpdateComboBox 84 | 158 _m4_assess_q1_i4 UpdateNumberField 85 | 1069 tutor_15_12_q1_E UpdateComboBox 86 | 546 tutor_12_10_q2_7_B7 UpdateComboBox 87 | 824 tutor_12_13_q2_B UpdateRadioButton 88 | 489 _m11_assess_q1_i8 UpdateComboBox 89 | 1015 tutor_08_12_q1_A UpdateShortAnswer 90 | 712 _m17_assess_q3_i5 UpdateComboBox 91 | 458 tutor_11_16_q1_C UpdateComboBox 92 | 442 tutor_11_05_q4_i2 UpdateHotspotSingle 93 | 73 _m1_tutor1_q2_A UpdateRadioButton 94 | 744 _m1_tutor2_q4_A UpdateRadioButton 95 | 593 tutor_13_06_q3_F UpdateRadioButton 96 | 756 _m1_tutor15_q2_i1 UpdateHotspotSingle 97 | 293 tutor_7_10_q4_i1 UpdateRadioButton 98 | 1066 tutor_15_12_q1_B UpdateComboBox 99 | 1220 tutor_21_4_1_q1_A UpdateNumberField 100 | 707 _m17_assess_q2_i2 UpdateNumberField 101 | 518 tutor_12_05_q5_E UpdateRadioButton 102 | 856 tutor_15_08_q1_i1 UpdateRadioButton 103 | 851 tutor_15_04_q4_i1 UpdateRadioButton 104 | 32 tutor_03_06_q1_A UpdateRadioButton 105 | 173 _m1_tutor9_q3_i1 UpdateHotspotSingle 106 | 805 tutor_11_09_q8_input8 UpdateComboBox 107 | 985 tutor_04_17_q1_A UpdateRadioButton 108 | 1055 tutor_15_11_q1_i1 UpdateRadioButton 109 | 999 tutor_08_04_q4_D UpdateRadioButton 110 | 916 tutor_22_11_q1_A UpdateRadioButton 111 | 335 tutor_07_24_q2_C UpdateComboBox 112 | 922 tutor_22_21_q2_B UpdateRadioButton 113 | 622 tutor_15_07_q3_C UpdateRadioButton 114 | 291 tutor_7_10_q2_i1 UpdateRadioButton 115 | 30 tutor_03_04_q1_i1 UpdateRadioButton 116 | 382 _m9_assess_q5_i2 UpdateComboBox 117 | 515 tutor_12_05_q2_B UpdateRadioButton 118 | 1000 tutor_08_05_q1_A UpdateRadioButton 119 | 732 tutor_18_04_q2_i1 UpdateRadioButton 120 | 39 tutor_03_11_q3_q3-input UpdateRadioButton 121 | 12 _m2_assess_q1_point7i2 UpdateComboBox 122 | 256 tutor_6_09_q2_B UpdateRadioButton 123 | 64 _m3_assess_q2_i2 UpdateCheckbox 124 | 366 tutor_09_03_q2_B UpdateShortAnswer 125 | 1170 tutor_21_4_3_q1_A UpdateRadioButton 126 | 40 tutor_03_11_q4_q4-input UpdateRadioButton 127 | 24 tutor_03_01_q3_i1 UpdateRadioButton 128 | 61 _m3_assess_q3_i4 UpdateCheckbox 129 | 1221 tutor_21_4_4_q1_A UpdateNumberField 130 | 1112 tutor_22_16_q3_C UpdateRadioButton 131 | 547 tutor_12_10_q2_8_B8 UpdateRadioButton 132 | 626 _m15_assess_q1_i2 UpdateComboBox 133 | 128 tutor_05_03_q3_i3 UpdateHotspotSingle 134 | 486 tutor_11_27_q8_i1 UpdateRadioButton 135 | 282 tutor_7_05_q1_i1 UpdateRadioButton 136 | 918 tutor_22_11_q3_C UpdateHotspotSingle 137 | 863 tutor_15_08_q8_i1 UpdateRadioButton 138 | 728 tutor_18_03_q1_i1 UpdateRadioButton 139 | 1204 tutor_20_3_4_q2_B UpdateNumberField 140 | 42 tutor_03_12_q2_q2-input UpdateRadioButton 141 | 31 tutor_03_05_q1_A UpdateRadioButton 142 | 229 tutor_6_03c_q3_C UpdateComboBox 143 | 565 tutor_12_17_q3_C UpdateComboBox 144 | 685 tutor_17_09_qd2_i1 UpdateRadioButton 145 | 126 tutor_05_03_q1_i1 UpdateComboBox 146 | 763 _m1_tutor17_q1_i1 UpdateHotspotSingle 147 | 1001 tutor_08_05_q2_B UpdateRadioButton 148 | 84 _m1_tutor13_q1_i1 UpdateHotspotSingle 149 | 292 tutor_7_10_q3_i1 UpdateRadioButton 150 | 1183 tutor_22_22_q7_G UpdateRadioButton 151 | 1189 tutor_21_2_3_q1_A UpdateNumberField 152 | 1 _m2_assess_q1_point1i1 UpdateComboBox 153 | 132 tutor_05_03_q7_i7 UpdateComboBox 154 | 510 tutor_12_01_q2_B UpdateRadioButton 155 | 955 _m1_tutor12_q3_i1 UpdateHotspotSingle 156 | 18 _m2_assess_q1_point3i1 UpdateComboBox 157 | 710 _m17_assess_q3_i6 UpdateComboBox 158 | 797 tutor_11_08_q3_i3 UpdateHotspotSingle 159 | 290 tutor_7_10_q1_i1 UpdateRadioButton 160 | 188 tutor_05_07_q5_i5 UpdateRadioButton 161 | 1146 tutor_08_20_q2_B UpdateRadioButton 162 | 499 _m11_assess_q1_i4 UpdateComboBox 163 | 331 tutor_07_23_q3_F UpdateComboBox 164 | 532 tutor_12_10_q1_1_A1 UpdateRadioButton 165 | 52 tutor_03_15_q2_q2-input UpdateRadioButton 166 | 1021 tutor_11_11_q2_input2 UpdateComboBox 167 | 409 _m9_assess_q8_i3 UpdateComboBox 168 | 1136 tutor_08_17_q1_A UpdateRadioButton 169 | 1027 tutor_11_28_q2_B UpdateComboBox 170 | 431 tutor_11_04_q1_input1 UpdateComboBox 171 | 207 tutor_05_17_q3_i3 UpdateComboBox 172 | 787 tutor_08_03_q1_A UpdateComboBox 173 | 721 _m17_assess_q3_i1 UpdateComboBox 174 | 373 tutor_09_13_q1_B UpdateShortAnswer 175 | 142 tutor_04_02_q2_B UpdateNumberField 176 | 159 tutor_05_01_q2_q2-input UpdateComboBox 177 | 967 tutor_20_2_7_q1_A UpdateRadioButton 178 | 603 tutor_15_02_q1_B UpdateComboBox 179 | 1089 tutor_15_14_q5b_i1 UpdateRadioButton 180 | 783 tutor_08_01_q3_B UpdateComboBox 181 | 359 _m8_assess_q3_i1 UpdateNumberField 182 | 477 tutor_11_26_q1_input1 UpdateRadioButton 183 | 670 tutor_17_09_qa1_i1 UpdateRadioButton 184 | 853 tutor_15_04_q6_i1 UpdateRadioButton 185 | 434 tutor_11_04_q4_input4 UpdateComboBox 186 | 1073 tutor_15_13_q3_i1 UpdateRadioButton 187 | 749 _m1_tutor4_q3_i1 UpdateHotspotSingle 188 | 1026 tutor_11_28_q1_A UpdateComboBox 189 | 238 tutor_6_05_q2_A UpdateComboBox 190 | 633 tutor_17_03_q1_i1 UpdateHotspotSingle 191 | 362 _m8_assess_q1_i1 UpdateComboBox 192 | 589 tutor_13_04_q2_E UpdateRadioButton 193 | 495 _m11_assess_q1_i13 UpdateComboBox 194 | 437 tutor_11_04_q7_input7 UpdateComboBox 195 | 647 tutor_17_06_q1_i1 UpdateHotspotSingle 196 | 218 _m5_assess_q3_i4 UpdateNumberField 197 | 1094 tutor_15_14_q10b_i1 UpdateRadioButton 198 | 397 _m9_assess_q3_i2 UpdateRadioButton 199 | 212 tutor_05_18_q4_i4 UpdateComboBox 200 | 709 _m17_assess_q2_i1 UpdateNumberField 201 | 1034 tutor_12_10_q4_1_D1 UpdateRadioButton 202 | 1090 tutor_15_14_q6b_i1 UpdateRadioButton 203 | 831 tutor_12_14_q1_A UpdateComboBox 204 | 1128 tutor_04_09_q1_C UpdateComboBox 205 | 901 tutor_22_07_q4_D UpdateRadioButton 206 | 782 tutor_08_01_q3_C UpdateComboBox 207 | 1131 tutor_04_12_q1_A UpdateComboBox 208 | 246 tutor_6_06_q5_A UpdateComboBox 209 | 1161 _m8_assess_part2_q4_i3 UpdateNumberField 210 | 295 tutor_7_11_q2_A UpdateComboBox 211 | 719 _m17_assess_q1_DE UpdateRadioButton 212 | 232 tutor_6_04_q3_A UpdateComboBox 213 | 529 tutor_12_06_q8_H UpdateRadioButton 214 | 1102 tutor_15_14_q7c_i1 UpdateRadioButton 215 | 135 tutor_05_03_q10_B UpdateComboBox 216 | 855 tutor_15_04_q8_i1 UpdateRadioButton 217 | 248 tutor_6_07_q1_B UpdateComboBox 218 | 1080 tutor_15_14_q7a_i1 UpdateRadioButton 219 | 640 tutor_17_03_q8_i8 UpdateRadioButton 220 | 896 tutor_22_06_q6_F UpdateRadioButton 221 | 538 tutor_12_10_q1_7_A7 UpdateComboBox 222 | 794 tutor_11_07_q2_B UpdateComboBox 223 | 370 tutor_09_09_q1_A UpdateComboBox 224 | 472 tutor_11_24_q1_i1 UpdateRadioButton 225 | 750 _m1_tutor4_q4_i1 UpdateHotspotSingle 226 | 1156 _m8_assess_part2_q3_i2 UpdateNumberField 227 | 698 tutor_17_09_qg3_i1 UpdateRadioButton 228 | 587 tutor_13_02_q6_F UpdateRadioButton 229 | 974 tutor_20_3_2_q4_A UpdateComboBox 230 | 176 _m1_tutor10_q2_i1 UpdateHotspotSingle 231 | 509 tutor_12_01_q1_A UpdateRadioButton 232 | 447 tutor_11_10_q1_input1 UpdateComboBox 233 | 966 tutor_20_2_6_q1_B UpdateComboBox 234 | 44 tutor_03_12_q4_q4-input UpdateRadioButton 235 | 665 tutor_17_08_q13_i1 UpdateRadioButton 236 | 835 tutor_12_21_q4_D UpdateComboBox 237 | 650 tutor_17_06_q2_i2 UpdateHotspotSingle 238 | 127 tutor_05_03_q2_i2 UpdateHotspotSingle 239 | 1133 tutor_04_12_q3_D UpdateComboBox 240 | 172 _m1_tutor9_q2_i1 UpdateHotspotSingle 241 | 791 tutor_08_04_q1_A UpdateRadioButton 242 | 1059 tutor_15_11_q8_i1 UpdateRadioButton 243 | 206 tutor_05_17_q2_i2 UpdateComboBox 244 | 110 tutor_04_08_q3_C UpdateNumberField 245 | 880 tutor_22_01_q2_B UpdateRadioButton 246 | 516 tutor_12_05_q3_C UpdateRadioButton 247 | 1033 tutor_11_30_q4_A UpdateComboBox 248 | 13 _m2_assess_q1_point2i2 UpdateComboBox 249 | 702 tutor_17_10_q1_i1 UpdateRadioButton 250 | 1182 tutor_22_22_q6_F UpdateRadioButton 251 | 492 _m11_assess_q1_i14 UpdateComboBox 252 | 864 tutor_15_08_q9_i1 UpdateRadioButton 253 | 361 _m8_assess_q2_i1 UpdateNumberField 254 | 934 tutor_22_23_q5_E UpdateRadioButton 255 | 951 _m22_assess_q6_i1 UpdateRadioButton 256 | 333 tutor_07_24_q1_A UpdateComboBox 257 | 843 tutor_12_22_q5_E UpdateRadioButton 258 | 215 _m5_assess_q3_i2 UpdateNumberField 259 | 484 tutor_11_27_q6_i1 UpdateRadioButton 260 | 1025 tutor_11_22_q1_A UpdateComboBox 261 | 427 tutor_11_03_q5_input5 UpdateComboBox 262 | 460 tutor_11_16_q1_B UpdateComboBox 263 | 301 tutor_7_16_q2_B UpdateComboBox 264 | 413 _m10_assess_q1_i4 UpdateComboBox 265 | 735 _m18_assess_q1_i3 UpdateComboBox 266 | 324 tutor_07_22_q2_C UpdateComboBox 267 | 275 tutor_7_02_q1_A UpdateComboBox 268 | 476 tutor_11_25_q1_input1 UpdateRadioButton 269 | 1007 tutor_08_10_q1_A UpdateComboBox 270 | 803 tutor_11_09_q6_input6 UpdateComboBox 271 | 836 tutor_12_21_q5_E UpdateRadioButton 272 | 204 tutor_05_15_q1_A UpdateShortAnswer 273 | 307 tutor_7_16_q8_B UpdateComboBox 274 | 160 tutor_05_03_q9_A UpdateShortAnswer 275 | 929 tutor_22_22_q1_A UpdateRadioButton 276 | 47 tutor_03_13_q3_q3-input UpdateRadioButton 277 | 1104 tutor_15_14_q9c_i1 UpdateRadioButton 278 | 533 tutor_12_10_q1_2_A2 UpdateRadioButton 279 | 976 tutor_20_3_3_q1_A UpdateNumberField 280 | 1196 tutor_21_4_2_q1_A UpdateShortAnswer 281 | 488 _m11_assess_q1_i16 UpdateComboBox 282 | 483 tutor_11_27_q5_i1 UpdateRadioButton 283 | 312 tutor_07_19_q1_B UpdateComboBox 284 | 660 tutor_17_08_q8_i1 UpdateRadioButton 285 | 225 tutor_6_03_q1_A UpdateComboBox 286 | 1217 tutor_21_3_4_q1_A UpdateNumberField 287 | 869 tutor_15_09_q3_B UpdateComboBox 288 | 1158 _m8_assess_part2_q2_i3 UpdateComboBox 289 | 1049 tutor_12_19_q1_i1 UpdateHotspotMultiple 290 | 418 tutor_11_01_q4_i1 UpdateRadioButton 291 | 619 tutor_15_06_q5_A UpdateComboBox 292 | 162 tutor_05_03_q12_I UpdateComboBox 293 | 766 _m1_tutor18_q3_i1 UpdateHotspotSingle 294 | 250 tutor_6_07_q2_A UpdateComboBox 295 | 971 tutor_20_3_2_q1_A UpdateComboBox 296 | 1013 tutor_08_11_q2_C UpdateComboBox 297 | 743 _m1_tutor2_q3_A UpdateRadioButton 298 | 681 tutor_17_09_ql1_i1 UpdateRadioButton 299 | 1047 tutor_12_17_q10_J UpdateComboBox 300 | 617 tutor_15_06_q3_A UpdateRadioButton 301 | 850 tutor_15_01_q3_i1 UpdateRadioButton 302 | 861 tutor_15_08_q6_i1 UpdateRadioButton 303 | 124 tutor_04_13_q2_F UpdateComboBox 304 | 1084 tutor_15_14_q11a_i1 UpdateRadioButton 305 | 705 tutor_17_10_q4_i1 UpdateRadioButton 306 | 315 tutor_07_20_q1_A UpdateRadioButton 307 | 585 tutor_13_02_q4_D UpdateRadioButton 308 | 249 tutor_6_07_q1_C UpdateComboBox 309 | 102 _m1_assess_q3_point UpdateHotspotSingle 310 | 118 tutor_04_10_q3_H UpdateComboBox 311 | 305 tutor_7_16_q6_B UpdateComboBox 312 | 829 tutor_12_13_q7_E UpdateRadioButton 313 | 956 _m1_tutor14_q3_i1 UpdateHotspotSingle 314 | 913 tutor_22_09_q3_C UpdateRadioButton 315 | 308 tutor_07_17_q1_A UpdateComboBox 316 | 1175 tutor_08_22_q1_B UpdateNumberField 317 | 502 _m11_assess_q1_i3 UpdateComboBox 318 | 828 tutor_12_13_q6_F UpdateRadioButton 319 | 227 tutor_6_03c_q1_A UpdateComboBox 320 | 817 tutor_12_11_q4_D UpdateRadioButton 321 | 244 tutor_6_06_q3_A UpdateComboBox 322 | 524 tutor_12_06_q3_C UpdateRadioButton 323 | 384 _m9_assess_q8_i4 UpdateComboBox 324 | 201 tutor_05_12_q5_i5 UpdateRadioButton 325 | 169 _m5_assess_q1_i1 UpdateNumberField 326 | 1036 tutor_12_10_q4_3_D3 UpdateRadioButton 327 | 167 tutor_05_03_q13_N UpdateComboBox 328 | 1152 tutor_08_21_q3_E UpdateNumberField 329 | 700 tutor_17_09_qh3_i1 UpdateRadioButton 330 | 723 tutor_18_02_q1_i1 UpdateHotspotMultiple 331 | 770 _m1_tutor19_q3_i1 UpdateHotspotSingle 332 | 921 tutor_22_21_q1_A UpdateRadioButton 333 | 1173 _m21_assess_q1_A UpdateComboBox 334 | 133 tutor_05_03_q8_i8 UpdateComboBox 335 | 706 _m17_assess_q3_i8 UpdateComboBox 336 | 858 tutor_15_08_q3_i1 UpdateRadioButton 337 | 902 tutor_22_07_q5_E UpdateRadioButton 338 | 920 tutor_22_15_q1_A UpdateNumberField 339 | 765 _m1_tutor18_q2_i1 UpdateHotspotSingle 340 | 644 tutor_17_05_q2_i2 UpdateHotspotSingle 341 | 414 _m10_assess_q1_i5 UpdateComboBox 342 | 318 tutor_07_20_q4_A UpdateRadioButton 343 | 1214 tutor_08_25_q3_A UpdateShortAnswer 344 | 667 tutor_17_08_q15_i1 UpdateRadioButton 345 | 257 tutor_6_10_q1_A UpdateRadioButton 346 | 1151 tutor_08_21_q2_D UpdateNumberField 347 | 662 tutor_17_08_q10_i1 UpdateRadioButton 348 | 627 _m15_assess_q1_i3 UpdateComboBox 349 | 1014 tutor_08_11_q2_D UpdateComboBox 350 | 775 tutor_05_10_q1_A UpdateShortAnswer 351 | 602 tutor_15_02_q1_A UpdateComboBox 352 | 234 tutor_6_04_q5_A UpdateComboBox 353 | 506 _m11_assess_q2_i1 UpdateComboBox 354 | 757 _m1_tutor15_q3_i1 UpdateHotspotSingle 355 | 903 tutor_22_07_q6_F UpdateRadioButton 356 | 428 tutor_11_03_q6_input6 UpdateComboBox 357 | 891 tutor_22_06_q1_A UpdateRadioButton 358 | 762 _m1_tutor16_q4_i1 UpdateHotspotSingle 359 | 1177 tutor_08_23_q1_A UpdateNumberField 360 | 1101 tutor_15_14_q6c_i1 UpdateRadioButton 361 | 182 tutor_05_02_q1_C UpdateComboBox 362 | 155 _m4_assess_q1_i1 UpdateNumberField 363 | 561 tutor_12_16_q1_A UpdateRadioButton 364 | 814 tutor_12_01_q8_H UpdateRadioButton 365 | 1119 tutor_22_28_q1_A UpdateRadioButton 366 | 421 tutor_11_02_q3_i1 UpdateRadioButton 367 | 190 tutor_05_07_q7_i7 UpdateRadioButton 368 | 407 _m9_assess_q5_i1 UpdateComboBox 369 | 214 tutor_05_18_q6_i6 UpdateHotspotSingle 370 | 933 tutor_22_23_q4_D UpdateRadioButton 371 | 1130 tutor_04_09_q1_D UpdateComboBox 372 | 669 tutor_17_08_q17_i1 UpdateRadioButton 373 | 693 tutor_17_09_qa3_i1 UpdateRadioButton 374 | 1106 tutor_22_12_q2_B UpdateRadioButton 375 | 1215 tutor_20_3_6_q1_A UpdateNumberField 376 | 1148 tutor_08_21_q1_A UpdateNumberField 377 | 870 tutor_15_10_q1_i1 UpdateRadioButton 378 | 624 tutor_15_07_q5_i1 UpdateRadioButton 379 | 491 _m11_assess_q1_i7 UpdateComboBox 380 | 1031 tutor_11_30_q2_C UpdateComboBox 381 | 321 tutor_07_21_q3_C UpdateComboBox 382 | 1083 tutor_15_14_q10a_i1 UpdateRadioButton 383 | 1072 tutor_15_13_q2_i1 UpdateRadioButton 384 | 925 tutor_22_21_q5_E UpdateRadioButton 385 | 1009 tutor_08_10_q2_C UpdateComboBox 386 | 845 tutor_12_22_q7_G UpdateRadioButton 387 | 260 tutor_6_10_q4_A UpdateRadioButton 388 | 355 _m8_assess_q4_i3 UpdateComboBox 389 | 590 tutor_13_04_q3_F UpdateRadioButton 390 | 883 tutor_22_01_q5_E UpdateRadioButton 391 | 116 tutor_04_10_q3_F UpdateComboBox 392 | 868 tutor_15_09_q2_A UpdateComboBox 393 | 815 tutor_12_09_q1_i1 UpdateHotspotMultiple 394 | 68 _m3_assess_q2_i4 UpdateCheckbox 395 | 1039 tutor_12_10_q4_6_D6 UpdateRadioButton 396 | 1211 tutor_21_2_4_q1_A UpdateNumberField 397 | 695 tutor_17_09_qc3_i1 UpdateRadioButton 398 | 438 tutor_11_04_q8_input8 UpdateComboBox 399 | 977 _m20_assess_q4_D UpdateComboBox 400 | 360 _m8_assess_q2_i2 UpdateNumberField 401 | 433 tutor_11_04_q3_input3 UpdateComboBox 402 | 1099 tutor_15_14_q4c_i1 UpdateRadioButton 403 | 1107 tutor_22_12_q3_C UpdateRadioButton 404 | 699 tutor_17_09_qi3_i1 UpdateRadioButton 405 | 237 tutor_6_05_q1_C UpdateComboBox 406 | 1147 tutor_08_20_q1_A UpdateRadioButton 407 | 140 tutor_05_03_q11_G UpdateComboBox 408 | 637 tutor_17_03_q5_i5 UpdateHotspotSingle 409 | 582 tutor_13_02_q1_B UpdateComboBox 410 | 722 _m17_assess_q1_DB UpdateRadioButton 411 | 857 tutor_15_08_q2_i1 UpdateRadioButton 412 | 478 tutor_11_26_q2_A UpdateComboBox 413 | 812 tutor_12_01_q6_F UpdateRadioButton 414 | 780 tutor_08_01_q2_E UpdateComboBox 415 | 41 tutor_03_12_q1_q1-input UpdateRadioButton 416 | 399 _m9_assess_q7_i5 UpdateComboBox 417 | 600 tutor_15_01_q1_i1 UpdateRadioButton 418 | 55 _m3_assess_q1_i1 UpdateComboBox 419 | 1052 tutor_15_11_q4_i1 UpdateRadioButton 420 | 423 tutor_11_03_q1_input1 UpdateComboBox 421 | 474 tutor_11_24_q3_i1 UpdateRadioButton 422 | 784 tutor_08_01_q3_D UpdateComboBox 423 | 1167 tutor_21_1_1_q1_A UpdateComboBox 424 | 584 tutor_13_02_q3_C UpdateRadioButton 425 | 1063 tutor_15_11_q12_i1 UpdateRadioButton 426 | 675 tutor_17_09_qf1_i1 UpdateRadioButton 427 | 885 tutor_22_02_q2_B UpdateComboBox 428 | 1095 tutor_15_14_q11b_i1 UpdateRadioButton 429 | 541 tutor_12_10_q2_2_B2 UpdateRadioButton 430 | 1200 tutor_20_4_4_q1_A UpdateComboBox 431 | 75 _m1_tutor1_q3_A UpdateRadioButton 432 | 319 tutor_07_21_q1_A UpdateComboBox 433 | 131 tutor_05_03_q6_i6 UpdateComboBox 434 | 1205 tutor_20_3_4_q3_C UpdateNumberField 435 | 664 tutor_17_08_q12_i1 UpdateRadioButton 436 | 1171 tutor_21_4_5_q1_A UpdateRadioButton 437 | 222 _m5_assess_q2_i4 UpdateNumberField 438 | 1035 tutor_12_10_q4_2_D2 UpdateRadioButton 439 | 1017 tutor_08_14_q1_A UpdateShortAnswer 440 | 676 tutor_17_09_qg1_i1 UpdateRadioButton 441 | 164 tutor_05_03_q12_K UpdateComboBox 442 | 242 tutor_6_06_q1_A UpdateComboBox 443 | 471 tutor_11_23_q4_i1 UpdateRadioButton 444 | 1141 tutor_08_18_q3_C UpdateRadioButton 445 | 1124 tutor_04_04_q2_B UpdateNumberField 446 | 618 tutor_15_06_q4_A UpdateComboBox 447 | 185 tutor_05_07_q2_i2 UpdateComboBox 448 | 299 tutor_7_14_q2_B UpdateComboBox 449 | 573 tutor_12_18_q7_G UpdateRadioButton 450 | 535 tutor_12_10_q1_4_A4 UpdateRadioButton 451 | 422 tutor_11_02_q4_i1 UpdateRadioButton 452 | 1169 tutor_21_2_1_q2_B UpdateNumberField 453 | 576 _m12_assess_q2_i2 UpdateComboBox 454 | 962 tutor_20_2_4_q1_A UpdateComboBox 455 | 1060 tutor_15_11_q9_i1 UpdateRadioButton 456 | 642 tutor_17_05_q3_i3 UpdateHotspotSingle 457 | 635 tutor_17_03_q3_i3 UpdateHotspotSingle 458 | 781 tutor_08_01_q3_A UpdateComboBox 459 | 325 tutor_07_22_q2_B UpdateComboBox 460 | 463 tutor_11_17_q3_i1 UpdateRadioButton 461 | 838 tutor_12_21_q7_G UpdateRadioButton 462 | 910 tutor_22_08_q6_F UpdateRadioButton 463 | 825 tutor_12_13_q3_C UpdateRadioButton 464 | 415 _m10_assess_q1_i6 UpdateComboBox 465 | 621 tutor_15_07_q2_B UpdateRadioButton 466 | 789 tutor_08_03_q3_C UpdateHotspotSingle 467 | 1188 tutor_08_24_q1_A UpdateNumberField 468 | 120 tutor_04_13_q1_B UpdateComboBox 469 | 452 tutor_11_10_q6_input6 UpdateComboBox 470 | 322 tutor_07_21_q3_D UpdateComboBox 471 | 687 tutor_17_09_qf2_i1 UpdateRadioButton 472 | 609 tutor_15_04_q1_i1 UpdateRadioButton 473 | 936 tutor_22_24_q1_A UpdateRadioButton 474 | 834 tutor_12_21_q3_C UpdateComboBox 475 | 1198 tutor_20_4_2_q1_A UpdateNumberField 476 | 503 _m11_assess_q2_i2 UpdateComboBox 477 | 844 tutor_12_22_q6_F UpdateRadioButton 478 | 1191 tutor_21_2_3_q4_D UpdateNumberField 479 | 1143 tutor_08_19_q1_A UpdateRadioButton 480 | 277 tutor_7_02_q3_C UpdateComboBox 481 | 179 tutor_11_01_q2_i1 UpdateRadioButton 482 | 6 _m2_assess_q1_point6i3 UpdateComboBox 483 | 174 _m1_tutor9_q4_i1 UpdateHotspotSingle 484 | 575 _m12_assess_q2_i1 UpdateComboBox 485 | 107 tutor_04_08_q4_D UpdateComboBox 486 | 285 tutor_7_07_q1_A UpdateComboBox 487 | 599 _m14_assess_q1_i6 UpdateComboBox 488 | 66 _m3_assess_q2_i3 UpdateCheckbox 489 | 601 tutor_15_01_q2_i1 UpdateRadioButton 490 | 1064 tutor_15_11_q13_i1 UpdateRadioButton 491 | 163 tutor_05_03_q12_J UpdateComboBox 492 | 86 _m1_tutor13_q4_i1 UpdateHotspotSingle 493 | 465 tutor_11_20_q1_A UpdateComboBox 494 | 982 tutor_08_06_q2_B UpdateComboBox 495 | 466 tutor_11_20_q1_B UpdateComboBox 496 | 823 tutor_12_13_q1_A UpdateRadioButton 497 | 393 _m9_assess_q3_i1 UpdateRadioButton 498 | 1135 tutor_04_15_q2_B UpdateComboBox 499 | 696 tutor_17_09_qd3_i1 UpdateRadioButton 500 | 105 tutor_04_01_q1_A UpdateComboBox 501 | 548 tutor_12_10_q3_1_C1 UpdateRadioButton 502 | 578 _m12_assess_q2_i4 UpdateComboBox 503 | 1129 tutor_04_09_q1_B UpdateComboBox 504 | 92 _m1_assess_q1_sense UpdateHotspotSingle 505 | 1132 tutor_04_12_q1_B UpdateComboBox 506 | 598 _m14_assess_q1_i5 UpdateComboBox 507 | 1056 tutor_15_11_q2_i1 UpdateRadioButton 508 | 446 tutor_11_06_q4_i2 UpdateHotspotSingle 509 | 1164 _m8_assess_part2_q1_i2 UpdateComboBox 510 | 419 tutor_11_02_q1_i1 UpdateRadioButton 511 | 564 tutor_12_17_q2_B UpdateComboBox 512 | 945 tutor_22_27_q4_D UpdateNumberField 513 | 512 tutor_12_03_q1_i1 UpdateHotspotMultiple 514 | 398 _m9_assess_q5_i6 UpdateComboBox 515 | 876 tutor_17_11_q1_i1 UpdateRadioButton 516 | 827 tutor_12_13_q5_E UpdateRadioButton 517 | 263 tutor_6_11b_q2_A UpdateRadioButton 518 | 914 tutor_22_10_q1_A UpdateRadioButton 519 | 753 _m1_tutor8_q1_A UpdateShortAnswer 520 | 906 tutor_22_08_q2_B UpdateRadioButton 521 | 485 tutor_11_27_q7_i1 UpdateRadioButton 522 | 504 _m11_assess_q1_i10 UpdateComboBox 523 | 36 tutor_03_10_q1_A UpdateRadioButton 524 | 508 _m11_assess_q1_i1 UpdateComboBox 525 | 344 _m7_assess_q7_i4 UpdateComboBox 526 | 653 tutor_17_08_q1_i1 UpdateRadioButton 527 | 1062 tutor_15_11_q11_i1 UpdateRadioButton 528 | 959 tutor_20_2_1_q3_C UpdateComboBox 529 | 907 tutor_22_08_q3_C UpdateRadioButton 530 | 139 tutor_05_03_q10_F UpdateComboBox 531 | 23 tutor_03_01_q2_i1 UpdateRadioButton 532 | 1081 tutor_15_14_q8a_i1 UpdateRadioButton 533 | 611 tutor_15_04_q3_i1 UpdateRadioButton 534 | 395 _m9_assess_q7_i4 UpdateComboBox 535 | 310 tutor_07_18_q1_A UpdateRadioButton 536 | 594 _m14_assess_q1_i1 UpdateComboBox 537 | 806 tutor_11_09_q9_input9 UpdateComboBox 538 | 1178 tutor_08_23_q4_D UpdateNumberField 539 | 1070 tutor_15_12_q1_F UpdateComboBox 540 | 552 tutor_12_10_q3_5_C5 UpdateRadioButton 541 | 80 _m1_tutor11_q4_i1 UpdateHotspotSingle 542 | 9 _m2_assess_q1_point7i1 UpdateComboBox 543 | 464 tutor_11_19_q1_input1 UpdateRadioButton 544 | 557 tutor_12_11_q1_A UpdateRadioButton 545 | 818 tutor_12_11_q5_E UpdateRadioButton 546 | 200 tutor_05_12_q4_i4 UpdateRadioButton 547 | 923 tutor_22_21_q3_C UpdateRadioButton 548 | 298 tutor_7_14_q1_A UpdateComboBox 549 | 605 tutor_15_02_q1_D UpdateComboBox 550 | 450 tutor_11_10_q4_input4 UpdateComboBox 551 | 954 _m1_tutor11_q3_i1 UpdateHotspotSingle 552 | 287 tutor_7_08a_q2_B UpdateComboBox 553 | 1051 tutor_12_20_q2_A UpdateRadioButton 554 | 859 tutor_15_08_q4_i1 UpdateRadioButton 555 | 459 tutor_11_16_q1_D UpdateComboBox 556 | 501 _m11_assess_q1_i11 UpdateComboBox 557 | 1176 tutor_08_23_q2_B UpdateNumberField 558 | 898 tutor_22_07_q1_A UpdateRadioButton 559 | 742 _m1_tutor2_q2_A UpdateRadioButton 560 | 1004 tutor_08_09_q1_A UpdateRadioButton 561 | 149 tutor_04_05_q4_G UpdateHotspotSingle 562 | 905 tutor_22_08_q1_A UpdateRadioButton 563 | 424 tutor_11_03_q2_input2 UpdateComboBox 564 | 365 tutor_09_03_q1_A UpdateComboBox 565 | 1162 _m8_assess_part2_q1_i3 UpdateComboBox 566 | 1061 tutor_15_11_q10_i1 UpdateRadioButton 567 | 651 tutor_17_06_q5_i5 UpdateHotspotSingle 568 | 1028 tutor_11_28_q3_C UpdateComboBox 569 | 1048 tutor_12_17_q11_K UpdateComboBox 570 | 1216 tutor_21_3_2_q1_A UpdateNumberField 571 | 543 tutor_12_10_q2_4_B4 UpdateRadioButton 572 | 938 tutor_22_25_q2_B UpdateNumberField 573 | 1010 tutor_08_10_q2_D UpdateComboBox 574 | 840 tutor_12_22_q2_B UpdateRadioButton 575 | 802 tutor_11_09_q5_input5 UpdateComboBox 576 | 309 tutor_07_17_q2_B UpdateComboBox 577 | 69 _m3_assess_q7_i1 UpdateNumberField 578 | 908 tutor_22_08_q4_D UpdateRadioButton 579 | 540 tutor_12_10_q2_1_B1 UpdateRadioButton 580 | 445 tutor_11_06_q3_i1 UpdateHotspotSingle 581 | 490 _m11_assess_q1_i15 UpdateComboBox 582 | 74 _m1_tutor1_q4_A UpdateRadioButton 583 | 592 tutor_13_06_q2_E UpdateRadioButton 584 | 741 _m1_tutor2_q1_A UpdateRadioButton 585 | 111 tutor_04_10_q1_A UpdateComboBox 586 | 877 tutor_17_11_q2_i1 UpdateRadioButton 587 | 401 _m9_assess_q4_i1 UpdateRadioButton 588 | 778 tutor_6_05_q2_C UpdateComboBox 589 | 890 tutor_22_05_q2_B UpdateComboBox 590 | 345 _m7_assess_q3_A UpdateRadioButton 591 | 811 tutor_12_01_q5_E UpdateRadioButton 592 | 867 tutor_15_09_q1_i1 UpdateRadioButton 593 | 800 tutor_11_09_q3_input3 UpdateComboBox 594 | 426 tutor_11_03_q4_input4 UpdateComboBox 595 | 878 tutor_17_11_q3_i1 UpdateRadioButton 596 | 17 _m2_assess_q1_point5i2 UpdateComboBox 597 | 761 _m1_tutor16_q3_i1 UpdateHotspotSingle 598 | 177 _m1_tutor10_q3_i1 UpdateHotspotSingle 599 | 810 tutor_12_01_q4_D UpdateRadioButton 600 | 997 tutor_07_27_q2_B UpdateComboBox 601 | 871 tutor_15_10_q2_i1 UpdateRadioButton 602 | 595 _m14_assess_q1_i2 UpdateComboBox 603 | 846 tutor_12_22_q8_H UpdateRadioButton 604 | 848 tutor_12_24_q1_i1 UpdateHotspotMultiple 605 | 168 _m5_assess_q1_i2 UpdateNumberField 606 | 733 _m18_assess_q1_i1 UpdateComboBox 607 | 337 tutor_07_24_q3_E UpdateComboBox 608 | 1179 tutor_08_23_q3_C UpdateNumberField 609 | 519 tutor_12_05_q6_F UpdateRadioButton 610 | 1082 tutor_15_14_q9a_i1 UpdateRadioButton 611 | 773 _m4_assess_q3_i1 UpdateNumberField 612 | 115 tutor_04_10_q3_E UpdateComboBox 613 | 1127 tutor_04_09_q1_A UpdateComboBox 614 | 1110 tutor_22_16_q1_A UpdateNumberField 615 | 1075 tutor_15_14_q2a_i1 UpdateRadioButton 616 | 1012 tutor_08_11_q1_B UpdateComboBox 617 | 554 tutor_12_10_q3_7_C7 UpdateComboBox 618 | 1088 tutor_15_14_q4b_i1 UpdateRadioButton 619 | 530 tutor_12_07_q1_i1 UpdateHotspotMultiple 620 | 638 tutor_17_03_q6_i6 UpdateHotspotSingle 621 | 53 tutor_03_15_q3_q3-input UpdateRadioButton 622 | 121 tutor_04_13_q1_C UpdateComboBox 623 | 887 tutor_22_04_q1_A UpdateRadioButton 624 | 899 tutor_22_07_q2_B UpdateRadioButton 625 | 330 tutor_07_23_q3_E UpdateComboBox 626 | 701 tutor_17_09_qj3_i1 UpdateRadioButton 627 | 375 tutor_09_15_q1_B UpdateShortAnswer 628 | 327 tutor_07_23_q1_B UpdateComboBox 629 | 926 tutor_22_21_q6_F UpdateNumberField 630 | 444 tutor_11_06_q2_input2 UpdateComboBox 631 | 1172 _m21_assess_q2_B UpdateComboBox 632 | 779 tutor_08_01_q1_F UpdateComboBox 633 | 1091 tutor_15_14_q7b_i1 UpdateRadioButton 634 | 129 tutor_05_03_q4_i4 UpdateHotspotSingle 635 | 410 _m10_assess_q1_i1 UpdateComboBox 636 | 1180 tutor_22_22_q4_D UpdateRadioButton 637 | 513 tutor_12_04_q1_i1 UpdateHotspotMultiple 638 | 654 tutor_17_08_q2_i1 UpdateRadioButton 639 | 240 tutor_6_05_q3_B UpdateComboBox 640 | 746 _m1_tutor2_q6_A UpdateRadioButton 641 | 970 tutor_20_3_0_q4_D UpdateRadioButton 642 | 1201 tutor_08_24_q2_B UpdateNumberField 643 | 103 _m1_assess_q5_label UpdateHotspotSingle 644 | 224 _m5_assess_q3_i1 UpdateNumberField 645 | 88 _m1_tutor14_q2_i1 UpdateHotspotSingle 646 | 481 tutor_11_27_q3_i1 UpdateRadioButton 647 | 60 _m3_assess_q1_i3 UpdateComboBox 648 | 357 _m8_assess_q4_i1 UpdateComboBox 649 | 390 _m9_assess_q5_i4 UpdateComboBox 650 | 1185 tutor_21_3_1_q1_A UpdateNumberField 651 | 252 tutor_6_07_q2_C UpdateComboBox 652 | 634 tutor_17_03_q2_i2 UpdateHotspotSingle 653 | 416 _m10_assess_q1_i7 UpdateComboBox 654 | 514 tutor_12_05_q1_A UpdateRadioButton 655 | 625 _m15_assess_q1_i1 UpdateComboBox 656 | 973 tutor_20_3_2_q3_A UpdateComboBox 657 | 166 tutor_05_03_q12_M UpdateComboBox 658 | 620 tutor_15_07_q1_A UpdateRadioButton 659 | 606 tutor_15_03_q1_i1 UpdateRadioButton 660 | 37 tutor_03_11_q1_q1-input UpdateRadioButton 661 | 153 _m4_assess_q7_i1 UpdateNumberField 662 | 241 tutor_6_05_q3_C UpdateComboBox 663 | 280 tutor_7_03_q3_C UpdateComboBox 664 | 731 tutor_18_04_q1_i1 UpdateRadioButton 665 | 684 tutor_17_09_qc2_i1 UpdateRadioButton 666 | 1140 tutor_08_18_q2_B UpdateRadioButton 667 | 558 tutor_12_15_q1_A UpdateRadioButton 668 | 752 _m1_tutor7_q1_A UpdateShortAnswer 669 | 1065 tutor_15_12_q1_A UpdateComboBox 670 | 435 tutor_11_04_q5_input5 UpdateComboBox 671 | 893 tutor_22_06_q3_C UpdateRadioButton 672 | 156 _m4_assess_q1_i2 UpdateNumberField 673 | 969 tutor_20_3_0_q3_C UpdateRadioButton 674 | 852 tutor_15_04_q5_i1 UpdateRadioButton 675 | 678 tutor_17_09_qi1_i1 UpdateRadioButton 676 | 946 _m22_assess_q1_i1 UpdateRadioButton 677 | 451 tutor_11_10_q5_input5 UpdateComboBox 678 | 716 _m17_assess_q3_i3 UpdateComboBox 679 | 608 tutor_15_03_q3_i1 UpdateRadioButton 680 | 259 tutor_6_10_q3_A UpdateRadioButton 681 | 816 tutor_12_11_q3_C UpdateRadioButton 682 | 963 tutor_20_2_4_q2_B UpdateNumberField 683 | 391 _m9_assess_q7_i3 UpdateComboBox 684 | 630 _m15_assess_q1_i6 UpdateComboBox 685 | 1181 tutor_22_22_q5_E UpdateRadioButton 686 | 448 tutor_11_10_q2_input2 UpdateComboBox 687 | 497 _m11_assess_q3_i2 UpdateRadioButton 688 | 507 _m11_assess_q1_i9 UpdateComboBox 689 | 109 tutor_04_08_q2_B UpdateNumberField 690 | 58 _m3_assess_q1_i2 UpdateComboBox 691 | 266 _m6_assess_q7_i1 UpdateComboBox 692 | 1024 tutor_11_12_q2_A UpdateShortAnswer 693 | 882 tutor_22_01_q4_D UpdateRadioButton 694 | 25 tutor_03_02_q1_i1 UpdateRadioButton 695 | 683 tutor_17_09_qb2_i1 UpdateRadioButton 696 | 1037 tutor_12_10_q4_4_D4 UpdateRadioButton 697 | 468 tutor_11_23_q1_i1 UpdateRadioButton 698 | 517 tutor_12_05_q4_D UpdateRadioButton 699 | 917 tutor_22_11_q2_B UpdateNumberField 700 | 819 tutor_12_11_q6_F UpdateRadioButton 701 | 542 tutor_12_10_q2_3_B3 UpdateRadioButton 702 | 16 _m2_assess_q1_point2i3 UpdateComboBox 703 | 348 _m7_assess_q8_i1 UpdateNumberField 704 | 1032 tutor_11_30_q3_B UpdateComboBox 705 | 884 tutor_22_02_q1_A UpdateRadioButton 706 | 487 tutor_11_27_q9_i1 UpdateRadioButton 707 | 536 tutor_12_10_q1_5_A5 UpdateRadioButton 708 | 894 tutor_22_06_q4_D UpdateRadioButton 709 | 306 tutor_7_16_q7_A UpdateComboBox 710 | 1011 tutor_08_11_q1_A UpdateComboBox 711 | 467 tutor_11_21_q1_A UpdateComboBox 712 | 90 _m1_assess_q1_point UpdateHotspotSingle 713 | 739 _m18_assess_q2_i4 UpdateComboBox 714 | 332 tutor_07_23_q4_i1 UpdateShortAnswer 715 | 1145 tutor_08_20_q3_C UpdateRadioButton 716 | 498 _m11_assess_q1_i12 UpdateComboBox 717 | 1023 tutor_11_12_q1_A UpdateComboBox 718 | 1187 tutor_07_26_q2_B UpdateComboBox 719 | 211 tutor_05_18_q3_i3 UpdateComboBox 720 | 1087 tutor_15_14_q3b_i1 UpdateRadioButton 721 | 389 _m9_assess_q2_i2 UpdateRadioButton 722 | 1117 tutor_22_19_q1_A UpdateNumberField 723 | 1163 _m8_assess_part2_q4_i2 UpdateNumberField 724 | 180 tutor_11_01_q3_i1 UpdateRadioButton 725 | 580 _m12_assess_q2_i6 UpdateComboBox 726 | 123 tutor_04_13_q2_E UpdateComboBox 727 | 117 tutor_04_10_q3_G UpdateComboBox 728 | 453 tutor_11_10_q7_input7 UpdateComboBox 729 | 1197 tutor_20_4_1_q1_A UpdateNumberField 730 | 690 tutor_17_09_qi2_i1 UpdateRadioButton 731 | 960 tutor_20_2_2_q1_A UpdateComboBox 732 | 528 tutor_12_06_q7_G UpdateRadioButton 733 | 537 tutor_12_10_q1_6_A6 UpdateRadioButton 734 | 4 _m2_assess_q1_point1i2 UpdateComboBox 735 | 26 tutor_03_02_q2_i1 UpdateRadioButton 736 | 455 tutor_11_14_q1_input1 UpdateComboBox 737 | 500 _m11_assess_q3_i1 UpdateRadioButton 738 | 210 tutor_05_18_q2_i2 UpdateComboBox 739 | 886 tutor_22_03_q1_A UpdateComboBox 740 | 574 _m12_assess_q1_i1 UpdateHotspotMultiple 741 | 872 tutor_17_07_q1_i1 UpdateRadioButton 742 | 278 tutor_7_03_q1_A UpdateComboBox 743 | 1165 _m8_assess_part2_q4_i1 UpdateNumberField 744 | 65 _m3_assess_q5_i1 UpdateComboBox 745 | 904 tutor_22_07_q7_G UpdateRadioButton 746 | 193 tutor_05_07_q10_i10 UpdateComboBox 747 | 978 _m20_assess_q3_C UpdateNumberField 748 | 175 _m1_tutor10_q1_i1 UpdateHotspotSingle 749 | 964 tutor_20_2_5_q1_A UpdateRadioButton 750 | 628 _m15_assess_q1_i4 UpdateComboBox 751 | 748 _m1_tutor4_q2_i1 UpdateHotspotSingle 752 | 441 tutor_11_05_q3_i1 UpdateHotspotSingle 753 | 703 tutor_17_10_q2_i1 UpdateRadioButton 754 | 990 tutor_05_19_q1_A UpdateNumberField 755 | 187 tutor_05_07_q4_i4 UpdateRadioButton 756 | 764 _m1_tutor18_q1_i1 UpdateHotspotSingle 757 | 385 _m9_assess_q2_i1 UpdateRadioButton 758 | 254 tutor_6_09_q1_A UpdateComboBox 759 | 534 tutor_12_10_q1_3_A3 UpdateRadioButton 760 | 245 tutor_6_06_q4_A UpdateComboBox 761 | 496 _m11_assess_q1_i5 UpdateComboBox 762 | 192 tutor_05_07_q9_i9 UpdateRadioButton 763 | 727 tutor_18_02_q5_i3 UpdateHotspotSingle 764 | 1193 tutor_11_24_q5_i1 UpdateHotspotSingle 765 | 950 _m22_assess_q5_i1 UpdateRadioButton 766 | 1006 tutor_08_09_q2_B UpdateRadioButton 767 | 7 _m2_assess_q1_point1i3 UpdateComboBox 768 | 87 _m1_tutor14_q1_i1 UpdateHotspotSingle 769 | 692 tutor_17_09_qk2_i1 UpdateRadioButton 770 | 931 tutor_22_23_q2_B UpdateRadioButton 771 | 566 tutor_12_17_q4_D UpdateComboBox 772 | 347 _m7_assess_q4_A UpdateRadioButton 773 | 1093 tutor_15_14_q9b_i1 UpdateRadioButton 774 | 1199 tutor_20_4_3_q1_A UpdateRadioButton 775 | 203 tutor_05_12_q2_i2 UpdateRadioButton 776 | 1103 tutor_15_14_q8c_i1 UpdateRadioButton 777 | 671 tutor_17_09_qb1_i1 UpdateRadioButton 778 | 184 tutor_05_07_q1_i1 UpdateComboBox 779 | 586 tutor_13_02_q5_E UpdateRadioButton 780 | 830 tutor_12_13_q8_F UpdateRadioButton 781 | 267 _m6_assess_q6_i1 UpdateRadioButton 782 | 402 _m9_assess_q5_i7 UpdateComboBox 783 | 1098 tutor_15_14_q3c_i1 UpdateRadioButton 784 | 148 tutor_04_05_q3_F UpdateRadioButton 785 | 1005 tutor_08_09_q3_C UpdateComboBox 786 | 694 tutor_17_09_qb3_i1 UpdateRadioButton 787 | 900 tutor_22_07_q3_C UpdateRadioButton 788 | 1150 tutor_08_21_q2_C UpdateNumberField 789 | 822 tutor_12_12_q1_A UpdateComboBox 790 | 270 _m6_assess_q3_i1 UpdateRadioButton 791 | 1121 tutor_04_03_q1_A UpdateComboBox 792 | 1210 tutor_21_2_3_q3_C UpdateNumberField 793 | 146 tutor_04_05_q1_D UpdateComboBox 794 | 539 tutor_12_10_q1_8_A8 UpdateRadioButton 795 | 199 tutor_05_12_q1_i1 UpdateComboBox 796 | 652 tutor_17_06_q6_i6 UpdateHotspotSingle 797 | 296 tutor_7_12_q1_A UpdateComboBox 798 | 691 tutor_17_09_qj2_i1 UpdateRadioButton 799 | 262 tutor_6_11b_q1_A UpdateRadioButton 800 | 363 tutor_09_01_q1_A UpdateComboBox 801 | 927 tutor_22_21_q7_G UpdateRadioButton 802 | 839 tutor_12_22_q1_A UpdateRadioButton 803 | 798 tutor_11_09_q1_input1 UpdateComboBox 804 | 170 _m1_tutor3_q1_A UpdateShortAnswer 805 | 682 tutor_17_09_qa2_i1 UpdateRadioButton 806 | 1100 tutor_15_14_q5c_i1 UpdateRadioButton 807 | 83 _m1_tutor12_q4_i1 UpdateHotspotSingle 808 | 889 tutor_22_05_q1_A UpdateRadioButton 809 | 649 tutor_17_06_q3_i3 UpdateHotspotSingle 810 | 769 _m1_tutor19_q2_i1 UpdateHotspotSingle 811 | 27 tutor_03_02_q3_i1 UpdateRadioButton 812 | 1085 tutor_15_14_q1b_i1 UpdateRadioButton 813 | 89 _m1_tutor14_q4_i1 UpdateHotspotSingle 814 | 777 tutor_6_05_q2_B UpdateComboBox 815 | 343 _m7_assess_q2_A UpdateRadioButton 816 | 276 tutor_7_02_q2_B UpdateComboBox 817 | 588 tutor_13_04_q1_D UpdateRadioButton 818 | 708 _m17_assess_q3_i7 UpdateComboBox 819 | 367 tutor_09_05_q1_A UpdateHotspotSingle 820 | 958 tutor_20_2_1_q2_B UpdateComboBox 821 | 154 _m4_assess_q9_i1 UpdateComboBox 822 | 134 tutor_05_03_q10_A UpdateComboBox 823 | 334 tutor_07_24_q1_B UpdateComboBox 824 | 253 tutor_6_08_q1_A UpdateComboBox 825 | 821 tutor_12_11_q8_H UpdateRadioButton 826 | 147 tutor_04_05_q2_E UpdateRadioButton 827 | 612 tutor_15_05_q1_A UpdateComboBox 828 | 983 tutor_08_06_q2_C UpdateComboBox 829 | 251 tutor_6_07_q2_B UpdateComboBox 830 | 975 tutor_20_3_2_q5_A UpdateComboBox 831 | 342 _m7_assess_q7_i3 UpdateComboBox 832 | 941 tutor_22_26_q1_A UpdateRadioButton 833 | 873 tutor_17_07_q2_i2 UpdateRadioButton 834 | 1144 tutor_08_19_q2_B UpdateRadioButton 835 | 314 tutor_07_19_q2_C UpdateComboBox 836 | 302 tutor_7_16_q3_A UpdateComboBox 837 | 820 tutor_12_11_q7_G UpdateRadioButton 838 | 3 _m2_assess_q1_point6i2 UpdateComboBox 839 | 430 tutor_11_03_q8_input8 UpdateComboBox 840 | 195 tutor_05_07_q11_B UpdateComboBox 841 | 1209 tutor_20_4_4_q2_B UpdateComboBox 842 | 71 _m3_assess_q8_i1 UpdateComboBox 843 | 979 _m20_assess_q2_B UpdateNumberField 844 | 796 tutor_11_08_q2_i2 UpdateHotspotSingle 845 | 940 tutor_22_25_q4_D UpdateNumberField 846 | 968 tutor_20_3_0_q2_B UpdateRadioButton 847 | 1076 tutor_15_14_q3a_i1 UpdateRadioButton 848 | 1019 tutor_08_16_q1_A UpdateShortAnswer 849 | 912 tutor_22_09_q2_B UpdateRadioButton 850 | 62 _m3_assess_q2_i1 UpdateCheckbox 851 | 436 tutor_11_04_q6_input6 UpdateComboBox 852 | 1207 tutor_20_3_5_q1_A UpdateNumberField 853 | 939 tutor_22_25_q3_C UpdateRadioButton 854 | 454 tutor_11_13_q1_input1 UpdateComboBox 855 | 114 tutor_04_10_q3_D UpdateComboBox 856 | 854 tutor_15_04_q7_i1 UpdateRadioButton 857 | 356 _m8_assess_q4_i2 UpdateComboBox 858 | 223 _m5_assess_q2_i5 UpdateNumberField 859 | 801 tutor_11_09_q4_input4 UpdateComboBox 860 | 313 tutor_07_19_q2_D UpdateComboBox 861 | 1219 tutor_21_3_3_q1_A UpdateNumberField 862 | 572 tutor_12_18_q6_F UpdateRadioButton 863 | 202 tutor_05_12_q3_i3 UpdateRadioButton 864 | 20 _m2_assess_q1_point3i2 UpdateComboBox 865 | 987 tutor_04_19_q1_A UpdateRadioButton 866 | 284 tutor_7_06_q2_B UpdateComboBox 867 | 1108 tutor_22_13_q1_A UpdateRadioButton 868 | 5 _m2_assess_q1_point4i1 UpdateComboBox 869 | 596 _m14_assess_q1_i3 UpdateComboBox 870 | 525 tutor_12_06_q4_D UpdateRadioButton 871 | 1195 tutor_11_24_q7_i1 UpdateRadioButton 872 | 412 _m10_assess_q1_i3 UpdateComboBox 873 | 1157 _m8_assess_part2_q3_i1 UpdateNumberField 874 | 272 _m6_assess_q2_i1 UpdateRadioButton 875 | 369 tutor_09_08_q1_i1 UpdateHotspotSingle 876 | 408 _m9_assess_q6_i1 UpdateRadioButton 877 | 320 tutor_07_21_q2_B UpdateComboBox 878 | 328 tutor_07_23_q2_C UpdateComboBox 879 | 1086 tutor_15_14_q2b_i1 UpdateRadioButton 880 | 658 tutor_17_08_q6_i1 UpdateRadioButton 881 | 847 tutor_12_23_q1_i1 UpdateHotspotMultiple 882 | 875 tutor_17_07_q4_i5 UpdateRadioButton 883 | 1118 tutor_22_20_q1_A UpdateNumberField 884 | 300 tutor_7_16_q1_A UpdateComboBox 885 | 258 tutor_6_10_q2_A UpdateRadioButton 886 | 909 tutor_22_08_q5_E UpdateRadioButton 887 | 1186 tutor_08_08_q2_A UpdateComboBox 888 | 19 _m2_assess_q1_point5i3 UpdateComboBox 889 | 555 tutor_12_10_q3_8_C8 UpdateRadioButton 890 | 986 tutor_04_18_q1_A UpdateRadioButton 891 | 725 tutor_18_02_q3_i1 UpdateHotspotSingle 892 | 832 tutor_12_21_q1_A UpdateComboBox 893 | 247 tutor_6_07_q1_A UpdateComboBox 894 | 380 tutor_09_20_q1_B UpdateShortAnswer 895 | 734 _m18_assess_q1_i2 UpdateComboBox 896 | 527 tutor_12_06_q5_E UpdateRadioButton 897 | 544 tutor_12_10_q2_5_B5 UpdateRadioButton 898 | 56 _m3_assess_q3_i2 UpdateCheckbox 899 | 808 tutor_11_22_q1_B UpdateComboBox 900 | 758 _m1_tutor15_q4_i1 UpdateHotspotSingle 901 | 1054 tutor_15_11_q6_i1 UpdateRadioButton 902 | 85 _m1_tutor13_q2_i1 UpdateHotspotSingle 903 | 99 _m1_assess_q5_point UpdateHotspotSingle 904 | 181 tutor_11_01_q1_i1 UpdateRadioButton 905 | 364 tutor_09_01_q2_B UpdateComboBox 906 | 1134 tutor_04_15_q2_A UpdateComboBox 907 | 289 tutor_7_08b_q1_i1 UpdateRadioButton 908 | 449 tutor_11_10_q3_input3 UpdateComboBox 909 | 879 tutor_22_01_q1_A UpdateRadioButton 910 | 799 tutor_11_09_q2_input2 UpdateComboBox 911 | 672 tutor_17_09_qc1_i1 UpdateRadioButton 912 | 947 _m22_assess_q2_i1 UpdateRadioButton 913 | 1113 tutor_22_16_q4_D UpdateRadioButton 914 | 144 tutor_04_05_q1_B UpdateComboBox 915 | 8 _m2_assess_q1_point4i2 UpdateComboBox 916 | 420 tutor_11_02_q2_i1 UpdateRadioButton 917 | 171 _m1_tutor9_q1_i1 UpdateHotspotSingle 918 | 354 _m7_assess_q7_i2 UpdateComboBox 919 | 79 _m1_tutor11_q2_i1 UpdateHotspotSingle 920 | 771 _m1_tutor19_q4_i1 UpdateHotspotSingle 921 | 994 tutor_07_25_q3_D UpdateComboBox 922 | 1194 tutor_11_24_q6_i1 UpdateRadioButton 923 | 239 tutor_6_05_q3_A UpdateComboBox 924 | 897 tutor_22_06_q7_G UpdateRadioButton 925 | 143 tutor_04_05_q1_A UpdateComboBox 926 | 989 tutor_05_19_q3_C UpdateNumberField 927 | 145 tutor_04_05_q1_C UpdateComboBox 928 | 928 tutor_22_21_q8_H UpdateRadioButton 929 | 279 tutor_7_03_q2_B UpdateComboBox 930 | 216 _m5_assess_q3_i3 UpdateNumberField 931 | 1079 tutor_15_14_q6a_i1 UpdateRadioButton 932 | 403 _m9_assess_q8_i1 UpdateComboBox 933 | 151 _m4_assess_q4_direction UpdateHotspotSingle 934 | 383 _m9_assess_q7_i1 UpdateComboBox 935 | 378 tutor_09_19_q2_B UpdateHotspotSingle 936 | 35 tutor_03_09_q1_A UpdateRadioButton 937 | 81 _m1_tutor12_q1_i1 UpdateHotspotSingle 938 | 54 tutor_03_15_q4_q4-input UpdateRadioButton 939 | 165 tutor_05_03_q12_L UpdateComboBox 940 | 208 tutor_05_17_q4_i4 UpdateComboBox 941 | 1018 tutor_08_15_q1_A UpdateShortAnswer 942 | 63 _m3_assess_q4_i1 UpdateNumberField 943 | 613 tutor_15_05_q1_B UpdateComboBox 944 | 1122 tutor_04_03_q2_B UpdateComboBox 945 | 718 _m17_assess_q3_i2 UpdateComboBox 946 | 303 tutor_7_16_q4_B UpdateComboBox 947 | 759 _m1_tutor16_q1_i1 UpdateHotspotSingle 948 | 865 tutor_15_08_q10_i1 UpdateRadioButton 949 | 97 _m1_assess_q4_label UpdateHotspotSingle 950 | 563 tutor_12_17_q1_A UpdateComboBox 951 | 230 tutor_6_04_q1_A UpdateComboBox 952 | 556 tutor_12_11_q2_B UpdateRadioButton 953 | 141 tutor_04_02_q1_A UpdateNumberField 954 | 1038 tutor_12_10_q4_5_D5 UpdateRadioButton 955 | 807 tutor_11_18_q1_input1 UpdateRadioButton 956 | 11 _m2_assess_q1_point4i3 UpdateComboBox 957 | 386 _m9_assess_q5_i3 UpdateComboBox 958 | 645 tutor_17_05_q5_i5 UpdateHotspotSingle 959 | 261 tutor_6_11a_q1_A UpdateShortAnswer 960 | 583 tutor_13_02_q2_A UpdateComboBox 961 | 937 tutor_22_25_q1_A UpdateNumberField 962 | 549 tutor_12_10_q3_2_C2 UpdateRadioButton 963 | 50 tutor_03_14_q2_q2-input UpdateRadioButton 964 | 273 _m6_assess_q8_i1 UpdateComboBox 965 | 1096 tutor_15_14_q1c_i1 UpdateRadioButton 966 | 714 _m17_assess_q3_i4 UpdateComboBox 967 | 1040 tutor_12_10_q4_7_D7 UpdateComboBox 968 | 493 _m11_assess_q1_i6 UpdateComboBox 969 | 526 tutor_12_06_q6_F UpdateRadioButton 970 | 953 _m22_assess_q8_i1 UpdateRadioButton 971 | 1044 tutor_12_17_q7_G UpdateRadioButton 972 | 372 tutor_09_12_q1_B UpdateShortAnswer 973 | 274 _m6_assess_q1_i1 UpdateRadioButton 974 | 813 tutor_12_01_q7_G UpdateRadioButton 975 | 78 _m1_tutor11_q1_i1 UpdateHotspotSingle 976 | 122 tutor_04_13_q2_D UpdateComboBox 977 | 760 _m1_tutor16_q2_i1 UpdateHotspotSingle 978 | 1137 tutor_08_17_q3_C UpdateRadioButton 979 | 1174 tutor_08_22_q1_A UpdateNumberField 980 | 400 _m9_assess_q9_i4 UpdateComboBox 981 | 72 _m1_tutor1_q1_A UpdateRadioButton 982 | 952 _m22_assess_q7_i1 UpdateRadioButton 983 | 740 _m18_assess_q2_i5 UpdateComboBox 984 | 323 tutor_07_22_q1_A UpdateComboBox 985 | 57 _m3_assess_q9_i1 UpdateComboBox 986 | 376 tutor_09_18_q1_i1 UpdateHotspotSingle 987 | 130 tutor_05_03_q5_i5 UpdateComboBox 988 | 1142 tutor_08_19_q3_C UpdateRadioButton 989 | 755 _m1_tutor15_q1_i1 UpdateHotspotSingle 990 | 551 tutor_12_10_q3_4_C4 UpdateRadioButton 991 | 680 tutor_17_09_qk1_i1 UpdateRadioButton 992 | 776 tutor_05_11_q1_A UpdateShortAnswer 993 | 984 tutor_04_15_q1_C UpdateComboBox 994 | 641 tutor_17_04_q1_i1 UpdateHotspotSingle 995 | 666 tutor_17_08_q14_i1 UpdateRadioButton 996 | 790 tutor_08_03_q4_D UpdateComboBox 997 | 754 _m1_tutor13_q3_i1 UpdateHotspotSingle 998 | 1202 tutor_20_3_3_q2_B UpdateNumberField 999 | 350 _m7_assess_q8_i2 UpdateNumberField 1000 | 774 _m4_assess_q8_i1 UpdateNumberField 1001 | 1166 _m8_assess_part2_q1_i1 UpdateComboBox 1002 | 915 tutor_22_10_q2_B UpdateRadioButton 1003 | 255 tutor_6_09_q2_A UpdateComboBox 1004 | 243 tutor_6_06_q2_A UpdateComboBox 1005 | 152 _m4_assess_q6_i1 UpdateComboBox 1006 | 112 tutor_04_10_q2_B UpdateComboBox 1007 | 358 _m8_assess_q3_i2 UpdateNumberField 1008 | 745 _m1_tutor2_q5_A UpdateRadioButton 1009 | 661 tutor_17_08_q9_i1 UpdateRadioButton 1010 | 326 tutor_07_23_q1_A UpdateComboBox 1011 | 639 tutor_17_03_q7_i7 UpdateRadioButton 1012 | 388 _m9_assess_q9_i1 UpdateComboBox 1013 | 874 tutor_17_07_q3_i3 UpdateRadioButton 1014 | 236 tutor_6_05_q1_B UpdateComboBox 1015 | 209 tutor_05_18_q1_i1 UpdateComboBox 1016 | 1022 tutor_11_11_q3_input3 UpdateComboBox 1017 | 49 tutor_03_14_q1_q1-input UpdateRadioButton 1018 | 659 tutor_17_08_q7_i1 UpdateRadioButton 1019 | 981 tutor_08_06_q1_A UpdateComboBox 1020 | 125 tutor_05_01_q1_q1-input UpdateComboBox 1021 | 724 tutor_18_02_q2_i1 UpdateHotspotMultiple 1022 | 198 tutor_05_09_q1_A UpdateShortAnswer 1023 | 1126 tutor_04_06_q2_i1 UpdateRadioButton 1024 | 381 _m9_assess_q1_i1 UpdateComboBox 1025 | 43 tutor_03_12_q3_q3-input UpdateRadioButton 1026 | 113 tutor_04_10_q3_C UpdateComboBox 1027 | 235 tutor_6_05_q1_A UpdateComboBox 1028 | 1074 tutor_15_14_q1a_i1 UpdateRadioButton 1029 | 604 tutor_15_02_q1_C UpdateComboBox 1030 | 841 tutor_12_22_q3_C UpdateRadioButton 1031 | 353 _m7_assess_q7_i1 UpdateComboBox 1032 | 1138 tutor_08_17_q2_B UpdateRadioButton 1033 | 1154 tutor_08_21_q4_G UpdateNumberField 1034 | 711 _m17_assess_q1_DE2 UpdateRadioButton 1035 | 28 tutor_03_03_q1_A UpdateRadioButton 1036 | 479 tutor_11_27_q1_i1 UpdateRadioButton 1037 | 715 _m17_assess_q1_EC UpdateRadioButton 1038 | 379 tutor_09_19_q3_C UpdateHotspotSingle 1039 | 648 tutor_17_06_q4_i4 UpdateHotspotSingle 1040 | 233 tutor_6_04_q4_A UpdateComboBox 1041 | 1223 tutor_22_13_q3_C UpdateHotspotSingle 1042 | 98 _m1_assess_q2_sense UpdateHotspotSingle 1043 | 336 tutor_07_24_q2_D UpdateComboBox 1044 | 228 tutor_6_03c_q2_B UpdateComboBox 1045 | 788 tutor_08_03_q2_B UpdateComboBox 1046 | 480 tutor_11_27_q2_i1 UpdateRadioButton 1047 | 646 tutor_17_05_q4_i4 UpdateHotspotSingle 1048 | 1077 tutor_15_14_q4a_i1 UpdateRadioButton 1049 | 82 _m1_tutor12_q2_i1 UpdateHotspotSingle 1050 | 1029 tutor_11_29_q1_input1 UpdateRadioButton 1051 | 462 tutor_11_17_q2_A UpdateShortAnswer 1052 | 1116 tutor_22_18_q1_A UpdateNumberField 1053 | 217 _m5_assess_q2_i1 UpdateNumberField 1054 | 1123 tutor_04_04_q1_A UpdateNumberField 1055 | 219 _m5_assess_q2_i2 UpdateNumberField 1056 | 511 tutor_12_02_q1_i1 UpdateHotspotMultiple 1057 | 1115 tutor_22_17_q1_A UpdateNumberField 1058 | 1160 _m8_assess_part2_q2_i1 UpdateComboBox 1059 | 930 tutor_22_23_q1_A UpdateRadioButton 1060 | 826 tutor_12_13_q4_D UpdateRadioButton 1061 | 1002 tutor_08_07_q1_A UpdateComboBox 1062 | 189 tutor_05_07_q6_i6 UpdateRadioButton 1063 | 697 tutor_17_09_qf3_i1 UpdateRadioButton 1064 | 623 tutor_15_07_q4_i1 UpdateRadioButton 1065 | 470 tutor_11_23_q3_i1 UpdateRadioButton 1066 | 919 tutor_22_14_q1_A UpdateRadioButton 1067 | 1159 _m8_assess_part2_q2_i2 UpdateComboBox 1068 | 33 tutor_03_07_q1_A UpdateRadioButton 1069 | 475 tutor_11_24_q4_i1 UpdateRadioButton 1070 | 862 tutor_15_08_q7_i1 UpdateRadioButton 1071 | 833 tutor_12_21_q2_B UpdateComboBox 1072 | 161 tutor_05_03_q12_H UpdateComboBox 1073 | 461 tutor_11_17_q1_A UpdateComboBox 1074 | 286 tutor_7_08a_q1_A UpdateComboBox 1075 | 568 tutor_12_18_q2_B UpdateRadioButton 1076 | 961 tutor_20_2_3_q1_A UpdateComboBox 1077 | 317 tutor_07_20_q3_A UpdateRadioButton 1078 | 157 _m4_assess_q1_i3 UpdateNumberField 1079 | 965 tutor_20_2_6_q1_A UpdateComboBox 1080 | 1212 tutor_21_3_2_q1_B UpdateNumberField 1081 | 45 tutor_03_13_q1_q1-input UpdateRadioButton 1082 | 793 tutor_11_07_q1_A UpdateComboBox 1083 | 405 _m9_assess_q5_i8 UpdateComboBox 1084 | 657 tutor_17_08_q5_i1 UpdateRadioButton 1085 | 610 tutor_15_04_q2_i1 UpdateRadioButton 1086 | 686 tutor_17_09_qe2_i1 UpdateRadioButton 1087 | 1213 tutor_08_25_q2_B UpdateNumberField 1088 | 271 _m6_assess_q8_i2 UpdateComboBox 1089 | 432 tutor_11_04_q2_input2 UpdateComboBox 1090 | 352 _m7_assess_q8_i3 UpdateNumberField 1091 | 297 tutor_7_12_q2_B UpdateComboBox 1092 | 392 _m9_assess_q9_i2 UpdateComboBox 1093 | 411 _m10_assess_q1_i2 UpdateComboBox 1094 | 1057 tutor_15_11_q3_i1 UpdateRadioButton 1095 | 104 _m1_assess_q3_sense UpdateHotspotSingle 1096 | 795 tutor_11_08_q1_i1 UpdateHotspotSingle 1097 | 1053 tutor_15_11_q5_i1 UpdateRadioButton 1098 | 738 _m18_assess_q2_i3 UpdateComboBox 1099 | 688 tutor_17_09_qg2_i1 UpdateRadioButton 1100 | 892 tutor_22_06_q2_B UpdateRadioButton 1101 | 980 _m20_assess_q1_A UpdateRadioButton 1102 | 70 _m3_assess_q3_i1 UpdateCheckbox 1103 | 77 _m1_tutor5_q1_A UpdateShortAnswer 1104 | 559 tutor_12_15_q2_B UpdateRadioButton 1105 | 522 tutor_12_06_q1_A UpdateRadioButton 1106 | 264 tutor_6_11b_q3_B UpdateComboBox 1107 | 616 tutor_15_06_q2_A UpdateRadioButton 1108 | 205 tutor_05_17_q1_i1 UpdateComboBox 1109 | 150 _m4_assess_q2_i1 UpdateNumberField 1110 | 439 tutor_11_05_q1_input1 UpdateComboBox 1111 | 607 tutor_15_03_q2_i1 UpdateRadioButton 1112 | 1206 tutor_20_3_4_q4_D UpdateNumberField 1113 | 265 _m6_assess_q7_i2 UpdateComboBox 1114 | 387 _m9_assess_q7_i2 UpdateComboBox 1115 | 1030 tutor_11_30_q1_input1 UpdateRadioButton 1116 | 440 tutor_11_05_q2_input2 UpdateComboBox 1117 | 615 tutor_15_06_q1_A UpdateRadioButton 1118 | 21 _m2_assess_q1_point6i1 UpdateComboBox 1119 | 138 tutor_05_03_q10_E UpdateComboBox 1120 | 673 tutor_17_09_qd1_i1 UpdateRadioButton 1121 | 629 _m15_assess_q1_i5 UpdateComboBox 1122 | 730 tutor_18_03_q3_i1 UpdateRadioButton 1123 | 96 _m1_assess_q2_point UpdateHotspotSingle 1124 | 15 _m2_assess_q1_point7i3 UpdateComboBox 1125 | 768 _m1_tutor19_q1_i1 UpdateHotspotSingle 1126 | 1120 tutor_22_29_q1_A UpdateRadioButton 1127 | 349 _m7_assess_q5_A UpdateRadioButton 1128 | 943 tutor_22_27_q2_B UpdateNumberField 1129 | 531 tutor_12_08_q1_i1 UpdateHotspotMultiple 1130 | 991 tutor_07_25_q1_A UpdateComboBox 1131 | 351 _m7_assess_q6_A UpdateRadioButton 1132 | 1184 tutor_22_22_q8_H UpdateRadioButton 1133 | 346 _m7_assess_q7_i5 UpdateComboBox 1134 | 1125 tutor_04_06_q1_i1 UpdateRadioButton 1135 | 505 _m11_assess_q1_i2 UpdateComboBox 1136 | 614 tutor_15_05_q1_C UpdateComboBox 1137 | 1153 tutor_08_21_q3_F UpdateNumberField 1138 | 456 tutor_11_15_q1_A UpdateShortAnswer 1139 | 304 tutor_7_16_q5_A UpdateComboBox 1140 | 995 tutor_07_26_q1_A UpdateShortAnswer 1141 | 972 tutor_20_3_2_q2_A UpdateComboBox 1142 | 1008 tutor_08_10_q1_B UpdateComboBox 1143 | 288 tutor_7_08a_q3_C UpdateComboBox 1144 | 2 _m2_assess_q1_point3i3 UpdateComboBox 1145 | 1111 tutor_22_16_q2_B UpdateNumberField 1146 | 562 tutor_12_16_q2_B UpdateRadioButton 1147 | 679 tutor_17_09_qj1_i1 UpdateRadioButton 1148 | 482 tutor_11_27_q4_i1 UpdateRadioButton 1149 | 736 _m18_assess_q2_i1 UpdateComboBox 1150 | 567 tutor_12_18_q1_A UpdateRadioButton 1151 | 281 tutor_7_04_q1_A UpdateComboBox 1152 | 1139 tutor_08_18_q1_A UpdateRadioButton 1153 | 866 tutor_15_08_q11_i1 UpdateRadioButton 1154 | 406 _m9_assess_q8_i2 UpdateComboBox 1155 | 988 tutor_05_19_q2_B UpdateNumberField 1156 | 108 tutor_04_08_q1_A UpdateNumberField 1157 | 137 tutor_05_03_q10_D UpdateComboBox 1158 | 22 tutor_03_01_q1_i1 UpdateRadioButton 1159 | 656 tutor_17_08_q4_i1 UpdateRadioButton 1160 | 316 tutor_07_20_q2_A UpdateRadioButton 1161 | 663 tutor_17_08_q11_i1 UpdateRadioButton 1162 | 942 tutor_22_27_q1_A UpdateNumberField 1163 | 957 tutor_20_2_1_q1_A UpdateComboBox 1164 | 231 tutor_6_04_q2_A UpdateComboBox 1165 | 494 _m11_assess_q3_i3 UpdateRadioButton 1166 | 579 _m12_assess_q2_i5 UpdateComboBox 1167 | 668 tutor_17_08_q16_i1 UpdateRadioButton 1168 | 10 _m2_assess_q1_point2i1 UpdateComboBox 1169 | 747 _m1_tutor4_q1_i1 UpdateHotspotSingle 1170 | 944 tutor_22_27_q3_C UpdateRadioButton 1171 | 597 _m14_assess_q1_i4 UpdateComboBox 1172 | 269 _m6_assess_q4_i1 UpdateRadioButton 1173 | 636 tutor_17_03_q4_i4 UpdateHotspotSingle 1174 | 93 _m1_assess_q4_point UpdateHotspotSingle 1175 | 374 tutor_09_14_q1_B UpdateShortAnswer 1176 | 521 tutor_12_05_q8_H UpdateRadioButton 1177 | 339 tutor_07_24_q5_H UpdateComboBox 1178 | 998 tutor_08_04_q3_C UpdateRadioButton 1179 | 340 tutor_07_24_q4_G UpdateComboBox 1180 | 849 tutor_12_24_q2_A UpdateRadioButton 1181 | 220 _m5_assess_q3_i5 UpdateNumberField 1182 | 106 tutor_04_01_q2_B UpdateComboBox 1183 | 1149 tutor_08_21_q1_B UpdateNumberField 1184 | 837 tutor_12_21_q6_F UpdateRadioButton 1185 | 1046 tutor_12_17_q9_I UpdateComboBox 1186 | 91 _m1_assess_q3_label UpdateHotspotSingle 1187 | 417 _m10_assess_q1_i8 UpdateComboBox 1188 | 48 tutor_03_13_q4_q4-input UpdateRadioButton 1189 | 1092 tutor_15_14_q8b_i1 UpdateRadioButton 1190 | 38 tutor_03_11_q2_q2-input UpdateRadioButton 1191 | 341 _m7_assess_q1_A UpdateRadioButton 1192 | 371 tutor_09_10_q1_i1 UpdateHotspotSingle 1193 | 591 tutor_13_06_q1_D UpdateRadioButton 1194 | 1041 tutor_12_10_q4_8_D8 UpdateRadioButton 1195 | 717 _m17_assess_q1_DF UpdateRadioButton 1196 | 1218 tutor_08_25_q1_A UpdateNumberField 1197 | 1020 tutor_11_11_q1_input1 UpdateComboBox 1198 | 119 tutor_04_13_q1_A UpdateComboBox 1199 | 329 tutor_07_23_q2_D UpdateComboBox 1200 | 443 tutor_11_06_q1_input1 UpdateComboBox 1201 | 1067 tutor_15_12_q1_C UpdateComboBox 1202 | 94 _m1_assess_q1_label UpdateHotspotSingle 1203 | 67 _m3_assess_q6_i1 UpdateComboBox 1204 | 949 _m22_assess_q4_i1 UpdateRadioButton 1205 | 924 tutor_22_21_q4_D UpdateRadioButton 1206 | 1222 tutor_22_10_q3_C UpdateRadioButton 1207 | 197 tutor_05_07_q12_i12 UpdateComboBox 1208 | 469 tutor_11_23_q2_i1 UpdateRadioButton 1209 | 632 tutor_17_02_q2_i2 UpdateHotspotSingle 1210 | 404 _m9_assess_q4_i2 UpdateRadioButton 1211 | 311 tutor_07_19_q1_A UpdateComboBox 1212 | 1190 tutor_21_2_3_q2_B UpdateNumberField 1213 | 1192 tutor_21_2_2_q1_A UpdateNumberField 1214 | 809 tutor_12_01_q3_C UpdateRadioButton 1215 | 377 tutor_09_19_q1_A UpdateHotspotSingle 1216 | 655 tutor_17_08_q3_i1 UpdateRadioButton 1217 | 785 tutor_08_02_q1_A UpdateComboBox 1218 | 1097 tutor_15_14_q2c_i1 UpdateRadioButton 1219 | 1042 tutor_12_17_q5_E UpdateRadioButton 1220 | 186 tutor_05_07_q3_i3 UpdateComboBox 1221 | 196 tutor_05_07_q11_C UpdateComboBox 1222 | 1016 tutor_08_13_q1_A UpdateShortAnswer 1223 | 221 _m5_assess_q2_i3 UpdateNumberField 1224 | 751 _m1_tutor6_q1_A UpdateShortAnswer 1225 | -------------------------------------------------------------------------------- /data/statics11/qid_sid_sname: -------------------------------------------------------------------------------- 1 | qid skillid skillname 2 | 1 1 identify_interaction 3 | 2 2 gravitational_forces 4 | 3 3 represent_interaction_spring 5 | 4 4 represent_interaction_cord 6 | 5 1 identify_interaction 7 | 6 3 represent_interaction_spring 8 | 7 4 represent_interaction_cord 9 | 8 5 simple_step 10 | 9 1 identify_interaction 11 | 10 1 identify_interaction 12 | 11 5 simple_step 13 | 12 4 represent_interaction_cord 14 | 13 3 represent_interaction_spring 15 | 14 1 identify_interaction 16 | 15 4 represent_interaction_cord 17 | 16 3 represent_interaction_spring 18 | 17 2 gravitational_forces 19 | 18 1 identify_interaction 20 | 19 2 gravitational_forces 21 | 20 2 gravitational_forces 22 | 21 1 identify_interaction 23 | 22 6 distinguish_rotation_translation 24 | 23 6 distinguish_rotation_translation 25 | 24 6 distinguish_rotation_translation 26 | 25 6 distinguish_rotation_translation 27 | 26 6 distinguish_rotation_translation 28 | 27 6 distinguish_rotation_translation 29 | 28 7 motion_dependence_on_force 30 | 29 7 motion_dependence_on_force 31 | 30 7 motion_dependence_on_force 32 | 31 8 rotation_sense_of_force 33 | 32 8 rotation_sense_of_force 34 | 33 8 rotation_sense_of_force 35 | 34 8 rotation_sense_of_force 36 | 35 8 rotation_sense_of_force 37 | 36 8 rotation_sense_of_force 38 | 37 9 find_moment_arm 39 | 38 5 simple_step 40 | 39 8 rotation_sense_of_force 41 | 40 10 moment_sign_sense_relation 42 | 41 9 find_moment_arm 43 | 42 5 simple_step 44 | 43 8 rotation_sense_of_force 45 | 44 10 moment_sign_sense_relation 46 | 45 9 find_moment_arm 47 | 46 5 simple_step 48 | 47 8 rotation_sense_of_force 49 | 48 10 moment_sign_sense_relation 50 | 49 9 find_moment_arm 51 | 50 5 simple_step 52 | 51 9 find_moment_arm 53 | 52 5 simple_step 54 | 53 8 rotation_sense_of_force 55 | 54 10 moment_sign_sense_relation 56 | 55 7 motion_dependence_on_force 57 | 56 11 58 | 57 10 moment_sign_sense_relation 59 | 58 7 motion_dependence_on_force 60 | 59 11 61 | 60 7 motion_dependence_on_force 62 | 61 11 63 | 62 12 rotation_sense_of_force~~motion_dependence_on_force 64 | 63 9 find_moment_arm 65 | 64 12 rotation_sense_of_force~~motion_dependence_on_force 66 | 65 8 rotation_sense_of_force 67 | 66 12 rotation_sense_of_force~~motion_dependence_on_force 68 | 67 10 moment_sign_sense_relation 69 | 68 12 rotation_sense_of_force~~motion_dependence_on_force 70 | 69 9 find_moment_arm 71 | 70 11 72 | 71 8 rotation_sense_of_force 73 | 72 1 identify_interaction 74 | 73 1 identify_interaction 75 | 74 1 identify_interaction 76 | 75 1 identify_interaction 77 | 76 1 identify_interaction 78 | 77 4 represent_interaction_cord 79 | 78 13 body_draw_force_on 80 | 79 14 represent_interaction_contacting_body 81 | 80 14 represent_interaction_contacting_body 82 | 81 13 body_draw_force_on 83 | 82 14 represent_interaction_contacting_body 84 | 83 14 represent_interaction_contacting_body 85 | 84 13 body_draw_force_on 86 | 85 3 represent_interaction_spring 87 | 86 3 represent_interaction_spring 88 | 87 13 body_draw_force_on 89 | 88 3 represent_interaction_spring 90 | 89 3 represent_interaction_spring 91 | 90 14 represent_interaction_contacting_body 92 | 91 15 identify_interaction~~body_draw_force_on 93 | 92 14 represent_interaction_contacting_body 94 | 93 1 identify_interaction 95 | 94 15 identify_interaction~~body_draw_force_on 96 | 95 1 identify_interaction 97 | 96 3 represent_interaction_spring 98 | 97 1 identify_interaction 99 | 98 3 represent_interaction_spring 100 | 99 4 represent_interaction_cord 101 | 100 15 identify_interaction~~body_draw_force_on 102 | 101 4 represent_interaction_cord 103 | 102 3 represent_interaction_spring 104 | 103 15 identify_interaction~~body_draw_force_on 105 | 104 3 represent_interaction_spring 106 | 105 16 resolve_into_components 107 | 106 16 resolve_into_components 108 | 107 10 moment_sign_sense_relation 109 | 108 8 rotation_sense_of_force 110 | 109 8 rotation_sense_of_force 111 | 110 5 simple_step 112 | 111 17 is_net_moment_sense_obvious 113 | 112 8 rotation_sense_of_force 114 | 113 18 moment_sign_sense_relation~~rotation_sense_of_force 115 | 114 9 find_moment_arm 116 | 115 18 moment_sign_sense_relation~~rotation_sense_of_force 117 | 116 9 find_moment_arm 118 | 117 18 moment_sign_sense_relation~~rotation_sense_of_force 119 | 118 9 find_moment_arm 120 | 119 18 moment_sign_sense_relation~~rotation_sense_of_force 121 | 120 16 resolve_into_components 122 | 121 9 find_moment_arm 123 | 122 18 moment_sign_sense_relation~~rotation_sense_of_force 124 | 123 16 resolve_into_components 125 | 124 9 find_moment_arm 126 | 125 19 statics_problem_collinear 127 | 126 20 choose_subsystem 128 | 127 4 represent_interaction_cord 129 | 128 14 represent_interaction_contacting_body 130 | 129 5 simple_step 131 | 130 21 recognize_forces_concurrent 132 | 131 22 recognize_forces_collinear 133 | 132 23 count_independent_equations 134 | 133 24 count_unknowns 135 | 134 16 resolve_into_components 136 | 135 16 resolve_into_components 137 | 136 16 resolve_into_components 138 | 137 16 resolve_into_components 139 | 138 16 resolve_into_components 140 | 139 16 resolve_into_components 141 | 140 5 simple_step 142 | 141 16 resolve_into_components 143 | 142 16 resolve_into_components 144 | 143 5 simple_step 145 | 144 5 simple_step 146 | 145 5 simple_step 147 | 146 5 simple_step 148 | 147 25 find_magnitude_given_components 149 | 148 26 find_angle_given_components 150 | 149 11 151 | 150 25 find_magnitude_given_components 152 | 151 26 find_angle_given_components 153 | 152 10 moment_sign_sense_relation 154 | 153 16 resolve_into_components 155 | 154 18 moment_sign_sense_relation~~rotation_sense_of_force 156 | 155 16 resolve_into_components 157 | 156 16 resolve_into_components 158 | 157 16 resolve_into_components 159 | 158 16 resolve_into_components 160 | 159 19 statics_problem_collinear 161 | 160 5 simple_step 162 | 161 16 resolve_into_components 163 | 162 16 resolve_into_components 164 | 163 16 resolve_into_components 165 | 164 16 resolve_into_components 166 | 165 16 resolve_into_components 167 | 166 16 resolve_into_components 168 | 167 5 simple_step 169 | 168 27 impose_solve_concurrent_equilibrium 170 | 169 27 impose_solve_concurrent_equilibrium 171 | 170 14 represent_interaction_contacting_body 172 | 171 4 represent_interaction_cord 173 | 172 4 represent_interaction_cord 174 | 173 4 represent_interaction_cord 175 | 174 4 represent_interaction_cord 176 | 175 3 represent_interaction_spring 177 | 176 3 represent_interaction_spring 178 | 177 3 represent_interaction_spring 179 | 178 3 represent_interaction_spring 180 | 179 11 181 | 180 11 182 | 181 11 183 | 182 19 statics_problem_collinear 184 | 183 28 judge_equilibrium_qualitatively 185 | 184 21 recognize_forces_concurrent 186 | 185 22 recognize_forces_collinear 187 | 186 23 count_independent_equations 188 | 187 29 recognize_knowns_vs_unknowns 189 | 188 29 recognize_knowns_vs_unknowns 190 | 189 29 recognize_knowns_vs_unknowns 191 | 190 29 recognize_knowns_vs_unknowns 192 | 191 28 judge_equilibrium_qualitatively 193 | 192 28 judge_equilibrium_qualitatively 194 | 193 5 simple_step 195 | 194 30 find_moment_arm~~rotation_sense_of_force 196 | 195 9 find_moment_arm 197 | 196 9 find_moment_arm 198 | 197 5 simple_step 199 | 198 31 interpret_equation 200 | 199 28 judge_equilibrium_qualitatively 201 | 200 28 judge_equilibrium_qualitatively 202 | 201 28 judge_equilibrium_qualitatively 203 | 202 28 judge_equilibrium_qualitatively 204 | 203 28 judge_equilibrium_qualitatively 205 | 204 31 interpret_equation 206 | 205 31 interpret_equation 207 | 206 31 interpret_equation 208 | 207 31 interpret_equation 209 | 208 31 interpret_equation 210 | 209 28 judge_equilibrium_qualitatively 211 | 210 28 judge_equilibrium_qualitatively 212 | 211 28 judge_equilibrium_qualitatively 213 | 212 28 judge_equilibrium_qualitatively 214 | 213 28 judge_equilibrium_qualitatively 215 | 214 28 judge_equilibrium_qualitatively 216 | 215 32 statics_problem_force_and_moment 217 | 216 32 statics_problem_force_and_moment 218 | 217 32 statics_problem_force_and_moment 219 | 218 32 statics_problem_force_and_moment 220 | 219 32 statics_problem_force_and_moment 221 | 220 32 statics_problem_force_and_moment 222 | 221 32 statics_problem_force_and_moment 223 | 222 32 statics_problem_force_and_moment 224 | 223 32 statics_problem_force_and_moment 225 | 224 32 statics_problem_force_and_moment 226 | 225 33 couple_represents_net_zero_force 227 | 226 33 couple_represents_net_zero_force 228 | 227 34 motion_dependence_on_force~~couple_represents_net_zero_force 229 | 228 34 motion_dependence_on_force~~couple_represents_net_zero_force 230 | 229 33 couple_represents_net_zero_force 231 | 230 33 couple_represents_net_zero_force 232 | 231 35 couple_represents_net_zero_force~~couple_related_to_forces 233 | 232 33 couple_represents_net_zero_force 234 | 233 33 couple_represents_net_zero_force 235 | 234 35 couple_represents_net_zero_force~~couple_related_to_forces 236 | 235 33 couple_represents_net_zero_force 237 | 236 36 couple_related_to_forces 238 | 237 36 couple_related_to_forces 239 | 238 33 couple_represents_net_zero_force 240 | 239 33 couple_represents_net_zero_force 241 | 240 36 couple_related_to_forces 242 | 241 36 couple_related_to_forces 243 | 242 35 couple_represents_net_zero_force~~couple_related_to_forces 244 | 243 35 couple_represents_net_zero_force~~couple_related_to_forces 245 | 244 33 couple_represents_net_zero_force 246 | 245 35 couple_represents_net_zero_force~~couple_related_to_forces 247 | 246 33 couple_represents_net_zero_force 248 | 247 33 couple_represents_net_zero_force 249 | 248 36 couple_related_to_forces 250 | 249 36 couple_related_to_forces 251 | 250 33 couple_represents_net_zero_force 252 | 251 36 couple_related_to_forces 253 | 252 36 couple_related_to_forces 254 | 253 33 couple_represents_net_zero_force 255 | 254 33 couple_represents_net_zero_force 256 | 255 36 couple_related_to_forces 257 | 256 36 couple_related_to_forces 258 | 257 37 equivalence_of_couples 259 | 258 37 equivalence_of_couples 260 | 259 33 couple_represents_net_zero_force 261 | 260 37 equivalence_of_couples 262 | 261 33 couple_represents_net_zero_force 263 | 262 33 couple_represents_net_zero_force 264 | 263 36 couple_related_to_forces 265 | 264 36 couple_related_to_forces 266 | 265 38 moment_about_point_due_to_couple 267 | 266 38 moment_about_point_due_to_couple 268 | 267 33 couple_represents_net_zero_force 269 | 268 33 couple_represents_net_zero_force 270 | 269 33 couple_represents_net_zero_force 271 | 270 33 couple_represents_net_zero_force 272 | 271 36 couple_related_to_forces 273 | 272 33 couple_represents_net_zero_force 274 | 273 36 couple_related_to_forces 275 | 274 33 couple_represents_net_zero_force 276 | 275 39 recognize_equivalence_from_motion 277 | 276 40 recognize_conditions_for_full_equivalence 278 | 277 39 recognize_equivalence_from_motion 279 | 278 39 recognize_equivalence_from_motion 280 | 279 41 recognize_conditions_for_full_equivalence~~recognize_equivalence_from_motion 281 | 280 39 recognize_equivalence_from_motion 282 | 281 39 recognize_equivalence_from_motion 283 | 282 42 recognize_equivalence_of_translated_forces 284 | 283 37 equivalence_of_couples 285 | 284 37 equivalence_of_couples 286 | 285 40 recognize_conditions_for_full_equivalence 287 | 286 42 recognize_equivalence_of_translated_forces 288 | 287 42 recognize_equivalence_of_translated_forces 289 | 288 42 recognize_equivalence_of_translated_forces 290 | 289 37 equivalence_of_couples 291 | 290 43 moving_force_perpendicular_to_line_of_action 292 | 291 43 moving_force_perpendicular_to_line_of_action 293 | 292 43 moving_force_perpendicular_to_line_of_action 294 | 293 43 moving_force_perpendicular_to_line_of_action 295 | 294 43 moving_force_perpendicular_to_line_of_action 296 | 295 43 moving_force_perpendicular_to_line_of_action 297 | 296 43 moving_force_perpendicular_to_line_of_action 298 | 297 43 moving_force_perpendicular_to_line_of_action 299 | 298 44 moving_force_to_general_point 300 | 299 44 moving_force_to_general_point 301 | 300 44 moving_force_to_general_point 302 | 301 44 moving_force_to_general_point 303 | 302 44 moving_force_to_general_point 304 | 303 44 moving_force_to_general_point 305 | 304 44 moving_force_to_general_point 306 | 305 44 moving_force_to_general_point 307 | 306 44 moving_force_to_general_point 308 | 307 44 moving_force_to_general_point 309 | 308 45 replace_forces_in_same_sense_with_one_force 310 | 309 45 replace_forces_in_same_sense_with_one_force 311 | 310 45 replace_forces_in_same_sense_with_one_force 312 | 311 46 replace_forces_in_opposite_sense_with_force_and_couple 313 | 312 46 replace_forces_in_opposite_sense_with_force_and_couple 314 | 313 46 replace_forces_in_opposite_sense_with_force_and_couple 315 | 314 46 replace_forces_in_opposite_sense_with_force_and_couple 316 | 315 46 replace_forces_in_opposite_sense_with_force_and_couple 317 | 316 46 replace_forces_in_opposite_sense_with_force_and_couple 318 | 317 46 replace_forces_in_opposite_sense_with_force_and_couple 319 | 318 46 replace_forces_in_opposite_sense_with_force_and_couple 320 | 319 47 replace_general_loads_with_force_and_couple 321 | 320 47 replace_general_loads_with_force_and_couple 322 | 321 47 replace_general_loads_with_force_and_couple 323 | 322 47 replace_general_loads_with_force_and_couple 324 | 323 47 replace_general_loads_with_force_and_couple 325 | 324 47 replace_general_loads_with_force_and_couple 326 | 325 47 replace_general_loads_with_force_and_couple 327 | 326 47 replace_general_loads_with_force_and_couple 328 | 327 47 replace_general_loads_with_force_and_couple 329 | 328 47 replace_general_loads_with_force_and_couple 330 | 329 47 replace_general_loads_with_force_and_couple 331 | 330 47 replace_general_loads_with_force_and_couple 332 | 331 47 replace_general_loads_with_force_and_couple 333 | 332 47 replace_general_loads_with_force_and_couple 334 | 333 47 replace_general_loads_with_force_and_couple 335 | 334 47 replace_general_loads_with_force_and_couple 336 | 335 47 replace_general_loads_with_force_and_couple 337 | 336 47 replace_general_loads_with_force_and_couple 338 | 337 47 replace_general_loads_with_force_and_couple 339 | 338 47 replace_general_loads_with_force_and_couple 340 | 339 47 replace_general_loads_with_force_and_couple 341 | 340 47 replace_general_loads_with_force_and_couple 342 | 341 42 recognize_equivalence_of_translated_forces 343 | 342 46 replace_forces_in_opposite_sense_with_force_and_couple 344 | 343 42 recognize_equivalence_of_translated_forces 345 | 344 46 replace_forces_in_opposite_sense_with_force_and_couple 346 | 345 40 recognize_conditions_for_full_equivalence 347 | 346 46 replace_forces_in_opposite_sense_with_force_and_couple 348 | 347 42 recognize_equivalence_of_translated_forces 349 | 348 47 replace_general_loads_with_force_and_couple 350 | 349 43 moving_force_perpendicular_to_line_of_action 351 | 350 47 replace_general_loads_with_force_and_couple 352 | 351 43 moving_force_perpendicular_to_line_of_action 353 | 352 47 replace_general_loads_with_force_and_couple 354 | 353 46 replace_forces_in_opposite_sense_with_force_and_couple 355 | 354 46 replace_forces_in_opposite_sense_with_force_and_couple 356 | 355 48 possible_interaction_for_nonuniform_contact 357 | 356 48 possible_interaction_for_nonuniform_contact 358 | 357 48 possible_interaction_for_nonuniform_contact 359 | 358 49 find_net_force_position_for_linear_distribution 360 | 359 50 find_net_force_for_linear_distribution 361 | 360 51 find_linear_force_per_length 362 | 361 51 find_linear_force_per_length 363 | 362 52 find_symmetry_plane 364 | 363 53 distinguish_fixed_pin_connections 365 | 364 53 distinguish_fixed_pin_connections 366 | 365 54 represent_interaction_fixed_connection 367 | 366 54 represent_interaction_fixed_connection 368 | 367 11 369 | 368 55 judge_force_sense_based_on_sign 370 | 369 56 relate_direction_normal_force_and_contact 371 | 370 57 judge_force_sense_based_on_sign~~relate_direction_normal_force_and_contact 372 | 371 55 judge_force_sense_based_on_sign 373 | 372 58 can_connection_be_modeled_in_2D 374 | 373 58 can_connection_be_modeled_in_2D 375 | 374 58 can_connection_be_modeled_in_2D 376 | 375 58 can_connection_be_modeled_in_2D 377 | 376 59 represent_forces_two-force_member 378 | 377 60 represent_interaction_roller_connection 379 | 378 56 relate_direction_normal_force_and_contact 380 | 379 60 represent_interaction_roller_connection 381 | 380 61 conditions_equal_force_pulley 382 | 381 54 represent_interaction_fixed_connection 383 | 382 62 represent_interaction_pin_connection 384 | 383 63 represent_interaction_pin_in_slot_connection 385 | 384 60 represent_interaction_roller_connection 386 | 385 62 represent_interaction_pin_connection 387 | 386 62 represent_interaction_pin_connection 388 | 387 63 represent_interaction_pin_in_slot_connection 389 | 388 64 represent_interaction_rigid_sliding_connection 390 | 389 62 represent_interaction_pin_connection 391 | 390 62 represent_interaction_pin_connection 392 | 391 63 represent_interaction_pin_in_slot_connection 393 | 392 64 represent_interaction_rigid_sliding_connection 394 | 393 62 represent_interaction_pin_connection 395 | 394 62 represent_interaction_pin_connection 396 | 395 63 represent_interaction_pin_in_slot_connection 397 | 396 64 represent_interaction_rigid_sliding_connection 398 | 397 62 represent_interaction_pin_connection 399 | 398 62 represent_interaction_pin_connection 400 | 399 63 represent_interaction_pin_in_slot_connection 401 | 400 64 represent_interaction_rigid_sliding_connection 402 | 401 62 represent_interaction_pin_connection 403 | 402 62 represent_interaction_pin_connection 404 | 403 60 represent_interaction_roller_connection 405 | 404 62 represent_interaction_pin_connection 406 | 405 62 represent_interaction_pin_connection 407 | 406 60 represent_interaction_roller_connection 408 | 407 62 represent_interaction_pin_connection 409 | 408 59 represent_forces_two-force_member 410 | 409 60 represent_interaction_roller_connection 411 | 410 62 represent_interaction_pin_connection 412 | 411 62 represent_interaction_pin_connection 413 | 412 4 represent_interaction_cord 414 | 413 4 represent_interaction_cord 415 | 414 60 represent_interaction_roller_connection 416 | 415 60 represent_interaction_roller_connection 417 | 416 54 represent_interaction_fixed_connection 418 | 417 54 represent_interaction_fixed_connection 419 | 418 11 420 | 419 11 421 | 420 11 422 | 421 11 423 | 422 11 424 | 423 11 425 | 424 11 426 | 425 11 427 | 426 11 428 | 427 11 429 | 428 11 430 | 429 11 431 | 430 11 432 | 431 11 433 | 432 11 434 | 433 11 435 | 434 11 436 | 435 11 437 | 436 11 438 | 437 11 439 | 438 11 440 | 439 11 441 | 440 11 442 | 441 11 443 | 442 11 444 | 443 11 445 | 444 11 446 | 445 11 447 | 446 11 448 | 447 11 449 | 448 11 450 | 449 11 451 | 450 11 452 | 451 11 453 | 452 11 454 | 453 11 455 | 454 11 456 | 455 11 457 | 456 11 458 | 457 11 459 | 458 11 460 | 459 11 461 | 460 11 462 | 461 11 463 | 462 11 464 | 463 11 465 | 464 11 466 | 465 11 467 | 466 11 468 | 467 11 469 | 468 11 470 | 469 11 471 | 470 11 472 | 471 11 473 | 472 11 474 | 473 11 475 | 474 11 476 | 475 11 477 | 476 11 478 | 477 11 479 | 478 11 480 | 479 11 481 | 480 11 482 | 481 11 483 | 482 11 484 | 483 11 485 | 484 11 486 | 485 11 487 | 486 11 488 | 487 11 489 | 488 65 find_moment_arm~~moment_sign_sense_relation~~rotation_sense_of_force 490 | 489 16 resolve_into_components 491 | 490 38 moment_about_point_due_to_couple 492 | 491 16 resolve_into_components 493 | 492 65 find_moment_arm~~moment_sign_sense_relation~~rotation_sense_of_force 494 | 493 16 resolve_into_components 495 | 494 28 judge_equilibrium_qualitatively 496 | 495 65 find_moment_arm~~moment_sign_sense_relation~~rotation_sense_of_force 497 | 496 16 resolve_into_components 498 | 497 28 judge_equilibrium_qualitatively 499 | 498 65 find_moment_arm~~moment_sign_sense_relation~~rotation_sense_of_force 500 | 499 16 resolve_into_components 501 | 500 28 judge_equilibrium_qualitatively 502 | 501 38 moment_about_point_due_to_couple 503 | 502 16 resolve_into_components 504 | 503 66 statics_problem_force_and_moment~~interpret_equation~~possible_interaction_for_nonuniform_contact 505 | 504 65 find_moment_arm~~moment_sign_sense_relation~~rotation_sense_of_force 506 | 505 16 resolve_into_components 507 | 506 66 statics_problem_force_and_moment~~interpret_equation~~possible_interaction_for_nonuniform_contact 508 | 507 65 find_moment_arm~~moment_sign_sense_relation~~rotation_sense_of_force 509 | 508 16 resolve_into_components 510 | 509 11 511 | 510 11 512 | 511 11 513 | 512 11 514 | 513 11 515 | 514 11 516 | 515 11 517 | 516 11 518 | 517 11 519 | 518 11 520 | 519 11 521 | 520 11 522 | 521 11 523 | 522 11 524 | 523 11 525 | 524 11 526 | 525 11 527 | 526 11 528 | 527 11 529 | 528 11 530 | 529 11 531 | 530 11 532 | 531 11 533 | 532 11 534 | 533 11 535 | 534 11 536 | 535 11 537 | 536 11 538 | 537 11 539 | 538 11 540 | 539 11 541 | 540 11 542 | 541 11 543 | 542 11 544 | 543 11 545 | 544 11 546 | 545 11 547 | 546 11 548 | 547 11 549 | 548 11 550 | 549 11 551 | 550 11 552 | 551 11 553 | 552 11 554 | 553 11 555 | 554 11 556 | 555 11 557 | 556 11 558 | 557 11 559 | 558 11 560 | 559 11 561 | 560 11 562 | 561 11 563 | 562 11 564 | 563 11 565 | 564 11 566 | 565 11 567 | 566 11 568 | 567 11 569 | 568 11 570 | 569 11 571 | 570 11 572 | 571 11 573 | 572 11 574 | 573 11 575 | 574 67 identify_interaction~~represent_interaction_contacting_body~~represent_interaction_cord 576 | 575 68 identify_two-force_member 577 | 576 68 identify_two-force_member 578 | 577 68 identify_two-force_member 579 | 578 68 identify_two-force_member 580 | 579 68 identify_two-force_member 581 | 580 68 identify_two-force_member 582 | 581 69 identify_interaction~~represent_interaction_pin_connection~~represent_forces_two-force_member 583 | 582 11 584 | 583 11 585 | 584 11 586 | 585 11 587 | 586 11 588 | 587 11 589 | 588 11 590 | 589 11 591 | 590 11 592 | 591 11 593 | 592 11 594 | 593 11 595 | 594 70 identify_interaction~~Newtons_third_law 596 | 595 70 identify_interaction~~Newtons_third_law 597 | 596 1 identify_interaction 598 | 597 1 identify_interaction 599 | 598 71 identify_interaction~~represent_interaction_cord 600 | 599 71 identify_interaction~~represent_interaction_cord 601 | 600 11 602 | 601 11 603 | 602 11 604 | 603 11 605 | 604 11 606 | 605 11 607 | 606 11 608 | 607 11 609 | 608 11 610 | 609 11 611 | 610 11 612 | 611 11 613 | 612 11 614 | 613 11 615 | 614 11 616 | 615 11 617 | 616 11 618 | 617 11 619 | 618 11 620 | 619 11 621 | 620 11 622 | 621 11 623 | 622 11 624 | 623 11 625 | 624 11 626 | 625 72 identify_enabling_unknown~~determine_subsystem_is_solvable 627 | 626 73 identify_equation_isolates_specific_unknown 628 | 627 74 identify_enabling_unknown 629 | 628 5 simple_step 630 | 629 75 identify_equation_isolates_specific_unknown~~anticipate_solved_variables 631 | 630 5 simple_step 632 | 631 11 633 | 632 11 634 | 633 11 635 | 634 11 636 | 635 11 637 | 636 11 638 | 637 11 639 | 638 11 640 | 639 11 641 | 640 11 642 | 641 11 643 | 642 11 644 | 643 11 645 | 644 11 646 | 645 11 647 | 646 11 648 | 647 11 649 | 648 11 650 | 649 11 651 | 650 11 652 | 651 11 653 | 652 11 654 | 653 11 655 | 654 11 656 | 655 11 657 | 656 11 658 | 657 11 659 | 658 11 660 | 659 11 661 | 660 11 662 | 661 11 663 | 662 11 664 | 663 11 665 | 664 11 666 | 665 11 667 | 666 11 668 | 667 11 669 | 668 11 670 | 669 11 671 | 670 11 672 | 671 11 673 | 672 11 674 | 673 11 675 | 674 11 676 | 675 11 677 | 676 11 678 | 677 11 679 | 678 11 680 | 679 11 681 | 680 11 682 | 681 11 683 | 682 11 684 | 683 11 685 | 684 11 686 | 685 11 687 | 686 11 688 | 687 11 689 | 688 11 690 | 689 11 691 | 690 11 692 | 691 11 693 | 692 11 694 | 693 11 695 | 694 11 696 | 695 11 697 | 696 11 698 | 697 11 699 | 698 11 700 | 699 11 701 | 700 11 702 | 701 11 703 | 702 11 704 | 703 11 705 | 704 11 706 | 705 11 707 | 706 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 708 | 707 77 Newtons_third_law~~tension_vs_compression_given_force_senses~~judge_force_sense_based_on_sign 709 | 708 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 710 | 709 77 Newtons_third_law~~tension_vs_compression_given_force_senses~~judge_force_sense_based_on_sign 711 | 710 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 712 | 711 78 force_at_joint_implied_by_previous_analysis 713 | 712 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 714 | 713 79 force_at_joint_implied_by_previous_analysis~~sense_if_assuming_tension 715 | 714 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 716 | 715 79 force_at_joint_implied_by_previous_analysis~~sense_if_assuming_tension 717 | 716 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 718 | 717 79 force_at_joint_implied_by_previous_analysis~~sense_if_assuming_tension 719 | 718 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 720 | 719 79 force_at_joint_implied_by_previous_analysis~~sense_if_assuming_tension 721 | 720 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 722 | 721 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 723 | 722 79 force_at_joint_implied_by_previous_analysis~~sense_if_assuming_tension 724 | 723 11 725 | 724 11 726 | 725 11 727 | 726 11 728 | 727 11 729 | 728 11 730 | 729 11 731 | 730 11 732 | 731 11 733 | 732 11 734 | 733 80 sense_if_assuming_tension~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 735 | 734 80 sense_if_assuming_tension~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 736 | 735 80 sense_if_assuming_tension~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 737 | 736 81 determine_subsystem_is_solvable~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 738 | 737 81 determine_subsystem_is_solvable~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 739 | 738 81 determine_subsystem_is_solvable~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 740 | 739 81 determine_subsystem_is_solvable~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 741 | 740 81 determine_subsystem_is_solvable~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 742 | 741 1 identify_interaction 743 | 742 1 identify_interaction 744 | 743 1 identify_interaction 745 | 744 1 identify_interaction 746 | 745 1 identify_interaction 747 | 746 1 identify_interaction 748 | 747 14 represent_interaction_contacting_body 749 | 748 1 identify_interaction 750 | 749 14 represent_interaction_contacting_body 751 | 750 14 represent_interaction_contacting_body 752 | 751 4 represent_interaction_cord 753 | 752 4 represent_interaction_cord 754 | 753 4 represent_interaction_cord 755 | 754 3 represent_interaction_spring 756 | 755 15 identify_interaction~~body_draw_force_on 757 | 756 3 represent_interaction_spring 758 | 757 3 represent_interaction_spring 759 | 758 3 represent_interaction_spring 760 | 759 15 identify_interaction~~body_draw_force_on 761 | 760 14 represent_interaction_contacting_body 762 | 761 14 represent_interaction_contacting_body 763 | 762 14 represent_interaction_contacting_body 764 | 763 1 identify_interaction 765 | 764 15 identify_interaction~~body_draw_force_on 766 | 765 4 represent_interaction_cord 767 | 766 4 represent_interaction_cord 768 | 767 4 represent_interaction_cord 769 | 768 15 identify_interaction~~body_draw_force_on 770 | 769 3 represent_interaction_spring 771 | 770 3 represent_interaction_spring 772 | 771 3 represent_interaction_spring 773 | 772 82 determine_moment 774 | 773 26 find_angle_given_components 775 | 774 9 find_moment_arm 776 | 775 31 interpret_equation 777 | 776 31 interpret_equation 778 | 777 33 couple_represents_net_zero_force 779 | 778 33 couple_represents_net_zero_force 780 | 779 52 find_symmetry_plane 781 | 780 52 find_symmetry_plane 782 | 781 83 identify_forces_in_symmetry_plane 783 | 782 83 identify_forces_in_symmetry_plane 784 | 783 83 identify_forces_in_symmetry_plane 785 | 784 83 identify_forces_in_symmetry_plane 786 | 785 52 find_symmetry_plane 787 | 786 83 identify_forces_in_symmetry_plane 788 | 787 52 find_symmetry_plane 789 | 788 52 find_symmetry_plane 790 | 789 83 identify_forces_in_symmetry_plane 791 | 790 52 find_symmetry_plane 792 | 791 84 find_uniform_pressure_under_weight 793 | 792 85 find_uniform_force_per_length 794 | 793 11 795 | 794 11 796 | 795 11 797 | 796 11 798 | 797 11 799 | 798 11 800 | 799 11 801 | 800 11 802 | 801 11 803 | 802 11 804 | 803 11 805 | 804 11 806 | 805 11 807 | 806 11 808 | 807 11 809 | 808 11 810 | 809 11 811 | 810 11 812 | 811 11 813 | 812 11 814 | 813 11 815 | 814 11 816 | 815 11 817 | 816 11 818 | 817 11 819 | 818 11 820 | 819 11 821 | 820 11 822 | 821 11 823 | 822 11 824 | 823 11 825 | 824 11 826 | 825 11 827 | 826 11 828 | 827 11 829 | 828 11 830 | 829 11 831 | 830 11 832 | 831 11 833 | 832 11 834 | 833 11 835 | 834 11 836 | 835 11 837 | 836 11 838 | 837 11 839 | 838 11 840 | 839 11 841 | 840 11 842 | 841 11 843 | 842 11 844 | 843 11 845 | 844 11 846 | 845 11 847 | 846 11 848 | 847 11 849 | 848 11 850 | 849 11 851 | 850 11 852 | 851 11 853 | 852 11 854 | 853 11 855 | 854 11 856 | 855 11 857 | 856 11 858 | 857 11 859 | 858 11 860 | 859 11 861 | 860 11 862 | 861 11 863 | 862 11 864 | 863 11 865 | 864 11 866 | 865 11 867 | 866 11 868 | 867 11 869 | 868 11 870 | 869 11 871 | 870 11 872 | 871 11 873 | 872 11 874 | 873 11 875 | 874 11 876 | 875 11 877 | 876 11 878 | 877 11 879 | 878 11 880 | 879 11 881 | 880 11 882 | 881 11 883 | 882 11 884 | 883 11 885 | 884 11 886 | 885 11 887 | 886 11 888 | 887 11 889 | 888 11 890 | 889 11 891 | 890 11 892 | 891 11 893 | 892 11 894 | 893 11 895 | 894 11 896 | 895 11 897 | 896 11 898 | 897 11 899 | 898 11 900 | 899 11 901 | 900 11 902 | 901 11 903 | 902 11 904 | 903 11 905 | 904 11 906 | 905 11 907 | 906 11 908 | 907 11 909 | 908 11 910 | 909 11 911 | 910 11 912 | 911 11 913 | 912 11 914 | 913 11 915 | 914 11 916 | 915 11 917 | 916 11 918 | 917 11 919 | 918 11 920 | 919 11 921 | 920 11 922 | 921 11 923 | 922 11 924 | 923 11 925 | 924 11 926 | 925 11 927 | 926 11 928 | 927 11 929 | 928 11 930 | 929 11 931 | 930 11 932 | 931 11 933 | 932 11 934 | 933 11 935 | 934 11 936 | 935 11 937 | 936 11 938 | 937 11 939 | 938 11 940 | 939 11 941 | 940 11 942 | 941 11 943 | 942 11 944 | 943 11 945 | 944 11 946 | 945 11 947 | 946 11 948 | 947 11 949 | 948 11 950 | 949 11 951 | 950 11 952 | 951 11 953 | 952 11 954 | 953 11 955 | 954 14 represent_interaction_contacting_body 956 | 955 14 represent_interaction_contacting_body 957 | 956 3 represent_interaction_spring 958 | 957 11 959 | 958 11 960 | 959 11 961 | 960 11 962 | 961 11 963 | 962 11 964 | 963 11 965 | 964 11 966 | 965 11 967 | 966 11 968 | 967 11 969 | 968 11 970 | 969 11 971 | 970 11 972 | 971 11 973 | 972 11 974 | 973 11 975 | 974 11 976 | 975 11 977 | 976 11 978 | 977 86 polar_moment_of_area 979 | 978 87 second_moment_of_area_parallel_axis_theorem 980 | 979 88 second_moment_of_area_tabulated_shape 981 | 980 89 relative_magnitudes_moment_of_area 982 | 981 90 find_pressure_under_linear_distribution 983 | 982 51 find_linear_force_per_length 984 | 983 51 find_linear_force_per_length 985 | 984 16 resolve_into_components 986 | 985 91 choose_moment_method 987 | 986 91 choose_moment_method 988 | 987 91 choose_moment_method 989 | 988 32 statics_problem_force_and_moment 990 | 989 32 statics_problem_force_and_moment 991 | 990 32 statics_problem_force_and_moment 992 | 991 47 replace_general_loads_with_force_and_couple 993 | 992 47 replace_general_loads_with_force_and_couple 994 | 993 47 replace_general_loads_with_force_and_couple 995 | 994 47 replace_general_loads_with_force_and_couple 996 | 995 92 replace_general_loads_with_single_force 997 | 996 92 replace_general_loads_with_single_force 998 | 997 92 replace_general_loads_with_single_force 999 | 998 85 find_uniform_force_per_length 1000 | 999 84 find_uniform_pressure_under_weight 1001 | 1000 90 find_pressure_under_linear_distribution 1002 | 1001 51 find_linear_force_per_length 1003 | 1002 51 find_linear_force_per_length 1004 | 1003 85 find_uniform_force_per_length 1005 | 1004 51 find_linear_force_per_length 1006 | 1005 49 find_net_force_position_for_linear_distribution 1007 | 1006 50 find_net_force_for_linear_distribution 1008 | 1007 50 find_net_force_for_linear_distribution 1009 | 1008 49 find_net_force_position_for_linear_distribution 1010 | 1009 93 find_net_force_for_uniform_distribution 1011 | 1010 94 find_net_force_position_for_uniform_distribution 1012 | 1011 93 find_net_force_for_uniform_distribution 1013 | 1012 94 find_net_force_position_for_uniform_distribution 1014 | 1013 50 find_net_force_for_linear_distribution 1015 | 1014 49 find_net_force_position_for_linear_distribution 1016 | 1015 48 possible_interaction_for_nonuniform_contact 1017 | 1016 48 possible_interaction_for_nonuniform_contact 1018 | 1017 48 possible_interaction_for_nonuniform_contact 1019 | 1018 48 possible_interaction_for_nonuniform_contact 1020 | 1019 48 possible_interaction_for_nonuniform_contact 1021 | 1020 11 1022 | 1021 11 1023 | 1022 11 1024 | 1023 11 1025 | 1024 11 1026 | 1025 11 1027 | 1026 11 1028 | 1027 11 1029 | 1028 11 1030 | 1029 11 1031 | 1030 11 1032 | 1031 11 1033 | 1032 11 1034 | 1033 11 1035 | 1034 11 1036 | 1035 11 1037 | 1036 11 1038 | 1037 11 1039 | 1038 11 1040 | 1039 11 1041 | 1040 11 1042 | 1041 11 1043 | 1042 11 1044 | 1043 11 1045 | 1044 11 1046 | 1045 11 1047 | 1046 11 1048 | 1047 11 1049 | 1048 11 1050 | 1049 11 1051 | 1050 11 1052 | 1051 11 1053 | 1052 11 1054 | 1053 11 1055 | 1054 11 1056 | 1055 11 1057 | 1056 11 1058 | 1057 11 1059 | 1058 11 1060 | 1059 11 1061 | 1060 11 1062 | 1061 11 1063 | 1062 11 1064 | 1063 11 1065 | 1064 11 1066 | 1065 11 1067 | 1066 11 1068 | 1067 11 1069 | 1068 11 1070 | 1069 11 1071 | 1070 11 1072 | 1071 11 1073 | 1072 11 1074 | 1073 11 1075 | 1074 11 1076 | 1075 11 1077 | 1076 11 1078 | 1077 11 1079 | 1078 11 1080 | 1079 11 1081 | 1080 11 1082 | 1081 11 1083 | 1082 11 1084 | 1083 11 1085 | 1084 11 1086 | 1085 11 1087 | 1086 11 1088 | 1087 11 1089 | 1088 11 1090 | 1089 11 1091 | 1090 11 1092 | 1091 11 1093 | 1092 11 1094 | 1093 11 1095 | 1094 11 1096 | 1095 11 1097 | 1096 11 1098 | 1097 11 1099 | 1098 11 1100 | 1099 11 1101 | 1100 11 1102 | 1101 11 1103 | 1102 11 1104 | 1103 11 1105 | 1104 11 1106 | 1105 11 1107 | 1106 11 1108 | 1107 11 1109 | 1108 11 1110 | 1109 11 1111 | 1110 11 1112 | 1111 11 1113 | 1112 11 1114 | 1113 11 1115 | 1114 11 1116 | 1115 11 1117 | 1116 11 1118 | 1117 11 1119 | 1118 11 1120 | 1119 11 1121 | 1120 11 1122 | 1121 16 resolve_into_components 1123 | 1122 16 resolve_into_components 1124 | 1123 16 resolve_into_components 1125 | 1124 16 resolve_into_components 1126 | 1125 25 find_magnitude_given_components 1127 | 1126 26 find_angle_given_components 1128 | 1127 18 moment_sign_sense_relation~~rotation_sense_of_force 1129 | 1128 18 moment_sign_sense_relation~~rotation_sense_of_force 1130 | 1129 9 find_moment_arm 1131 | 1130 9 find_moment_arm 1132 | 1131 82 determine_moment 1133 | 1132 82 determine_moment 1134 | 1133 55 judge_force_sense_based_on_sign 1135 | 1134 18 moment_sign_sense_relation~~rotation_sense_of_force 1136 | 1135 9 find_moment_arm 1137 | 1136 52 find_symmetry_plane 1138 | 1137 52 find_symmetry_plane 1139 | 1138 52 find_symmetry_plane 1140 | 1139 52 find_symmetry_plane 1141 | 1140 52 find_symmetry_plane 1142 | 1141 52 find_symmetry_plane 1143 | 1142 52 find_symmetry_plane 1144 | 1143 52 find_symmetry_plane 1145 | 1144 52 find_symmetry_plane 1146 | 1145 52 find_symmetry_plane 1147 | 1146 52 find_symmetry_plane 1148 | 1147 52 find_symmetry_plane 1149 | 1148 5 simple_step 1150 | 1149 95 identify_centroid 1151 | 1150 5 simple_step 1152 | 1151 95 identify_centroid 1153 | 1152 5 simple_step 1154 | 1153 95 identify_centroid 1155 | 1154 5 simple_step 1156 | 1155 96 centroid_of_composite_area 1157 | 1156 5 simple_step 1158 | 1157 5 simple_step 1159 | 1158 52 find_symmetry_plane 1160 | 1159 52 find_symmetry_plane 1161 | 1160 52 find_symmetry_plane 1162 | 1161 96 centroid_of_composite_area 1163 | 1162 52 find_symmetry_plane 1164 | 1163 96 centroid_of_composite_area 1165 | 1164 52 find_symmetry_plane 1166 | 1165 96 centroid_of_composite_area 1167 | 1166 52 find_symmetry_plane 1168 | 1167 11 1169 | 1168 11 1170 | 1169 11 1171 | 1170 11 1172 | 1171 11 1173 | 1172 97 mass_moment_of_inertia_parallel_axis_theorem 1174 | 1173 98 relative_magnitudes_mass_moment_of_inertia 1175 | 1174 96 centroid_of_composite_area 1176 | 1175 96 centroid_of_composite_area 1177 | 1176 5 simple_step 1178 | 1177 96 centroid_of_composite_area 1179 | 1178 32 statics_problem_force_and_moment 1180 | 1179 32 statics_problem_force_and_moment 1181 | 1180 11 1182 | 1181 11 1183 | 1182 11 1184 | 1183 11 1185 | 1184 11 1186 | 1185 11 1187 | 1186 51 find_linear_force_per_length 1188 | 1187 92 replace_general_loads_with_single_force 1189 | 1188 5 simple_step 1190 | 1189 11 1191 | 1190 11 1192 | 1191 11 1193 | 1192 11 1194 | 1193 11 1195 | 1194 11 1196 | 1195 11 1197 | 1196 11 1198 | 1197 11 1199 | 1198 11 1200 | 1199 11 1201 | 1200 11 1202 | 1201 96 centroid_of_composite_area 1203 | 1202 11 1204 | 1203 11 1205 | 1204 11 1206 | 1205 11 1207 | 1206 11 1208 | 1207 11 1209 | 1208 11 1210 | 1209 11 1211 | 1210 11 1212 | 1211 11 1213 | 1212 11 1214 | 1213 5 simple_step 1215 | 1214 28 judge_equilibrium_qualitatively 1216 | 1215 11 1217 | 1216 11 1218 | 1217 11 1219 | 1218 96 centroid_of_composite_area 1220 | 1219 11 1221 | 1220 11 1222 | 1221 11 1223 | 1222 11 1224 | 1223 11 1225 | -------------------------------------------------------------------------------- /data/statics11/sid_sname: -------------------------------------------------------------------------------- 1 | 11 ' ' 2 | 4 represent_interaction_cord 3 | 55 judge_force_sense_based_on_sign 4 | 65 find_moment_arm~~moment_sign_sense_relation~~rotation_sense_of_force 5 | 91 choose_moment_method 6 | 61 conditions_equal_force_pulley 7 | 29 recognize_knowns_vs_unknowns 8 | 80 sense_if_assuming_tension~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 9 | 53 distinguish_fixed_pin_connections 10 | 54 represent_interaction_fixed_connection 11 | 21 recognize_forces_concurrent 12 | 41 recognize_conditions_for_full_equivalence~~recognize_equivalence_from_motion 13 | 69 identify_interaction~~represent_interaction_pin_connection~~represent_forces_two-force_member 14 | 33 couple_represents_net_zero_force 15 | 67 identify_interaction~~represent_interaction_contacting_body~~represent_interaction_cord 16 | 26 find_angle_given_components 17 | 18 moment_sign_sense_relation~~rotation_sense_of_force 18 | 27 impose_solve_concurrent_equilibrium 19 | 96 centroid_of_composite_area 20 | 77 Newtons_third_law~~tension_vs_compression_given_force_senses~~judge_force_sense_based_on_sign 21 | 62 represent_interaction_pin_connection 22 | 98 relative_magnitudes_mass_moment_of_inertia 23 | 51 find_linear_force_per_length 24 | 8 rotation_sense_of_force 25 | 66 statics_problem_force_and_moment~~interpret_equation~~possible_interaction_for_nonuniform_contact 26 | 78 force_at_joint_implied_by_previous_analysis 27 | 56 relate_direction_normal_force_and_contact 28 | 5 simple_step 29 | 81 determine_subsystem_is_solvable~~identify_external_load_points_on_section~~identify_internal_load_points_on_section 30 | 14 represent_interaction_contacting_body 31 | 36 couple_related_to_forces 32 | 86 polar_moment_of_area 33 | 82 determine_moment 34 | 24 count_unknowns 35 | 19 statics_problem_collinear 36 | 72 identify_enabling_unknown~~determine_subsystem_is_solvable 37 | 73 identify_equation_isolates_specific_unknown 38 | 90 find_pressure_under_linear_distribution 39 | 39 recognize_equivalence_from_motion 40 | 6 distinguish_rotation_translation 41 | 7 motion_dependence_on_force 42 | 2 gravitational_forces 43 | 13 body_draw_force_on 44 | 47 replace_general_loads_with_force_and_couple 45 | 17 is_net_moment_sense_obvious 46 | 83 identify_forces_in_symmetry_plane 47 | 1 identify_interaction 48 | 52 find_symmetry_plane 49 | 20 choose_subsystem 50 | 15 identify_interaction~~body_draw_force_on 51 | 68 identify_two-force_member 52 | 25 find_magnitude_given_components 53 | 12 rotation_sense_of_force~~motion_dependence_on_force 54 | 93 find_net_force_for_uniform_distribution 55 | 59 represent_forces_two-force_member 56 | 71 identify_interaction~~represent_interaction_cord 57 | 42 recognize_equivalence_of_translated_forces 58 | 70 identify_interaction~~Newtons_third_law 59 | 23 count_independent_equations 60 | 10 moment_sign_sense_relation 61 | 74 identify_enabling_unknown 62 | 40 recognize_conditions_for_full_equivalence 63 | 16 resolve_into_components 64 | 45 replace_forces_in_same_sense_with_one_force 65 | 85 find_uniform_force_per_length 66 | 89 relative_magnitudes_moment_of_area 67 | 94 find_net_force_position_for_uniform_distribution 68 | 97 mass_moment_of_inertia_parallel_axis_theorem 69 | 63 represent_interaction_pin_in_slot_connection 70 | 76 anticipate_solved_variables~~determine_joint_is_solvable~~recognize_variable_solvable_from_subsystem 71 | 30 find_moment_arm~~rotation_sense_of_force 72 | 46 replace_forces_in_opposite_sense_with_force_and_couple 73 | 48 possible_interaction_for_nonuniform_contact 74 | 88 second_moment_of_area_tabulated_shape 75 | 35 couple_represents_net_zero_force~~couple_related_to_forces 76 | 50 find_net_force_for_linear_distribution 77 | 75 identify_equation_isolates_specific_unknown~~anticipate_solved_variables 78 | 95 identify_centroid 79 | 37 equivalence_of_couples 80 | 34 motion_dependence_on_force~~couple_represents_net_zero_force 81 | 79 force_at_joint_implied_by_previous_analysis~~sense_if_assuming_tension 82 | 31 interpret_equation 83 | 64 represent_interaction_rigid_sliding_connection 84 | 43 moving_force_perpendicular_to_line_of_action 85 | 32 statics_problem_force_and_moment 86 | 3 represent_interaction_spring 87 | 49 find_net_force_position_for_linear_distribution 88 | 9 find_moment_arm 89 | 28 judge_equilibrium_qualitatively 90 | 92 replace_general_loads_with_single_force 91 | 60 represent_interaction_roller_connection 92 | 87 second_moment_of_area_parallel_axis_theorem 93 | 84 find_uniform_pressure_under_weight 94 | 22 recognize_forces_collinear 95 | 58 can_connection_be_modeled_in_2D 96 | 44 moving_force_to_general_point 97 | 57 judge_force_sense_based_on_sign~~relate_direction_normal_force_and_contact 98 | 38 moment_about_point_due_to_couple 99 | -------------------------------------------------------------------------------- /data_util.py: -------------------------------------------------------------------------------- 1 | from typing import List 2 | data_folder = './data' 3 | 4 | # get the csv file name 5 | # dataset is in ['assist0910', 'assist15', 'statics11', 'synthetic-5'] 6 | # if dataset=='synthetic-5', version should be specified from 0 to 19 7 | def get_csv_fname(train: bool, dataset: str, version: int=None) -> str: 8 | fname = 'train.csv' if train else 'test.csv' 9 | if dataset=='synthetic-5': fname = 'naive_c5_q50_s4000_v%d_%s' % (version, fname) 10 | return '%s/%s/%s' % (data_folder, dataset, fname) 11 | 12 | def get_num_skills(dataset: str) -> int: 13 | if dataset=='assist0910': return 110 14 | elif dataset=='assist15': return 100 15 | elif dataset=='statics11': return 1223 16 | elif dataset=='synthetic-5': return 50 17 | else: raise NotImplementedError('Invalid Dataset') 18 | 19 | # fname: csv file name for a dataset 20 | # minimum_seq_len: minimum sequence length required. default to 2 21 | def read_csv(fname: str, minimum_seq_len: int=2) -> (List[int], List[List[int]], List[List[int]]): 22 | with open(fname, 'r') as f: 23 | data = f.read() 24 | 25 | data = data.split('\n') 26 | 27 | # remove all white spaces at both ends 28 | while data[0] == '': 29 | data = data[1:] 30 | 31 | while data[-1] == '': 32 | data = data[:-1] 33 | 34 | seq_len = [] 35 | skill_ids = [] 36 | correctness = [] 37 | i = 0 38 | while i < len(data): 39 | line = data[i] 40 | if i % 3 == 0: # seq_len 41 | if int(line) >= minimum_seq_len: seq_len.append(int(line)) 42 | else: 43 | i += 3 44 | continue 45 | elif i % 3 == 1: # skill ids 46 | line = line.split(',') 47 | skill_ids.append([int(e)-1 for e in line if e != '']) # -1 since id starts from 1 48 | else: # correctness 49 | line = line.split(',') 50 | correctness.append([int(e) for e in line if e != '']) 51 | 52 | # for integrity, check the lengths 53 | assert seq_len[-1] == len(skill_ids[-1]) == len(correctness[-1]) 54 | 55 | i+= 1 56 | 57 | return seq_len, skill_ids, correctness -------------------------------------------------------------------------------- /dataset.py: -------------------------------------------------------------------------------- 1 | from typing import List, Tuple 2 | import torch 3 | from torch.utils.data import Dataset 4 | import numpy as np 5 | class KQNDataset(Dataset): 6 | def __init__(self, seq_len: List[int], skill_ids: List[List[int]], correctness: List[List[int]], n_skills: int): 7 | assert len(seq_len) == len(skill_ids) == len(correctness) 8 | self.seq_len = seq_len 9 | self.skill_ids = skill_ids 10 | self.correctness = correctness 11 | self.n_skills = n_skills 12 | self.two_eye = np.eye(2*n_skills) # helper variable for making a one-hot vector for rnn input 13 | self.eye = np.eye(n_skills) # helper variable for making a one-hot vector for skills 14 | 15 | def __len__(self): 16 | return len(self.seq_len) 17 | 18 | def __getitem__(self, index: int): 19 | seq_len = self.seq_len[index] 20 | skill_ids = np.array(self.skill_ids[index], dtype=np.int32) # (seq_len,) 21 | correctness = np.array(self.correctness[index], dtype=np.int32) # (seq_len,) 22 | 23 | in_data = self.two_eye[correctness[:-1]*self.n_skills+skill_ids[:-1]] # (seq_len-1, 2*self.n_skills) 24 | next_skills = self.eye[skill_ids[1:]] # (seq_len-1, self.n_skills) 25 | correctness = correctness[1:] # (seq_len-1,) 26 | return torch.FloatTensor(in_data), torch.LongTensor([seq_len-1]), torch.FloatTensor(next_skills), torch.FloatTensor(correctness) 27 | 28 | class PadSequence(object): 29 | def __call__(self, batch: List[Tuple[torch.Tensor]]): # [(seq_len, 2*n_skills), (1,), (seq_len, n_skills), (seq_len,)] x batch_size 30 | # Sort the batch in the descending order 31 | batch = sorted(batch, key=lambda x: x[0].shape[0], reverse=True) 32 | 33 | # Pad each data 34 | in_data = torch.nn.utils.rnn.pad_sequence([x[0] for x in batch], batch_first=True) # (batch_size, max_seq_len, 2*n_skills) 35 | next_skills = torch.nn.utils.rnn.pad_sequence([x[2] for x in batch], batch_first=True) # (batch_size, max_seq_len, n_skills) 36 | correctness = torch.nn.utils.rnn.pad_sequence([x[3] for x in batch], batch_first=True) # (batch_size, max_seq_len) 37 | 38 | # seq_len 39 | seq_len = torch.cat([x[1] for x in batch]) # (batch_size,) 40 | 41 | return in_data, seq_len, next_skills, correctness 42 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | from data_util import get_csv_fname, read_csv, get_num_skills 2 | from train_util import train 3 | from dataset import KQNDataset, PadSequence 4 | from model import KQN 5 | from torch.utils.data import DataLoader 6 | from argparse import ArgumentParser 7 | from tensorboardX import SummaryWriter 8 | from torch.optim import Adam 9 | import torch 10 | import os 11 | 12 | def kqn_main(): 13 | # argument parser 14 | # default hyperparams not set to optimal 15 | # dropout not used in the implementation 16 | parser = ArgumentParser() 17 | parser.add_argument('--dataset', type=str, default='assist0910', help='choose from assist0910, assist15, statics11, and synthetic-5') 18 | parser.add_argument('--version', type=int, default=None, help='if dataset==synthetic-5, choose from 0 to 19') 19 | parser.add_argument('--min_seq_len', type=int, default=2, help='minimum threshold of number of time steps to discard student problem-solving records.') 20 | parser.add_argument('--rnn', type=str, default='lstm', help='rnn type. one of lstm and gru.') 21 | parser.add_argument('--hidden', type=int, default=128, help='dimensionality of skill and knowledge state vectors') 22 | parser.add_argument('--rnn_hidden', type=int, default=128, help='number of hidden units for knowledge state encoder rnn') 23 | parser.add_argument('--mlp_hidden', type=int, default=128, help='number of hidden units for skill encoder mlp') 24 | parser.add_argument('--layer', type=int, default=1, help='number of rnn layers') 25 | parser.add_argument('--gpu', type=int, default=-1, help='which gpu to use. default to -1: not using any') 26 | parser.add_argument('--lr', type=float, default=0.001, help='learning rate for adam') 27 | parser.add_argument('--batch', type=int, default=100, help='batch size') 28 | parser.add_argument('--ckpt', type=str, default='./ckpt', help='default checkpoint path') 29 | parser.add_argument('--epoch', type=int, default=100, help='number of epochs') 30 | parser.add_argument('--optim', type=str, default='adam', help='optimizer to use. currently only adam is implemented.') 31 | 32 | args = parser.parse_args() 33 | dataset = args.dataset 34 | version = args.version 35 | min_seq_len = args.min_seq_len 36 | rnn_type = args.rnn 37 | n_hidden = args.hidden 38 | n_rnn_hidden = args.rnn_hidden 39 | n_mlp_hidden = args.mlp_hidden 40 | n_rnn_layers = args.layer 41 | gpu = args.gpu 42 | lr = args.lr 43 | batch_size = args.batch 44 | ckpt_path = args.ckpt 45 | n_epochs = args.epoch 46 | opt_str = args.optim 47 | 48 | if ckpt_path is not None: 49 | if not(os.path.exists(ckpt_path)): 50 | os.makedirs(ckpt_path) 51 | 52 | if gpu == -1: 53 | DEVICE = 'cpu' 54 | elif torch.cuda.is_available(): 55 | DEVICE = gpu 56 | 57 | # load data 58 | n_skills = get_num_skills(dataset) 59 | fnames = {'train': get_csv_fname(True, dataset, version), 'eval': get_csv_fname(False, dataset, version)} 60 | datasets = {'train': read_csv(fnames['train'], min_seq_len), 'eval': read_csv(fnames['eval'])} 61 | datasets = {'train': KQNDataset(datasets['train'][0], datasets['train'][1], datasets['train'][2], n_skills), 62 | 'eval': KQNDataset(datasets['eval'][0], datasets['eval'][1], datasets['eval'][2], n_skills)} 63 | dataloaders = {'train': DataLoader(datasets['train'], batch_size=batch_size, drop_last=False, collate_fn=PadSequence(), shuffle=True), 64 | 'eval': DataLoader(datasets['eval'], batch_size=batch_size, drop_last=False, collate_fn=PadSequence())} 65 | 66 | model = KQN(n_skills, n_hidden, n_rnn_hidden, n_mlp_hidden, n_rnn_layers, rnn_type, DEVICE).to(DEVICE) 67 | 68 | if opt_str == 'adam': opt_class = Adam 69 | 70 | optimizer = opt_class(model.parameters(), lr=lr) 71 | writer = SummaryWriter('./logs') 72 | 73 | train(model, dataloaders, optimizer, writer, n_epochs, ckpt_path, DEVICE) 74 | 75 | if __name__=='__main__': 76 | kqn_main() -------------------------------------------------------------------------------- /model.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.nn.functional as F 4 | from torch.nn.utils.rnn import pack_padded_sequence, pad_packed_sequence 5 | from torch.autograd import Variable 6 | from sklearn.metrics import roc_curve, auc 7 | 8 | class KQN(nn.Module): 9 | # n_skills: number of skills in dataset 10 | # n_hidden: dimensionality of skill and knowledge state vectors 11 | # n_rnn_hidden: number of hidden units in rnn knowledge encoder 12 | # n_mlp_hidden: number of hidden units in mlp skill encoder 13 | # n_rnn_layers: number of layers in rnn knowledge encoder 14 | # rnn_type: type of rnn cell, chosen from ['gru', 'lstm'] 15 | def __init__(self, n_skills:int, n_hidden:int, n_rnn_hidden:int, n_mlp_hidden:int, n_rnn_layers:int=1, rnn_type='lstm', device='cpu'): 16 | super(KQN, self).__init__() 17 | self.device = device 18 | self.n_hidden = n_hidden 19 | self.n_rnn_hidden = n_rnn_hidden 20 | self.n_mlp_hidden = n_mlp_hidden 21 | self.n_rnn_layers = n_rnn_layers 22 | 23 | self.rnn_type, rnn_type = rnn_type.lower(), rnn_type.lower() 24 | 25 | if rnn_type == 'lstm': 26 | self.rnn = nn.LSTM( 27 | input_size=2*n_skills, 28 | hidden_size=n_rnn_hidden, 29 | num_layers=n_rnn_layers, 30 | batch_first=True 31 | ) 32 | elif rnn_type == 'gru': 33 | self.rnn = nn.GRU( 34 | input_size=2*n_skills, 35 | hidden_size=n_rnn_hidden, 36 | num_layers=n_rnn_layers, 37 | batch_first=True 38 | ) 39 | 40 | self.linear = nn.Linear(n_rnn_hidden, n_hidden) 41 | 42 | self.skill_encoder = nn.Sequential( 43 | nn.Linear(n_skills, n_mlp_hidden), 44 | nn.ReLU(), 45 | nn.Linear(n_mlp_hidden, n_hidden), 46 | nn.ReLU() 47 | ) 48 | 49 | self.sigmoid = nn.Sigmoid() 50 | self.loss_fn = nn.BCEWithLogitsLoss(reduction='mean') 51 | 52 | def init_hidden(self, batch_size: int): 53 | weight = next(self.parameters()).data 54 | if self.rnn_type == 'lstm': 55 | return (Variable(weight.new(self.n_rnn_layers, batch_size, self.n_rnn_hidden).zero_()), 56 | Variable(weight.new(self.n_rnn_layers, batch_size, self.n_rnn_hidden).zero_())) 57 | else: 58 | return Variable(weight.new(self.n_rnn_layers, batch_size, self.n_rnn_hidden).zero_()) 59 | 60 | def encode_knowledge(self, in_data:torch.FloatTensor, seq_len:torch.LongTensor): 61 | batch_size = in_data.size(0) 62 | self.hidden = self.init_hidden(batch_size) 63 | 64 | rnn_input = pack_padded_sequence(in_data, seq_len, batch_first=True) 65 | rnn_output, self.hidden = self.rnn(rnn_input, self.hidden) 66 | rnn_output, _ = pad_packed_sequence(rnn_output, batch_first=True) # (batch_size, max_seq_len, n_rnn_hidden) 67 | encoded_knowledge = self.linear(rnn_output) # (batch_size, max_seq_len, n_hidden) 68 | return encoded_knowledge 69 | 70 | def encode_skills(self, next_skills:torch.FloatTensor): 71 | encoded_skills = self.skill_encoder(next_skills) # (batch_size, max_seq_len, n_hidden) 72 | encoded_skills = F.normalize(encoded_skills, p=2, dim=2) # L2-normalize 73 | return encoded_skills 74 | 75 | def selecting_mask(self, seq_len:torch.LongTensor, max_seq_len:int): 76 | # given seq_len tensor of size (batch_size,) get gathering indices 77 | # i.e., for each sample in the batch, gather results up to its sequence length out of max_seq_len results 78 | batch_size = seq_len.size(0) 79 | mask = torch.arange(max_seq_len, device=self.device).repeat(batch_size, 1) < seq_len.unsqueeze(1) 80 | 81 | return mask 82 | 83 | def forward(self, in_data:torch.FloatTensor, seq_len:torch.LongTensor, next_skills:torch.FloatTensor): 84 | encoded_knowledge = self.encode_knowledge(in_data, seq_len) # (batch_size, max_seq_len, n_hidden) 85 | encoded_skills = self.encode_skills(next_skills) # (batch_size, max_seq_len, n_hidden) 86 | 87 | # query the knowledge state with respect to the encoded skills 88 | # do the dot product 89 | logits = torch.sum(encoded_knowledge * encoded_skills, dim=2) # (batch_size, max_seq_len) 90 | 91 | return logits 92 | 93 | def loss(self, logits:torch.FloatTensor, correctness:torch.FloatTensor, mask:torch.Tensor): 94 | logits = logits.masked_select(mask) 95 | correctness = correctness.masked_select(mask) 96 | bce_loss = self.loss_fn(logits, correctness) 97 | return bce_loss 98 | 99 | def calculate_auc(self, preds, labels, pos_label=1): 100 | fpr, tpr, thresholds = roc_curve(labels, preds, pos_label=pos_label) 101 | auc_val = auc(fpr, tpr) 102 | return auc_val 103 | 104 | def auc(self, logits, correctness): 105 | preds = self.sigmoid(logits) 106 | auc_val = self.calculate_auc(preds, correctness) 107 | return auc_val -------------------------------------------------------------------------------- /train_util.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | def train(model, loaders, optimizer, writer, n_epochs, ckpt_path, device='cpu'): 4 | epoch_losses = [] 5 | def run_epoch(train_or_eval): 6 | epoch_loss = 0. 7 | epoch_auc = 0. 8 | 9 | epoch_logits = [] 10 | epoch_correctness = [] 11 | for i, batch in enumerate(loaders[train_or_eval], 1): 12 | in_data, seq_len, next_skills, correctness = batch 13 | in_data, seq_len, next_skills, correctness = in_data.to(device), seq_len.to(device), next_skills.to(device), correctness.to(device) 14 | 15 | if train_or_eval == 'train': 16 | model.train() # train mode for dropout and batch normalization 17 | optimizer.zero_grad() 18 | else: 19 | model.eval() # eval mode for dropout and batch normalization 20 | 21 | logits = model(in_data, seq_len, next_skills) 22 | mask = model.selecting_mask(seq_len, in_data.size(1)) 23 | batch_loss = model.loss(logits, correctness, mask) 24 | epoch_loss += batch_loss.item() 25 | 26 | if train_or_eval == 'train': 27 | batch_loss.backward() 28 | optimizer.step() 29 | 30 | epoch_logits.append(logits.masked_select(mask).detach().cpu()) 31 | epoch_correctness.append(correctness.masked_select(mask).detach().cpu()) 32 | 33 | epoch_loss /= i 34 | epoch_auc = model.auc(torch.cat(epoch_logits), torch.cat(epoch_correctness)) 35 | 36 | losses[train_or_eval] = epoch_loss 37 | aucs[train_or_eval] = epoch_auc 38 | 39 | if writer is None: 40 | print('epoch %d %s loss %.4f auc %.4f' % (epoch, train_or_eval, epoch_loss, epoch_auc)) 41 | elif train_or_eval == 'eval': 42 | writer.add_scalars('loss', 43 | tag_scalar_dict={'train': losses['train'], 44 | 'eval': losses['eval']}, 45 | global_step=epoch) 46 | writer.add_scalars('auc', 47 | tag_scalar_dict={'train': aucs['train'], 48 | 'eval': aucs['eval']}, 49 | global_step=epoch) 50 | 51 | # main statements 52 | losses = {} 53 | aucs = {} 54 | 55 | for epoch in range(1, n_epochs+1): 56 | run_epoch('train') 57 | run_epoch('eval') 58 | 59 | # For instructional purpose, show how to save checkpoints 60 | if ckpt_path is not None: 61 | torch.save({ 62 | 'model_state_dict': model.state_dict(), 63 | 'optimizer_state_dict': optimizer.state_dict(), 64 | 'epoch': epoch, 65 | 'losses': losses, 66 | 'aucs': aucs, 67 | }, '%s/%d.pt' % (ckpt_path, epoch)) --------------------------------------------------------------------------------