CompSci 249s: February 8





GPS Syndrome activity from Kristin Stephens-Martinez

Model for Helper Hours Interaction

  1. When a student initially comes to office hours needing help, the UTA assigned to him/her should first give the student a couple of minutes to explain the situation and pose the question.
  2. During this time, the UTA should use effective listening and give the student his/her undivided attention.
  3. Sometimes students arrive without a specific question in mind, instead needing more general guidance or direction (perhaps offering the “I don’t know where to start” lament). In this case, UTAs should consider asking questions designed to guide the student to think more deeply about the situation and arrive at a more concrete question.
  4. Even after the student describes his/her question, UTAs sometimes still may need to take a few minutes to become familiar with the student’s work or code. This is especially applicable in situations where the student is debugging a large coding assignment with numerous classes.
  5. Once a UTA understands the situation well enough to provide either a solution or a suggestion for an action to take that might uncover a solution, the UTA should take several minutes to provide guidance.
  6. Note that by this time the UTA may actually not have identified the student’s problem, but should at least be able to provide helpful troubleshooting advice such as suggesting an action to take, clarifying a misunderstood topic, or giving a higher-level overview of the correct procedure.
  7. Whenever possible, the UTA should attempt to guide the student to seeing the solution himself/herself or at least explain how the solution can be discovered as opposed to simply identifying the solution without giving a rationale or explanation.
  8. Depending on the setting, if the UTA notices that other students have also been struggling with the same issue, this may be a good time to provide group instruction, either on a whiteboard or through a short “mini-discussion.”
  9. Before ending the interaction, the UTA should suggest a “next step” for the student that will advance the student’s progress on the assignment or elicit a better understanding of the subject. If the UTA was not actually able to solve the student’s issue (such as correcting a particularly obfuscated error message), the “next step” could be an action to take that might help the student identify the problem.
  10. Overall, this initial interaction should take no more than 10 minutes.
  11. If the student is planning on remaining at office hours to receive more help, he or she may request to see the UTA again once the suggested “next step” action was attempted.
  12. Ideally, the student would see the same UTA as before, since the UTA should already be familiar with the student’s situation. In this case, the UTA may be able to omit step #4 for subsequent interactions.
  13. From the perspective of the student, the overall structure of office hours should be defined by multiple short interactions with a single UTA, interleaved with time spent working alone to complete suggestions provided by the UTA.
  14. From the perspective of the UTA, office hours consist of braiding or interleaving short interactions with a small group of a few students in round-robin fashion so that each student gets both time for one-on-one instruction as well as time to work alone and complete UTA-suggested tasks.

Checklist for Managing Group Work Effectively

From Michigan's GSI Guidebook:

What to do before the activity/assignment:

What to do during the assignment/activity:

What to do after the assignment/activity:

Practice Problems

For your assigned problem, first explain how you would guide a confused student and then present a solution as you would to a small group of students.
  1. Write an algorithm that reads a file and print the k most frequently occurring words along with their counts.

    What is the runtime of your solution?

  2. Prove the following:

  3. You are the project manager for your company's largest software development project. You know that the best software has the most code, but there is a limit. Use too much code and your supervisor will say there is bloated code. Given a list of the sizes of various components you could include in the software, and the maximum amount of code you are allowed to have, determine the biggest size the sofware can be (your software must be less than or equal to the maximum). For example:
       sizes = {25,50,60,120} maximum = 130 
    Your method will return 120 since all other combinations of components either produce less code, or are greater than the 130 limit. If no software can be built return -1.


    Notes: If no software can be built return -1



    1. {1,2,3,4,5}
      Returns: 15

      All of the code can be used

    2. {20,40,45,60,60}
      Returns: 85

      Using 40 and 45 will produce the largest amount of code.

    3. {89,73,20,5,5,10000,900}
      Returns: 994

    4. {122}
      Returns: -1