I didn’t go to university in the US but I aren’t to one of the most prestigious/competitive/highly ranked schools in the country (I recall thinking it was the top but could have been biased; it was perhaps number 2) which feels comparable. There were a few differences from the US:

1. Most people would only take courses from their ‘major’ which they would apply specifically for rather than taking various courses from different departments. There was choice, e.g. science students were all grouped together and could choose from ‘normal math’ and ‘extra math’ with some people (e.g. those interested in physics) encouraged to do the harder course. Another counter example was a classist I vaguely knew who took one of the hardest final-year math courses (it began with ZFC and nonsense like proving that x -> x, and quickly ramped up from there)

2. Generally people were marked on exams and (at least in mathematics) everyone took the same exams and answered questions from their courses. Homework did not count towards final marks and wasn’t even graded.

Some thoughts regarding the article or courses at ‘top universities’

1. For some students it can be good to just get a lot of practice at doing a long chain of operations without making mistakes. This is a common problem from school where most questions don’t have many steps and have lots of checkpoints, e.g. (a) prove trivial step 1. (b) hence do trivial step 2, (c) hence do trivial step 3; rather than something more like ‘solve the problem by figuring out what the 5 steps are and following through without making serious blunders’. Maybe that was part of the point of the course. I don’t think my university would have wasted a course on this point though. We did have some early courses that were partly just building mathematical maturity though.

2. Not getting any answers to exercises is bullshit. Doing the exercise is meant to teach you something, and knowing the answer (or rather the thing you were missing to solve the exercise) feels pretty necessary. Towards the purer end, it’s quite typical that an exercise is basically ‘try to prove this thing that we give you the tools to easily prove in a few chapters’ and (after a time) you are generally expected to be able to work out for yourself if your solutions are correct. But having a good solution can be very helpful. It feels like it is usually good to have students suffer on an exercise for a bit and hopefully solve it before showing them the ‘nice way’ but it is still important to learn the better way to do the thing you figured out. For example, you could blunder around doing some horrid algebra and then be shown an easier way through, or some property you ought to have spotted. [1]

3. The professor (or better, someone who knew what they were doing in small groups) should have gone through the exercises and the answers. (And they would ideally be exercises where you would learn something rather than just doing calculations). The way my courses worked is that people would get given ‘homework’ exercises, attempt them (typically alone) and then some phd student/academic would read the submitted homework and go through the answers with students in small groups of 1 or 2. There would typically be problems that were too hard but whose solutions (or incorrect proof attempts) would be instructive[2].

4. Possibly they were expected to come to office hours for help but didn’t because they couldn’t work out how to interact with the professor or didn’t realise that that’s what they were meant to do because they were new/from the wrong class.

5. Knowing about matrices is useful and necessary for many other things but it feels like a poor introductory course. I think it’s better to focus on something that is new, mathematical (in the sense of doing proofs not calculations), and doesn’t have many dependencies. Like ‘introduction to some number theory and how to prove things’ or ‘elementary group theory up to the first isomorphism theorem’ or if they already know what integration and differentiation are, maybe ‘analysis with epsilons and deltas from sequences to Riemann integrals’. It’s also possible to have a good course with matrices (see my other comment on this thread) without having a bunch of pointless manipulation of grids of numbers.

[1] two examples come to mind: 1. Consider the problem of giving someone a gift such that they get $x after deducting a flat tax rate. You can imagine giving them $x and then topping that up by $(x - tax) and then topping up again summing the geometric series to get the answer, or you can just do x/(1+tax rate). Similarly there’s the problem of the fly going back and forth at constant speed between two trains moving towards each other. 2. The question was ‘find a space X and retractions from X to the annulus and to the Möbius band’ there is an easy visual answer: take a solid torus (S1 x D2), parameterize in R3, and carefully define your functions. But there was also some even easier answer, something like take the product space of the annulus and the Möbius band and the retractions are trivial. It was useful to know how much easier things could be. (Possibly the question was about deformation retracts).

[2] An example from an earlier course would be ‘construct a function R->R that takes every value on every interval’. I think I wrote some nonsense like the limit of tan(nx) as n->infty, which at least led to some discussion. The canonical answer is Conway’s base 13 function. A classmate of mine came up with a scheme based on something we’d proved earlier: any convergent but not absolutely convergent series (that is a sequence a_n such that sum_1^n a_i converges as n grows but sum_1^n a_i| does not) can have its terms reordered to make it converge to any value. Other examples could be logic/AOC puzzles about infinitely many prisoners suffering cruel punishments, hard proofs related to the topic, or ‘what is yellow and equivalent to the axiom of choice?’