DEV Community

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

Collapse
 
antonfrattaroli profile image
Anton Frattaroli

The bits and bytes of storage to know which data types are appropriate to use, avoid overflows, utilize resources efficiently, flags.

Recursion - although recursion usually has sub-optimal examples. I think a good exercise would be to emulate a SQL WHERE clause with objects.

Loops - looping backwards. Not getting stuck in a loop.

Basic array knowledge. They'll probably never use (or realize they're using) a stack, heap, linked list but more will use dictionaries, ordered and unordered collections. Don't bother with sorting algorithms. I don't think trees would be a priority.

Inheritance, encapsulation...

Know just enough to be able to decide how secure you need a crypto class to be for a specific use. Random() usually doesn't cut it.

DB Indexing, maybe, if that's what you're in to.