Yeah, self-balancing trees are a little tough, but I'm sure you'll get it.
Also, I have never used any of these structures again after implementing them, and I'm a 4th year and have done industry co-ops. Dictionaries, hash tables, arrays, graphs, stacks, queues, and lists are important, but not so much self-balancing trees and such (although sometimes things like that are the underlying implementation of certain types of lists, tables, etc, to decrease lookup time).
Having said that, learning how to implement them is absolutely invaluable and makes sure you know them backwards and forwards. It also teaches you a lot about big O and how to think algorithmically to a certain extent. Those intro classes are definitely worth your while, even if not all of it is directly applicable, I promise.