It depends on the school's curriculum. I had to take an assembly language programming course (VAX!) when I was in college 10+ years ago. Pretty sure nobody had a class on hardware performance. The only time I was exposed to multi-threading was in an operating system theory class (mostly the concept of critical sections and semaphores). Linked lists usually appear in a second semester data structures programming course along with heaps, trees, queues, and stacks. I was first exposed to them in high school in AP Computer Science class. The same teacher also taught object oriented programming even though it wasn't required for the AP test.
Still despite all this, I know people who graduated with a Comp Sci degree that really didn't know how to program.