anchor.diff:         :long_name: Practice Exercise for Traveling Salesman Problem
       </pre>
   
  -    <p>In the code above, RST parser parses the information of exercise, in
  -      case of RST file shown above, it will parse the 'long_name' field of two
  -      exercises.
  -    </p>
  -
  -    After that, it finds the course offering exercise object with course
  -    offering id and resource_link_id object received in a request. A
  +    <p>In the code above, the RST parser parses the information for the
  +      exercise. In the case of RST file shown above, it will parse the
  +      'long_name' field of the two exercises.
  +    </p>
  +
  +    Once the specific exercise has been fetched, OpenDSA finds the course
  +    offering exercise object with the course offering id and the
  +    resource_link_id parameter received in the original request. A
       resource_link_id is a unique id referencing the link, or placement, of the
       tool within the consumer's pages.<br><br>
   
  
positive.code:                                   total_correct, proficient_date,first_done,
                                    last_done")
      </pre>
      If exercise is not from a book instance then the request will have
      'instCourseOfferingExerciseId' parameter, which means that individual
      exercise is directly added to the course. Here it fetches number of
      attempts on this exercise and current progress of a student using the
      course offering exercise id and user id.<br><br>
      <pre>
      else
        @odsa_exercise_attempts =
  
negative.code:     end
      </pre>
    <p>
      At this point student will view an exercise. Following in an example of
      OpenDSA Binary Tree exercise as an assignment in Canvas.
      <div class="text-center">
        <%= image_tag "OpenDSA/single_exercise.png", style:'width:40%' %>
      </div>
    </p>
  
    When student completes an exercise, OpenDSA sends a new request to
    <strong>assessment</strong> endpoint from JavaScript. The <em>assessment</em>
    sends score back to Tool Consumer if the request was called as an assessment.
    <br><br>
    Within assessment endpoint, initially OpenDSA checks if the exercise is from a
    book instance or not. If exercise is from a book instance then the request
    will have 'instBookSectionExerciseId' parameter. OpenDSA fetches the number of
    attempts on this exercise and current progress of a student using the book
    instance exercise id and user id.<br><br>
    <pre>
  