Is Data Structures course old school?

Click For Summary

Discussion Overview

The discussion centers around the relevance of a Data Structures course offered by the Computer Science department, particularly for an Electrical Engineering student considering whether the material is outdated or still applicable in modern programming contexts. The course includes topics such as stacks, queues, linked lists, trees, heaps, graphs, and sorting and searching algorithms, with programming assignments in C.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants argue that the data structures covered are fundamental and will always be relevant in programming.
  • One participant mentions that while the concepts are essential, the teaching method may be considered "old school" since real-world programming often relies on standard library implementations rather than manual implementations.
  • Another participant emphasizes the importance of understanding how data structures work to make informed decisions about their use and for debugging purposes.
  • It is noted that knowledge of data structures is often a requirement in software job interviews.
  • A participant expresses confidence in the value of the course, stating that it is extremely important for both day-to-day programming and deeper understanding of algorithms.

Areas of Agreement / Disagreement

Participants generally agree on the importance of the material covered in the course, but there is some debate regarding the teaching methods and the necessity of implementing data structures from scratch versus using standard libraries.

Contextual Notes

The discussion does not resolve whether the course is outdated or if the teaching methods are appropriate, reflecting a range of opinions on the relevance and application of the material in modern programming.

Who May Find This Useful

This discussion may be useful for students considering a Data Structures course, educators evaluating curriculum relevance, and professionals assessing foundational knowledge in programming and software design.

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.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K