I took that course in '96, as a lost liberal arts major, with no background in CS. If you paid attention & didn't get behind in course work, it was an easy A. Most of the people failing that class never bothered to do the course, or claimed to already know how to program. The lecturer I had was Richardson, and I used to model my courses in grad school after his; he was a gifted educator.
This was the key fact. They knew how to program Pascal from Computer Science AP and got 5's on the AP exams and came into UT Austin with abundant confidence but when presented with hardcore mathematical logic data structures and algorithm analysis in functional programming starting week 1 of college they got the rug pulled out from the under them. Of course, this was real computer science, not "infantile" imperative/OOP programming.
Ham "Haskell" Richardson was a total fanboy of Dijkstra!
I will note that the current 1st UTCS course is a serious joke - CS312 was a remedial course, non-counting for major, before 2014, called CS 305J. It's an embarrassment compared to Berkeley's CS61A.