DEV Community

Discussion on: What computer science concepts should devs without a CS background prioritize learning?

janpeuker profile image
Jan Peuker

+1. The one thing I do regret most not paying attention to in my CS degree (which might be a good way to think about the question above) was probability and statistics. With ML this is becoming ever more important. Personally, I still don't feel 100% confident about my maths.

Regarding data structures and algorithms: I find most lists out there not really useful as they tend to cover data structures either not really in use anymore (e.g. linked lists) or so frequently used that a CS degree doesn't add detail (e.g. hash tables). The biggest advantage of a university course is that it should teach you concepts and ideas you might one day find useful (e.g. bloom filters) - instead of tools that make you productive right now. As such, I believe graph algorithms, binary search, finite state machines, lambda calculus and yes, complexity analysis, are the most useful ones (all mentioned below) - alongside various Patters which are also mentioned below.