I would say algorithms, and, more specifically the *analysis* of algorithms is the most thing I retain from college. An understanding of data structure is important, of course, but most modern programming environments like Java and Cocoa provide collection classes that obviate the need to ever construct your own linked list or hashtable. It's not as easy to eliminate the need for programmers to be fully aware of the performance consequences of their design decisions.