From c4210471c6e095b4e5a794eac1150a9fdafc7467 Mon Sep 17 00:00:00 2001 From: Zihan Wu Date: Wed, 20 Nov 2024 14:26:52 -0500 Subject: [PATCH 1/2] Adding experiment at the end of Unit 3 - Using most common solution Parsons as scaffolding --- _sources/Unit3-If-Statements/toctree.rst | 1 + .../topic-3-13-experiment-posttest.rst | 150 ++++++++++++ .../topic-3-13-experiment-practice-P-lib.rst | 148 +++++++++++ .../topic-3-13-experiment-practice-P.rst | 35 +++ .../topic-3-13-experiment-practice-W.rst | 230 ++++++++++++++++++ .../topic-3-13-experiment-practice.rst | 63 +++++ .../topic-3-13-experiment-pretest.rst | 153 ++++++++++++ .../topic-3-13-more-practice-experiment.rst | 28 +++ 8 files changed, 808 insertions(+) create mode 100644 _sources/Unit3-If-Statements/topic-3-13-experiment-posttest.rst create mode 100644 _sources/Unit3-If-Statements/topic-3-13-experiment-practice-P-lib.rst create mode 100644 _sources/Unit3-If-Statements/topic-3-13-experiment-practice-P.rst create mode 100644 _sources/Unit3-If-Statements/topic-3-13-experiment-practice-W.rst create mode 100644 _sources/Unit3-If-Statements/topic-3-13-experiment-practice.rst create mode 100644 _sources/Unit3-If-Statements/topic-3-13-experiment-pretest.rst create mode 100644 _sources/Unit3-If-Statements/topic-3-13-more-practice-experiment.rst diff --git a/_sources/Unit3-If-Statements/toctree.rst b/_sources/Unit3-If-Statements/toctree.rst index b54ec077..93652e0f 100644 --- a/_sources/Unit3-If-Statements/toctree.rst +++ b/_sources/Unit3-If-Statements/toctree.rst @@ -27,6 +27,7 @@ AP CSA Exam Weighting: 15-17.5% Exercises.rst magpieindex.rst frq-game-score.rst + topic-3-13-more-practice-experiment.rst topic-3-13-more-practice-coding.rst diff --git a/_sources/Unit3-If-Statements/topic-3-13-experiment-posttest.rst b/_sources/Unit3-If-Statements/topic-3-13-experiment-posttest.rst new file mode 100644 index 00000000..48d41fb9 --- /dev/null +++ b/_sources/Unit3-If-Statements/topic-3-13-experiment-posttest.rst @@ -0,0 +1,150 @@ +.. qnum:: + :prefix: exp-4- + :start: 1 + +Posttest +============================== + +.. poll:: most-common-posttest-park + :option_1: A + :option_2: B + :option_3: C + :option_4: D + :results: instructor + + Theme Park Discount +
+ A theme park offers discounts on ticket prices based on age and the number of visits per month. The parameter age is the person's age in years, and visitsPerMonth is the average number of visits per month. The result is the discount percentage encoded as an int. The conditions are: + + Select the correct code for this problem. + Only the highlighted lines are different in each option. +
+ + + + + + + +.. poll:: most-common-posttest-unlucky + :option_1: A + :option_2: B + :option_3: C + :option_4: D + :results: instructor + + Unlucky Number +
+ A local fortune teller claims that a person's unlucky number is determined based on the month and minute of their birth. The parameters are month and minute. The month is the month of birth (from 1 to 12), and the minute is the minute of birth (from 0 to 59). According to the fortune teller, the unlucky number is calculated as follows: + + Select the correct code for this problem. + Only the highlighted lines are different in each option. + +
+ + + + +.. activecode:: most-common-posttest-work + :language: java + :autograde: unittest + :nocodelens: + + .. raw:: html + + Working Overtime + + + You and your project partner are deciding whether to work overtime based on your remaining workload. The parameter ``yourWorkload`` represents how much work you have left, and ``partnerWorkload`` represents how much work your project partner has left, both in the range from 0 to 20. The result is an ``int`` value indicating whether you both should work overtime. Return: + * If either workload is 5 or less (i.e., there's little work left), return 0 (no need to work overtime); + * With the exception that if eithr workload is 18 or more, return 2 (i.e., a large amount of work to complete); + * Otherwise, return 1 (maybe). + + .. table:: + :name: work-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``needOvertime(4, 3)`` | ``0`` | + +----------------------------------------------------+-----------------+ + | ``needOvertime(4, 18)`` | ``2`` | + +----------------------------------------------------+-----------------+ + | ``needOvertime(6, 15)`` | ``1`` | + +----------------------------------------------------+-----------------+ + + ~~~~ + public class OvertimeDecision + { + public static int needOvertime(int yourWorkload, int partnerWorkload) + { + // Your Code Here // + } + + public static void main(String[] args) + { + System.out.println(needOvertime(4, 3)); // Output: 0 + + System.out.println(needOvertime(4, 18)); // Output: 2 + + System.out.println(needOvertime(6, 15)); // Output: 1 + + } + } + + ==== + import static org.junit.Assert.*; + import org.junit.Test; + import java.io.IOException; + import java.util.Arrays; + + public class RunestoneTests extends CodeTestHelper { + public RunestoneTests() { + super(); + } + + @Test + public void testValue1() throws IOException { + OvertimeDecision c = new OvertimeDecision(); + assertTrue(getResults(0, c.needOvertime(4, 3), "needOvertime(4, 3)")); + } + + @Test + public void testValue2() throws IOException { + OvertimeDecision c = new OvertimeDecision(); + assertTrue(getResults(2, c.needOvertime(4, 18), "needOvertime(4, 18)")); + } + + @Test + public void testValue3() throws IOException { + OvertimeDecision c = new OvertimeDecision(); + assertTrue(getResults(1, c.needOvertime(6, 15), "needOvertime(6, 15)")); + } + + @Test + public void testValue4() throws IOException { + OvertimeDecision c = new OvertimeDecision(); + assertTrue(getResults(1, c.needOvertime(10, 15), "Hidden test")); + } + + @Test + public void testValue5() throws IOException { + OvertimeDecision c = new OvertimeDecision(); + assertTrue(getResults(2, c.needOvertime(18, 3), "Hidden test")); + } + } + + diff --git a/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-P-lib.rst b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-P-lib.rst new file mode 100644 index 00000000..f4cf073f --- /dev/null +++ b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-P-lib.rst @@ -0,0 +1,148 @@ +Practice Problems (Mixed Code) +============================== + +.. parsonsprob:: most-common-practice-alarmclock-mixed + :numbered: left + :adaptive: + :noindent: + + + Given a ``day`` of the week encoded as 0=Sun, 1=Mon, 2=Tue, ...6=Sat, and a ``boolean`` indicating if we are on ``vacation``, return a string of the form ``"7:00"`` indicating when the alarm clock should ring. Weekdays, the alarm should be ``"7:00"`` and on the weekend it should be ``"10:00"``. Unless we are on vacation -- then on weekdays it should be ``"10:00"`` and weekends it should be ``"off"``. + + .. table:: + :name: alarmClock-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``alarmClock(1, false)`` | ``7:00`` | + +----------------------------------------------------+-----------------+ + | ``alarmClock(5, false)`` | ``7:00`` | + +----------------------------------------------------+-----------------+ + | ``alarmClock(0, false)`` | ``10:00`` | + +----------------------------------------------------+-----------------+ + + ----- + public class VacayAlarmClock { + public static String alarmClock(int day, boolean vacation) { + ===== + if (day >= 1 && day <= 5 && (vacation == false)){ + ===== + return "7:00"; + ===== + } else if ((day == 0 || day == 6 && (vacation == false)) || (day >= 1 && day <= 5 && (vacation == true))){ + ===== + return "10:00"; + ===== + } else { + ===== + return "off"; + ===== + } + } + } + + +.. parsonsprob:: most-common-practice-datefashion-mixed + :numbered: left + :adaptive: + :noindent: + + You and your date are trying to get a table at a restaurant. The parameter ``you`` is the stylishness of your clothes, in the range 0..10, and ``date`` is the stylishness of your date's clothes. The result getting the table is encoded as an int value with 0=no, 1=maybe, 2=yes. If either of you is very stylish, 8 or more, then the result is ``2`` (yes). With the exception that if either of you has style of 2 or less, then the result is ``0`` (no). Otherwise the result is ``1`` (maybe). + + .. table:: + :name: datFashion-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``dateFashion(5, 10)`` | ``2`` | + +----------------------------------------------------+-----------------+ + | ``dateFashion(8, 2)`` | ``0`` | + +----------------------------------------------------+-----------------+ + | ``dateFashion(5, 5)`` | ``1`` | + +----------------------------------------------------+-----------------+ + ----- + public class DateStylishness { + ===== + public static int dateFashion(int you, int date) { + ===== + if (you <= 2 || date <= 2) { + ===== + return 0; } + ===== + if (you >= 8 || date >= 8) { + ===== + return 2; } + ===== + return 1; } + ===== + } + + +.. parsonsprob:: most-common-practice-frontback-mixed + :numbered: left + :grader: dag + :noindent: + + Create the method ``front_back(str, start, end)`` that takes three strings and returns + a string based on the following conditions. + + * If ``str`` contains ``start`` at the beginning and ``end`` at the end then return ``"s_e"``. + * If ``str`` contains ``start`` at the beginning of the string return ``"s"``. + * if ``str`` contains ``end`` at the end of the string return ``"e"``. + * Otherwise return ``"n"``. + + .. table:: + :name: front-back-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``front_back("Open at noon", "Open", "noon")`` | ``"s_e"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("Opening time", "Open", "noon")`` | ``"s"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("Afternoon", "Open", "noon")`` | ``"e"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("Closed", "Open", "noon")`` | ``"n"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("It is noon now", "open", "noon")`` | ``"n"`` | + +----------------------------------------------------+-----------------+ + + ----- + public class FrontBack { #tag:0; depends:; + ===== + public static String front_back(String str, String start, String end) { #tag:1; depends:0; + ===== + Boolean beginWithStart = str.indexOf(start) == 0; + Boolean endWithEnd = str.indexOf(end) == (str.length() - end.length()); #tag:2; depends:1; + ===== + if (beginWithStart && endWithEnd) { #tag:3; depends:2; + ===== + return "s_e"; } #tag:4; depends:3; + ===== + else if (beginWithStart && !endWithEnd) { + return "s";} #tag:5; depends:4; + ===== + else if (!beginWithStart && endWithEnd) { + return "e";} #tag:6; depends:4; + ===== + else { #tag:7; depends:5,6; + ===== + return "n"; #tag:8; depends:7; + ===== + } #tag:9; depends:8; + ===== + } #tag:10; depends:9; + ===== + } #tag:11; depends:10; diff --git a/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-P.rst b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-P.rst new file mode 100644 index 00000000..1c24efb0 --- /dev/null +++ b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-P.rst @@ -0,0 +1,35 @@ +.. qnum:: + :prefix: exp-2- + :start: 1 + +Practice Problems (Mixed Code Help) +============================== + +.. selectquestion:: most-common-practice-alarmclock-toggle + :fromid: most-common-practice-alarmclock-written, most-common-practice-alarmclock-mixed + :toggle: lock + +.. selectquestion:: most-common-practice-datefashion-toggle + :fromid: most-common-practice-datefashion-written, most-common-practice-datefashion-mixed + :toggle: lock + +.. selectquestion:: most-common-practice-frontback-toggle + :fromid: most-common-practice-frontback-written, most-common-practice-frontback-mixed + :toggle: lock + +.. raw:: html + +

click on the following link to proceed to the posttest: posttest

+ +.. raw:: html + + \ No newline at end of file diff --git a/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-W.rst b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-W.rst new file mode 100644 index 00000000..d98da582 --- /dev/null +++ b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice-W.rst @@ -0,0 +1,230 @@ +.. qnum:: + :prefix: exp-3- + :start: 1 + +Practice Problems (Write Code) +============================== + +.. activecode:: most-common-practice-alarmclock-written + :language: java + :autograde: unittest + :nocodelens: + + Given a ``day`` of the week encoded as 0=Sun, 1=Mon, 2=Tue, ...6=Sat, and a ``boolean`` indicating if we are on ``vacation``, return a string of the form ``"7:00"`` indicating when the alarm clock should ring. Weekdays, the alarm should be ``"7:00"`` and on the weekend it should be ``"10:00"``. Unless we are on vacation -- then on weekdays it should be ``"10:00"`` and weekends it should be ``"off"``. + + .. table:: + :name: alarmClock-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``alarmClock(1, false)`` | ``7:00`` | + +----------------------------------------------------+-----------------+ + | ``alarmClock(5, false)`` | ``7:00`` | + +----------------------------------------------------+-----------------+ + | ``alarmClock(0, false)`` | ``10:00`` | + +----------------------------------------------------+-----------------+ + + ~~~~ + public class VacayAlarmClock + { + public static String alarmClock(int day, boolean vacation) + { + // ADD CODE HERE // + } + + public static void main(String[] args) + { + System.out.println(alarmClock(1, false)); + System.out.println(alarmClock(5, false)); + System.out.println(alarmClock(0, false)); + } + } + + ==== + import static org.junit.Assert.*; + import org.junit.Test; + import java.io.IOException; + import java.util.Arrays; + + public class RunestoneTests extends CodeTestHelper { + public RunestoneTests() { + super(); + } + + @Test + public void testBoundarySum() throws IOException { + String output = getMethodOutput("main"); + String expect = "7:00, 7:00, 10:00"; + boolean passed = getResults(expect, output, "Expected output from main"); + assertTrue(passed); + + } + + + } + + +.. activecode:: most-common-practice-datefashion-written + :language: java + :autograde: unittest + :nocodelens: + + You and your date are trying to get a table at a restaurant. The parameter ``you`` is the stylishness of your clothes, in the range 0..10, and ``date`` is the stylishness of your date's clothes. The result getting the table is encoded as an int value with 0=no, 1=maybe, 2=yes. If either of you is very stylish, 8 or more, then the result is ``2`` (yes). With the exception that if either of you has style of 2 or less, then the result is ``0`` (no). Otherwise the result is ``1`` (maybe). + + .. table:: + :name: datFashion-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``dateFashion(5, 10)`` | ``2`` | + +----------------------------------------------------+-----------------+ + | ``dateFashion(8, 2)`` | ``0`` | + +----------------------------------------------------+-----------------+ + | ``dateFashion(5, 5)`` | ``1`` | + +----------------------------------------------------+-----------------+ + + ~~~~ + public class DateStylishness + { + public static int dateFashion(int you, int date) + { + // ADD CODE HERE // + } + + public static void main(String[] args) + { + System.out.println(dateFashion(5, 10)); + System.out.println(dateFashion(8, 2)); + System.out.println(dateFashion(5, 5)); + } + } + + + ==== + import static org.junit.Assert.*; + import org.junit.Test; + import java.io.IOException; + import java.util.Arrays; + + public class RunestoneTests extends CodeTestHelper { + public RunestoneTests() { + super(); + } + + @Test + public void testBoundarySum() throws IOException { + String output = getMethodOutput("main"); + String expect = "2, 0, 1"; + boolean passed = getResults(expect, output, "Expected output from main"); + assertTrue(passed); + + } + + + } + +.. activecode:: most-common-practice-frontback-written + :language: java + :autograde: unittest + :nocodelens: + + Create the method ``front_back(str, start, end)`` that takes three strings and returns + a string based on the following conditions. + + * If ``str`` contains ``start`` at the beginning and ``end`` at the end then return ``"s_e"``. + * If ``str`` contains ``start`` at the beginning of the string return ``"s"``. + * if ``str`` contains ``end`` at the end of the string return ``"e"``. + * Otherwise return ``"n"``. + + .. table:: + :name: front-back-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``front_back("Open at noon", "Open", "noon")`` | ``"s_e"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("Opening time", "Open", "noon")`` | ``"s"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("Afternoon", "Open", "noon")`` | ``"e"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("Closed", "Open", "noon")`` | ``"n"`` | + +----------------------------------------------------+-----------------+ + | ``front_back("It is noon now", "open", "noon")`` | ``"n"`` | + +----------------------------------------------------+-----------------+ + + ~~~~ + public class FrontBack + { + public static String front_back(String str, String start, String end) + { + // ADD CODE HERE // + } + + public static void main(String[] args) + { + String str1 = "Opening time"; + String start1 = "Open"; + String end1 = "noon"; + System.out.println(front_back(str1, start1, end1)); + + String str2 = "Afternoon"; + String start2 = "Open"; + String end2 = "noon"; + System.out.println(front_back(str2, start2, end2)); + + String str3 = "Open at noon"; + String start3 = "Open"; + String end3 = "noon"; + System.out.println(front_back(str3, start3, end3)); + } + } + + ==== + import static org.junit.Assert.*; + import org.junit.Test; + import java.io.IOException; + import java.util.Arrays; + + public class RunestoneTests extends CodeTestHelper { + public RunestoneTests() { + super(); + } + + @Test + public void testBoundarySum() throws IOException { + String output = getMethodOutput("main"); + String expect = "s\ne\ns_e\n"; + boolean passed = getResults(expect, output, "Expected output from main"); + assertTrue(passed); + } + } + + +.. raw:: html + +

click on the following link to proceed to the posttest: posttest

+ +.. raw:: html + + \ No newline at end of file diff --git a/_sources/Unit3-If-Statements/topic-3-13-experiment-practice.rst b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice.rst new file mode 100644 index 00000000..61bd3248 --- /dev/null +++ b/_sources/Unit3-If-Statements/topic-3-13-experiment-practice.rst @@ -0,0 +1,63 @@ +.. qnum:: + :prefix: exp-4- + :start: 1 + +Practice Problems +============================ + + +.. raw:: html + +

loading...

+ + \ No newline at end of file diff --git a/_sources/Unit3-If-Statements/topic-3-13-experiment-pretest.rst b/_sources/Unit3-If-Statements/topic-3-13-experiment-pretest.rst new file mode 100644 index 00000000..b3a2a8f2 --- /dev/null +++ b/_sources/Unit3-If-Statements/topic-3-13-experiment-pretest.rst @@ -0,0 +1,153 @@ +.. qnum:: + :prefix: exp-1- + :start: 1 + +Pretest +============================== + +.. poll:: most-common-pretest-gym + :option_1: A + :option_2: B + :option_3: C + :option_4: D + :results: instructor + + Gym Membership Discount +
+ A gym offers discounts on membership fees based on age and frequency of visits per week. The parameter age is the person's age in years, and visitsPerWeek is the average number of visits per week. The result is the discount percentage encoded as an int. The conditions are: + + Select the correct code for this problem. + Only the highlighted lines are different in each option. +
+ + + + + + + + +.. poll:: most-common-pretest-lucky + :option_1: A + :option_2: B + :option_3: C + :option_4: D + :results: instructor + + Lucky Number +
+ An old witch told us a person's lucky number is determined based on the date and time of their birth. The parameters are day and hour. The day is the day of birth (from 1 to 31), and the hour is the hour of birth (from 0 to 23). According to her, the lucky number is calculated as follows: + + Select the correct code for this problem. + Only the highlighted lines are different in each option. + +
+ + + + + + + + + +.. activecode:: most-common-pretest-clean + :language: java + :autograde: unittest + :nocodelens: + + .. raw:: html + + Apartment Cleaning + + You and your roommate are deciding whether to clean the apartment. The parameter ``yourMessiness`` represents how messy your side of the apartment is, and ``roommateMessiness`` represents how messy your roommate's side is, both in the range from 0 to 20. The result is an ``int`` value indicating whether it's time to clean. Return: + * If either messiness is 5 or less (i.e., it's still relatively clean), return 0 (no need to clean); + * With the exception that if either messiness is 18 or more (i.e. the apartment is very messy), return 2 (definitely needs to clean); + * Otherwise, return 1 (maybe). + + .. table:: + :name: clean-table + :class: longtable + :align: left + :width: 80% + + +----------------------------------------------------+-----------------+ + | Example Input | Expected Output | + +====================================================+=================+ + | ``shouldClean(4, 3)`` | ``0`` | + +----------------------------------------------------+-----------------+ + | ``shouldClean(4, 18)`` | ``2`` | + +----------------------------------------------------+-----------------+ + | ``shouldClean(6, 15)`` | ``1`` | + +----------------------------------------------------+-----------------+ + + ~~~~ + public class CleaningDecision + { + public static int shouldClean(int yourMessiness, int roommateMessiness) + { + // Your Code Here // + } + + public static void main(String[] args) + { + System.out.println(shouldClean(4, 3)); // Output: 0 + + System.out.println(shouldClean(4, 18)); // Output: 2 + + System.out.println(shouldClean(6, 15)); // Output: 1 + + } + } + + ==== + import static org.junit.Assert.*; + import org.junit.Test; + import java.io.IOException; + import java.util.Arrays; + + public class RunestoneTests extends CodeTestHelper { + public RunestoneTests() { + super(); + } + + @Test + public void testValue1() throws IOException { + CleaningDecision c = new CleaningDecision(); + assertTrue(getResults(0, c.shouldClean(4, 3), "shouldClean(4, 3)")); + } + + @Test + public void testValue2() throws IOException { + CleaningDecision c = new CleaningDecision(); + assertTrue(getResults(2, c.shouldClean(4, 18), "shouldClean(4, 18)")); + } + + @Test + public void testValue3() throws IOException { + CleaningDecision c = new CleaningDecision(); + assertTrue(getResults(1, c.shouldClean(6, 15), "shouldClean(6, 15)")); + } + + @Test + public void testValue4() throws IOException { + CleaningDecision c = new CleaningDecision(); + assertTrue(getResults(1, c.shouldClean(10, 15), "Hidden test")); + } + + @Test + public void testValue5() throws IOException { + CleaningDecision c = new CleaningDecision(); + assertTrue(getResults(2, c.shouldClean(18, 3), "Hidden test")); + } + } diff --git a/_sources/Unit3-If-Statements/topic-3-13-more-practice-experiment.rst b/_sources/Unit3-If-Statements/topic-3-13-more-practice-experiment.rst new file mode 100644 index 00000000..3ce7daac --- /dev/null +++ b/_sources/Unit3-If-Statements/topic-3-13-more-practice-experiment.rst @@ -0,0 +1,28 @@ +More Practice (Experiment) +=========================== + +Thank you for taking part in this study! We are researchers who are trying to improve the teaching and learning of programming. + +*If your teacher is asking you to do this experiment, please wait until your teacher instructs you to complete a section. Do not start it on your own.* + +This study has three parts. It will take approximately 45 minutes in total to complete the study. +Please do the parts in order following your teacher's instruction, and answer questions to the best of your ability without any outside help, and please do not discuss with others. You can stop working on a problem after you worked on it for about five minutes without solving it. +If you have questions about this study please email Dr. Barbara Ericson at barbarer@umich.edu. + +The three parts are: + +* 1. Pre Test - Questions that measure your knowledge prior to doing the practice problems. + +* 2. Practice - Practice problems. You are going to be randomly assigned to one condition. After you open this page, please finish all problems in one session, otherwise you might lose your progress. + +* 3. Post Test - Post test problems that measure your knowledge after doing the practice problems. + +Based on your teacher's plan, you might do all three parts in one class, or do part 1 at the end of one class and part 2 & 3 at the beginning of the next class. + + +.. toctree:: + :maxdepth: 3 + + topic-3-13-experiment-pretest.rst + topic-3-13-experiment-practice.rst + topic-3-13-experiment-posttest.rst From cb23fc96cfb90206c7dee42c233a200d46b42a75 Mon Sep 17 00:00:00 2001 From: Beryl Hoffman Date: Wed, 20 Nov 2024 16:18:07 -0500 Subject: [PATCH 2/2] small fixes --- _sources/Unit3-If-Statements/magpie4.rst | 4 ++-- _sources/Unit4-Iteration/topic-4-1-while-loops.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_sources/Unit3-If-Statements/magpie4.rst b/_sources/Unit3-If-Statements/magpie4.rst index 81abc6a6..a7640d80 100644 --- a/_sources/Unit3-If-Statements/magpie4.rst +++ b/_sources/Unit3-If-Statements/magpie4.rst @@ -175,7 +175,7 @@ You can also step through the code in the |Java Visualizer|. It may take a minut * something "you" * @return the transformed statement */ - private String transformIMeStatement(String statement) + private String transformIYouStatement(String statement) { // ADD CODE HERE return "Why do you..."; @@ -315,7 +315,7 @@ Look at the code. See how it handles “I want to” and you/me statements. .. |replit.com version 4| raw:: html - replit.com version 4 + replit.com version 4 Then add two new methods, ``transformIWantStatement`` and ``transformIYouStatement``, and calls to each as described below. Alter the code either above in the active code window or on |JuiceMind| or |replit.com version 4| or in an IDE of your choice: diff --git a/_sources/Unit4-Iteration/topic-4-1-while-loops.rst b/_sources/Unit4-Iteration/topic-4-1-while-loops.rst index ef530783..b869d648 100644 --- a/_sources/Unit4-Iteration/topic-4-1-while-loops.rst +++ b/_sources/Unit4-Iteration/topic-4-1-while-loops.rst @@ -477,7 +477,7 @@ When you finish and run your program, what is a good guessing strategy for guess replit -For this project, you will need to use the |Scanner class| for input and |JuiceMindGuess| or |replitGuess| or another IDE of your choice. +For this project, you can use the |Scanner class| for input and |JuiceMindGuess| or |replitGuess| or another IDE of your choice. .. activecode:: challenge4-1-loop-GuessingGame-autograde :language: java