Is Data Structures course old school?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
6 replies · 3K views
SpaceDomain
Messages
58
Reaction score
0
Hello. I am an EE student with two semester left. I can optionally take a course on Data Structures from the CS department this next semester but am unsure if the material is old school or is still relevant today.

The course covers the following topics with programming assignments in C:

Stacks
Queues
Linked Lists
Trees
Heap
Graphs
Sorting & Searching

The following textbook is used:
https://www.amazon.com/dp/0534390803/?tag=pfamazon01-20

Is this stuff old school or useful material to cover?
 
Physics news on Phys.org
I use all these data structures in my programs, but I am old school as well.

Seriously, these are basic things that were used and will be used always.
 
Those algorithms and data structures are extremely important in programming. If you're going to do programming later, then you'll have to self-study them anyway. So a course isn't a bad idea.

Maybe you'll even get into algorithmic complexity, which will learn you how to program something fast.

Even Obama knows about it:

https://www.youtube.com/watch?v=k4RRi_ntQc8
 
This is fundamental to any "serious" computer programming or software design.

You could argue that the teaching method is a bit "old school", because for real-world programming you would use the implementations in the standard libraries for languages like C++ or Java - and to do that effectively, you need more than a superficial knowledge of the C++ or Java language. In other words, knowing how to use them (and how to select the "best" one to use) is arguably more important than knowing how to implement them from scratch.

But that isn't an option if you are using C rather than C++.
 
SpaceDomain said:
Is this stuff old school or useful material to cover?

Extremely, extremely important.

In day to day programming you won't usually be asked to rewrite a hash map since you can pull one out of your toolbox, but you'll need to know exactly how one works so that you know when to use and not to use one from your toolbox.
 
Okay. I am sold on taking the course.
 
I do embedded software for a living and if you aren't already familiar with the concepts then it is an incredibly important course.

As mentioned, higher level languages have libraries to provide the functionality but it is necessary to understand the hows and whys of the structure in order to both choose the best one for a problem as well as for debugging. If you work closer to the hardware (C and ASM) you will likely have to implement these for yourself.

Also, most interviews for software positions will include questions about data structures and algorithms.