# 2.4. Analysis

For Section 1 taught by Jeff Smith, the only concern is regarding the task 4. In this task, students are required to return a function as a value. Students were tested on this task with a programming question. The question, shown below, posed to students was rather challenging, and it is expected that many students would have difficulty answering this question.

________________________________________________________________________

Define a function `ordered-tree->procedure`

that takes a list of symbols and an ordered tree and returns a function with the
given list of symbols as its parameter list. The function should evaluate the expression
represented by the ordered tree. So for example, the value of

((ordered-tree->procedure

'(y)

(make-ordered-tree

*

(list

(make-ordered-tree 10 null)

(make-ordered-tree 'y null))))

5)

should be 50. Recall that leaves of an ordered tree are represented by trees with an empty list of children.

*Hint: construct and evaluate a **lambda** expression for the function represented by the tree.*

________________________________________________________________________

Above: Question assigned for Task 4 in CS 152 Section 1

For Section 2 taught by Johnny Martin, the task that students had the most difficulty with was Task 2 and 5.5. These tasks were tested by Midterm Exam 1 Question 17, shown below.

________________________________________________________________________

*M1-Q17:* 11 answers 5pts, 6 answers 4pts, 3 answers 3pts, 2 answers 2pts., 1 answer 1 pt,
13 answers 0pts.

Supports: TASK 5.5

THIS IS A PROGRAMMING ANSWER QUESTION, NOT M.C.

Implement a tail-recursive JavaScript function, filterEvens that takes 1 argument, an array of integer numbers, and returns a new array containing only the even valued numbers of the argument array.

x = [1,2,3,4,5,6,7];

y = FilterEvenTailRec(x)

print(y)

[1, 3, 5, 7]

Important: filterevens() must be tail recursive.

________________________________________________________________________

Above: Question assigned for Task 2 and 5.5 in CS 152 Section 2

This question is straight-forward, and tail recursion is one of the key concepts students should learn, according to the course outcomes. It is a concern that students have not learned this concept well.