FACULTY COURSE ASSESSMENT REPORT

Computer Science and Engineering 

 

CS 161 Design and Analysis of Algorithms

 

Academic Term:   Fall 2023                       Instructor:   Dillencourt

 

Student Outcome Indicators (evaluations of CSE students only):

 

For each student outcome indicator, identify (1) the assignment (which quiz, quiz problem, exam problem, or project) was used to assess that indicator, (2) the maximum score possible on that assignment, (3) the performance standard for that assignment expressed in points and also as a percentage of max, (4) the number of CSE students who were assessed on that assignment, (5) the average score achieved by them expressed in points and percentage of max, and (6) the number and percentage of CSE students who achieved the performance standard.

 

This course assesses Outcome Indicators C1a, C2a, C2b.

 

C1a – Students have an ability to analyze a complex computing problem and apply principles of computing and other disciplines to identify solutions

C2a – Students have an ability to design and implement a computing solution to meet computing requirements

C2b – Students have an ability to evaluate a computing solution to determine whether it meets computing requirements

 


Student Outcome Indicator

Assignment used to assess students

Max score avail

Performance standard score and % of Max

# of  CSE students tested

Average score and % of Max

# and % of CSE students who met the standard

  C1a

Midterm 2 #7

8  

6 = 75%

35

7.8 = 97.5%

34 = 97%

  C2a

Midterm2 #8

7  

5 = 71.4%

35

5.9 = 84%

29 = 83%

  C2b

Midterm 2 #4

7  

5 = 71.4%

35

4.2 = 60%

21 = 60%


 

What changes did you make in this course based on previous assessment results?

 

None

 

What recommendations do you have for improving the course the next time it is taught?

 

I have no recommendations for improving the course. I have some recommendations for addressing certain issues that arose in this offering of the course.

 

What recommendations do you have, if any, regarding prerequisite courses or other ways to improve student preparation for this course?

 

Over the course of the quarter, the TAs and I noticed that some students were having an unusual amount of difficulty analyzing algorithms and code fragments. One example of this was an unusually poor performance on Outcome Indicator C2b, which is addressed in the next question.

Another more striking example is that students had trouble analyzing simple loops, such as the following:
for i = 1 to n^4
x = f(i) //assume f(i) can be computed in constant time

Some students had difficulty understanding why the running time for this loop was O(n^4) rather than O(n). They were convinced that a singly-nested loop always runs in linear time. This is not a problem I have encountered in the past.

I can think of three possible explanations for why they might have been having this level of difficulty analyzing a simple algorithm.

One possibility is that this was just a one-time aberration, perhaps due to an unusually ill-prepared cohort of students or a statistical fluke. This may prove to be the case, but in the meantime, it is appropriate to examine other possible explanations.

A second possible explanation is that students are not being prepared properly in their prerequisite courses here are UCI. I do not believe that to be the case. I have checked with current instructors for ICS 46, which is a prerequisite for this course and which introduces students to the basic concepts of algorithm analysis. They have assured me that this is something that is covered and tested in their classes.

A third possibility is that students who transfer here from other colleges and universities are not coming in with the same background that they would have if they had entered our program at the start of their university studies. Transfer students are given credit for courses here based on having taken purportedly similar courses at their previous institution. For some courses, the decision whether to grant credit is based solely on a comparison of syllabi. For other courses it is based on an examination. Not all of these examinations are particularly rigorous. For example, some are multiple choice tests, and in some cases the examinations are administered online with no proctoring.

I recommend we move toward making a more rigorous assessment of students' knowledge of the material in required courses in our curriculum that they have not taken here. For some of these courses, it would be appropriate to require students to pass an examination on the course material in order to waive the requirement to take the course. Such an exam should be either a proctored written exam (not multiple-choice) or an oral exam.

As noted above, it might prove to be the case that the degraded performance seen here is a transient phenomenon. We will vigilantly monitor student performance in the next few offerings of the class.

 

Note any Outcome Indicators for which under 70% of CSE students met the standard. What are the plans to address these issues?

 

Only 60% of CSE students met the standard on Outcome indicator C2B. The last time I did the assessment in CompSci 161, which was Fall 2020, 84% of the CSE students met the threshold. This is a significant difference.

As described in the answer to the previous question, in the aggregate this cohort of students had less knowledge of elementary algorithm analysis than previous cohorts. This may well explain why they performed poorly on the C2B indicator, which was a more advanced question about algorithm analysis.

As noted in the response to the previous question, this could be a one-time occurrence or it could be part of a trend. If the latter, part of the solution is to tighten the system for waiving prerequisites for incoming transfer students. This is something that would need to be addressed more globally, and not as part of this course.

One thing that can be done within the confines of this course is to give a test assessing prerequisite knowledge at the start of the course. Students would be advised that if they do not perform at an appropriate minimum level of competence, they should drop the course and not take it until they have filled in the holes in their knowledge of the prerequisite material.