How important are data structures in C++? I'm majoring in networking and going to grad school for MISM with a focus in networking. If I have a firm understanding of C++ concepts such as encapsulation, inheritance, recursion, polymorphism, templates, and exception handling will topics in data structures benefit me at all? The main reason I took OOP was to exercise by brain figuring it would teach me to think differently and gain better problem solving skills. How will data structures apply to this? Will it do anything for me that classes such as Calculus and Modern Geometry won't?

Thanks! :)

Data structures are central to programming. (A C++ class is a data structure.)

What level class is it? If it is lower than your C++ class then you might be able to skip it, but if it is only 100 or less points lower then you should consider it.

All network programming is performed by using a protocol to transmit structured data. (The deeper you get, the more you realize that data is code is data.)

It's a 300 level. It would be the 3rd semester of C++ classes. I've taken structured, and am finishing up OOP now.

The catalog describes the course like so:

This course introduces various data structures used in problem solving. Arrays, queues, lists, trees, graphs, and files are represented by using abstract data types in high level programming language. Applications studied my include recursion, searching, sorting, scheduling, parsing, and memory management.

I really want to take the course but A) the professor assigns so much homework that I lose track of every other class, including my networking classes, and B) I'm already taking 21 hours next semester. Picking this class up would force me to drop a required class and use Data Structures as an elective where I could be using something like Database Administration or Project Management. I don't know. What do you think?

Well, you could always take it the semester after next... But I recommend that you not skip it. However, what I think is not necessarily what is best for you. Go make an appointment to talk with the head of the CS department and he'll be better able to help you work out a schedule that satisfies your goals.