I have helped to TA and taught several courses with mixtures of advanced undergraduate and early graduate students in engineering/STEM. These courses are the classics: signal processing, control, optimization and (more recently) machine learning. The mathematics used in these courses run the gamut from linear algebra to multivariable calculus to probability and so on.
I am noticing that students coming into these courses (upper-year, shy of graduation, or beginning graduate/master students) basically have very poor ability in manipulating basic mathematics that they were taught and used over the years.
Some common problems:
No respect for dimensionality. Suppose $Av$ is a column vector, students will equate it to a row vector, a matrix, or even a scalar. This is by far the most common one.
Wild manipulations, such as freely dividing a matrix $1/A$ and basically treating a matrix as a scalar. Similarly, freely dividing vectors, raising vectors to powers, etc.
Incorrect beliefs, such as, "if a matrix $A$ is symmetric, then it has an inverse."
Some students are coming into advanced mathematics heavy courses without basically any background.
I am really at a loss as to why this is happening and what should be the correct remedy, as it seems that it is not easy to address this late into their study.
Also there seems to be no improvement despite feedback and I'm constantly being surprised by some "new mathematics" that the students would invent in the homework or tests.