Answers.Body: <p>I'm not aware of such resources, and I expect that there wouldn't be. These are great problems, but you (hopefully) only need to do a few of them until the concepts click into place.</p>
  <p>I didn't know these were called trace table problems, but I have often provided them to struggling students in three different contexts:</p>
  <ol>
  <li><strong>Absolute beginners</strong>, where it helps students understand the ideas of assignment and execution order</li>
  <li><strong>Strugglers</strong>, where it helps students understand whatever has them lost, and</li>
  <li><strong>Students working on very low-level problems</strong>, such as assembly, or on processor design.  Here it is more of a basic survival tool. There are few, if any, meaningful variable names, and working your way through the values is a straightforward way of figuring out what is going on.</li>
  </ol>
  <p>And this gets me to why I don't think you'll find a specific resource for problems like these: in all three of these scenarios, the actual prompt is the specific code we're studying.  Tracing the values is just a tool to understand the code that is in front of you.  The value-add (and the overarching purpose) comes from that code, not from the trace table per se.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-04T11:25:43.143Z
Answers.LastActivityDate: 2020-09-04T11:25:43.143Z
Answers.UserDisplayName: Ben I.
Body: <p>A trace table problem is code that you follow along by hand and fill out variable values at each line. For example.</p>
  <pre class="lang-py prettyprint-override"><code>0  msg = 'hello'
  1  num = 5
  2  num = num + 1
  3  if num &lt; 6:
  4      msg = 'goodbye'
  5  print(msg)
  </code></pre>
  <p>The table is filled out with variable values at each line number.</p>
  <pre><code>line | num | msg     | 
  0    |     | 'hello' |
  1    | 5   | 'hello' |
  2    | 6   | 'hello' |
  3    | 6   | 'hello' |
  4    |     |         |
  5    | 6   | 'hello' |
  </code></pre>
  <p>This would be for a collection of beginner language problems, to provide practice and review understanding of programming language operations. These are the CS 101 style problems of what does this print, or what is x at the end of this. An initial topic list might be as follows.</p>
  <ul>
  <li>variable declaration</li>
  <li>function declaration</li>
  <li>function calls</li>
  <li>if / else if / else</li>
  <li>for / while</li>
  <li>arithmetic</li>
  <li>scope</li>
  <li>asynchronous</li>
  </ul>
  <p>Are there any resources or existing collections for these types of problems? Specifically looking for Javascript but I can adapt other problems to the language.</p>
  
Tags: <pseudo-code><problem-structure>
Title: Are there problem sets for trace table problems? If not, what are some good topics to cover?
ThreadText: # Are there problem sets for trace table problems? If not, what are some good topics to cover?
  
  (Asked by: username_0 on 2020-09-04)
  
  A trace table problem is code that you follow along by hand and fill out variable values at each line. For example.
  
  ```py
  0  msg = 'hello'
  1  num = 5
  2  num = num + 1
  3  if num < 6:
  4      msg = 'goodbye'
  5  print(msg)
  
  ```
  
  The table is filled out with variable values at each line number.
  
  ```
  line | num | msg     | 
  0    |     | 'hello' |
  1    | 5   | 'hello' |
  2    | 6   | 'hello' |
  3    | 6   | 'hello' |
  4    |     |         |
  5    | 6   | 'hello' |
  
  ```
  
  This would be for a collection of beginner language problems, to provide practice and review understanding of programming language operations. These are the CS 101 style problems of what does this print, or what is x at the end of this. An initial topic list might be as follows.
  
  * variable declaration
  * function declaration
  * function calls
  * if / else if / else
  * for / while
  * arithmetic
  * scope
  * asynchronous
  
  Are there any resources or existing collections for these types of problems? Specifically looking for Javascript but I can adapt other problems to the language.
  
  **Tags:** pseudo-code, problem-structure
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-09-04. Score: 1
  
  I'm not aware of such resources, and I expect that there wouldn't be. These are great problems, but you (hopefully) only need to do a few of them until the concepts click into place.
  
  I didn't know these were called trace table problems, but I have often provided them to struggling students in three different contexts:
  
  1. **Absolute beginners**, where it helps students understand the ideas of assignment and execution order
  2. **Strugglers**, where it helps students understand whatever has them lost, and
  3. **Students working on very low-level problems**, such as assembly, or on processor design. Here it is more of a basic survival tool. There are few, if any, meaningful variable names, and working your way through the values is a straightforward way of figuring out what is going on.
  
  And this gets me to why I don't think you'll find a specific resource for problems like these: in all three of these scenarios, the actual prompt is the specific code we're studying. Tracing the values is just a tool to understand the code that is in front of you. The value-add (and the overarching purpose) comes from that code, not from the trace table per se.
  
  
  ---
  
  