4 ms·
It's true that most engineers are not going to implement a binary search algorithm or an optimizing compiler during the course of their employment in a typical
by kgilpin 7y ago
It's true that most engineers are not going to implement a binary search algorithm or an optimizing compiler during the course of their employment in a typical year.
However, CS fundamentals are the language of software engineering. It's important for engineers to be able to communicate efficiently about things like runtime analysis, indexes, concurrency models, type systems, etc.
Your mechanic knows how a carburetor works, (s)he knows how brakes work. Mechanics have a common set of fundamentals that they all know and share, and can use to communicate with each other about their work. The purpose of this knowledge is not to be able to fabricate new car parts, although given time and the right equipment, it could probably be done.
The purpose of CS fundamentals is not to so much to implement complex algorithms, as to understand how to use tools and libraries that are based on them.