Is the undergrad CS curriculum at a top-tier university really that different from that at a regular university?
I ended up learning some data structures and algorithms through ACM and codewars.com, where my peers from better schools learned them in class.
I've had multiple classes where professors said they had to remove programming assignments and projects from the course because it was reducing the pass rate below acceptable levels.