# 4. Outcome (j) assessment

Outcome (j):  An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices

Assessment of Outcome (j) was assessed at the Advanced Level in CS 146 in all sections taught (Sections 2, 3, 4 and 5).

Note: Section 1 was not offered.

### Conclusive analysis

The percentage of students achieving at least satisfactory performance on each indicator is:

Indicator 1: 78.1%

Indicator 2: 65.7%

Indicator 3: 56.9%

The students did well in all indicators, except for Indicator 3, where only 56.9% of students achieved at least a satisfactory level of competence. Jeff Smith (the instructor for Section 3) performed further analysis on the students' performance and found that the errors were due to:

33%:  bad asymptotic results given, without explanation
23%:  problem not attempted, or barely attempted
11%:  steps of relevant algorithm stated incorrectly
9%:  only one data structure was analyzed
8%:  no data structure chosen, or incorrect or illegal choice given the asymptotic analysis
6%:  confused the number of vertices with the number of edges
6%:  incorrectly understood or applied the assumptions of the problem
4%:  other

### Recommendation

The question of which is the best data structure to use is a difficult one, because it requires students to have a firm grasp of many different data structures, and also be able to apply each data structure to the given problem, and analyze their space and time requirements. One way to improve students' performance is to give an example of a different case in class, before assessing students on this indicator, so that students have practice on how to apply, compare and analyze different data structures.