Skip to content

Commit a577a83

Browse files
committed
Moved files back to _hidden with an updated toctree
1 parent 816fa25 commit a577a83

10 files changed

Lines changed: 1313 additions & 0 deletions

File tree

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
Python 3 with Nested Dictionaries
2+
=====================================
3+
Welcome to the Python 3 with Nested Dictionaries study!
4+
This study is part of a research project at the University of Michigan, and your participation will contribute to our understanding of how students learn programming concepts.
5+
We are researchers at University of Michigan who are trying to improve the teaching and learning of programming.
6+
7+
Purpose of this Study
8+
^^^^^^^^^^^^^^^^^^^^^^^^^^
9+
The purpose of this study is to understand how students learn to write code in Python, specifically focusing on nested dictionaries. We are exploring the effect of different types of help on students' coding skills.
10+
11+
Study Procedure
12+
^^^^^^^^^^^^^^^^^^^^^^^
13+
This study has five parts. It will take approximately 55 minutes to complete it. Please do the parts in order and answer questions to the best of your ability.
14+
15+
The five parts are:
16+
- Brief Knowledge Review (5 mins) - A brief overview of nested dictionaries.
17+
- Pre survey (3 mins) - a self-efficacy survey for computing (6 questions) and 5 self-evaluation questions about your familiarity with nested dictionaries.
18+
- Introduction to the Practice Types (3 mins) - An introduction to the type of practice problems you may see during practice.
19+
- Practice (32 mins) - Complete 4 write-code practice problems, followed by a survey question if applicable.
20+
- Posttest (12 mins) - Help is not available during the posttest. It includes 1 short answer, and 2 write-code problems.
21+
22+
Participant Requirements
23+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24+
To participate in this study you must
25+
- be at least 18 years old
26+
- have a basic understanding of Python programming, including concepts such as variables, loops, and functions.
27+
- be able to use a web browser to access the study materials and complete the tasks.
28+
- be able to complete the study in one sitting, as it is designed to be completed in approximately 55 minutes.
29+
- not use any external resources, such as textbooks or online forums, to complete the tasks in the study. This includes not using AI tools like ChatGPT for assistance.
30+
31+
Confidentiality
32+
^^^^^^^^^^^^^^^^^^^^^^^
33+
We may use your anonymized log data for our research studies. No personally identifiable information will be included in the log file. Your responses will be kept confidential and will not be linked to your identity. The data will be stored securely.
34+
35+
Risks
36+
^^^^^^^^^^^^^^^^^
37+
The risks and discomfort associated with participation in this study are no greater than those ordinarily encountered in daily life or during other online activities.
38+
39+
Benefits
40+
^^^^^^^^^^^^^^^^^
41+
You will receive additional practice with Python programming, specifically with nested dictionaries.
42+
43+
Rights
44+
^^^^^^^^^^^^^^^^^
45+
Your participation in this study is voluntary. You have the right to withdraw at any time without penalty. Refusal to participate or withdrawal of your consent or discontinued participation in the study will not result in any penalty or loss of benefits or rights to which you might otherwise be entitled.
46+
47+
If you have any questions about the study, please contact the research team at barbarer@umich.edu or xyhou@umich.edu.
48+
49+
Voluntary Consent
50+
^^^^^^^^^^^^^^^^^
51+
52+
By clicking below, you agree that the above information has been explained to you and all your current questions have been answered. You are encouraged to ask questions about any aspect of this research study during the course of the study and in the future. By clicking below, you agree to participate in this research study.
53+
54+
.. poll:: consent
55+
:option_1: I am at least 18 years old. I confirm that I meet the eligibility criteria for this study to the best of my knowledge and understand its purpose, potential benefits, and risks. All my questions have been answered, and I know I can ask more at any time.
56+
:results: instructor
57+
58+
Please check the box below to indicate that you have read and understood the information provided above and agree to participate in this study.
59+
60+
61+
What to do next
62+
===================
63+
64+
.. raw:: html
65+
66+
67+
<p> Click on the following link to take the knowledge review:
68+
<b><a id="review"><font size="+1">Knowledge Review</font></a></b>
69+
</p>
70+
71+
<script type="text/javascript">
72+
window.onload = function() {
73+
const reviewLink = document.getElementById("review");
74+
reviewLink.href = "#"; // Prevent default navigation for now
75+
76+
reviewLink.onclick = function(event) {
77+
const consent = document.getElementById('consent');
78+
79+
if (!consent) {
80+
alert('Please check the consent form before moving to the next.');
81+
event.preventDefault();
82+
return false;
83+
}
84+
85+
// If all elements exist, proceed to review.html
86+
window.location.href = "review.html";
87+
};
88+
};
89+
</script>
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
Introduction to Problem Types
2+
===============================
3+
4+
Please read the following, watch the videos, and try to solve the problems.
5+
6+
7+
Solving Mixed-up Code Problems
8+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
9+
10+
If you see a problem like the one below you will need to put the mixed-up
11+
code in the correct order on the right side. You
12+
may need to indent the blocks as well. There may also be extra blocks that are not
13+
needed in a correct solution that you can leave on the left side. Click the "Check" button
14+
to check your solution.
15+
16+
See the video below for an example.
17+
18+
.. youtube:: Rf7oWHlo-e0
19+
:divid: iwgex1-parsons1-mooc_nested
20+
:optional:
21+
:width: 650
22+
:height: 415
23+
:align: center
24+
25+
Try to solve the following mixed-up code problem. This problem doesn't require any indentation.
26+
27+
.. parsonsprob:: intro-simple-parsons-no-indent-mooc_nested
28+
:numbered: left
29+
:adaptive:
30+
:practice: T
31+
:order: 3, 1, 2, 0
32+
33+
Drag the blocks from the left and put them in the correct order on the right. The text in each block
34+
defines the order.
35+
-----
36+
First block
37+
=====
38+
Second block
39+
=====
40+
Third block
41+
42+
Try to solve the following mixed-up code problem. This problem requires indentation.
43+
44+
.. parsonsprob:: intro-simple-parsons-indent-mooc_nested
45+
:numbered: left
46+
:adaptive:
47+
:practice: T
48+
:order: 3, 1, 2, 0
49+
50+
Drag the blocks from the left and put them in the correct order on the right with the correct indentation.
51+
The text in each block defines the order and indentation.
52+
-----
53+
First block
54+
=====
55+
Second block
56+
=====
57+
Third block that needs to be indented
58+
59+
Try to solve the following mixed-up code problem. This problem requires indentation and has extra blocks that are not needed in a correct solution.
60+
61+
.. parsonsprob:: intro-simple-parsons-indent-with-dist-mooc_nested
62+
:numbered: left
63+
:adaptive:
64+
:practice: T
65+
:order: 3, 1, 2, 0
66+
67+
Drag the blocks from the left and put them in the correct order on the right with the correct indentation.
68+
There is an extra block that is not needed in the correct solution.
69+
-----
70+
First block
71+
=====
72+
Second block
73+
=====
74+
Extra block that is not needed #paired: This block is not needed
75+
=====
76+
Third block that needs to be indented
77+
78+
The mixed-up code problems have a "Help me" button at the bottom of the
79+
problem. Once you have checked at least three incorrect solutions you can
80+
click the button for help. It will remove an incorrect code block, if you used
81+
one in your solution, or combine two blocks into one if there are more
82+
than three blocks left.
83+
84+
See the video below for an example.
85+
86+
.. youtube:: QejZ7u642IU
87+
:divid: iwgex1-parsons2-mooc_nested
88+
:optional:
89+
:width: 650
90+
:height: 415
91+
:align: center
92+
93+
Solving Write Code Problems
94+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
95+
96+
If you see a problem like the one below, you will need to write code. The problem
97+
will have unit tests that you can run to check that your code is working
98+
correctly. Click on the "Run" button to compile and run your code. Look after
99+
the code area for compiler errors and/or unit test results.
100+
101+
See the video below for an example.
102+
103+
.. youtube:: w9hTOJ7iJpE
104+
:divid: mooc_nested-write-code-video-ex
105+
:optional:
106+
:width: 650
107+
:height: 415
108+
:align: center
109+
110+
Finish writing the code for the following problem.
111+
112+
.. activecode:: intro-sample-write-code-double-mooc_nested
113+
:autograde: unittest
114+
:nocodelens:
115+
116+
Write a function called ``double(num)`` that takes a number ``num`` and
117+
returns the number times 2. For example, ``double(3)`` should return 6 and ``double(-4)`` should return -8.
118+
~~~~
119+
def double(num):
120+
# Your code here
121+
pass
122+
123+
print(double(2))
124+
print(double(-1))
125+
126+
====
127+
from unittest.gui import TestCaseGui
128+
class myTests(TestCaseGui):
129+
130+
def testOne(self):
131+
self.assertEqual(double(2),4,"double(2)")
132+
self.assertEqual(double(3),6,"double(3)")
133+
self.assertEqual(double(-1),-2,"double(-1)")
134+
self.assertEqual(double(0),0,"double(0)")
135+
self.assertEqual(double(11),22,"double(11)")
136+
137+
myTests().main()
138+
139+
140+
141+
Solving Write Code Problems with an Adaptive Mixed-up Puzzle as Scaffolding
142+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
143+
If you see a problem like the one below, you will need to write code. You can go to the **toggle bar** above the problem description to open a mixed-up puzzle that will help you write the code.
144+
The mixed-up puzzle will have blocks of code that you can drag and drop to create a solution. You can also use the "Help me" button to get additional assistance within the puzzle if needed.
145+
146+
.. selectquestion:: intro-sample-toggle-mooc_nested
147+
:fromid: intro-sample-write-code-triple-mooc_nested, intro-sample-puzzle-mooc_nested
148+
:toggle: lock
149+
150+
151+
What to do next
152+
===============
153+
154+
.. raw:: html
155+
156+
<p>Click on the following link to take the pre survey and the skill assessment: <b><a id="pre_survey"> <font size="+1">Pre-survey</font></a></b></p>
157+
158+
.. raw:: html
159+
160+
<script type="text/javascript" >
161+
162+
window.onload = function() {
163+
164+
a = document.getElementById("pre_survey")
165+
a.href = "pre_survey.html"
166+
};
167+
168+
</script>

0 commit comments

Comments
 (0)