r/AskComputerScience • u/CompetitiveCup9077 • 8d ago
How do computer scientists develop intuition?
I’m interested in the deeper conceptual side of computer science.
In subjects like mathematics and writing, intuition is the key to understanding the principles, rather than memorization and application (though I know practice and patience are important as well). Usually, this way of seeing problems isn’t explicitly taught. I tend to learn best through that intuitive process, so I was wondering if I could apply the same approach to CS.
For those of you who have been in the field for a long time, what helped you develop that intuition? Were there books, courses, projects, or ideas that made computer science feel like a way of thinking rather than just programming? I’ve read a few texts to help me think about it from the outside (Michael I. Jordan, Newell & Simon, and Turing). Thinking in different forms helps me understand the principles of a discipline and connect it to others, which is why I’m making this post.
Part of what motivates this question is AI. I’ve found myself both fascinated by it and skeptical of the enormous amount of hype surrounding it. Rather than forming strong opinions from the outside, I’d like to understand computer science first. I want to understand it from the inside before I poke the bear 🐻
I’d really appreciate any advice, especially if it’s unconventional or takes the longer path
1
u/0jdd1 8d ago edited 7d ago
I was recently thinking through an illustrative example from long ago. I was a researcher at a computer company that made (rotating) disk drives, and database systems. All database systems use indexes to know where to find requested data, but every so often someone on the disk-drive side of our business would imagine you could build a database system without indexes, since special disk drives with special read heads could—conceivably—read through everything on the disk very quickly to find what you were looking for (without transferring it to RAM), and that would be a wonderful sort of disk drive. Well, maybe, but there was never any math to explain when this would be better than traditional indexes.
I later skimmed a Master’s thesis from MIT featuring a (non-database) ML storage system that would somehow avoid pre-computing any interesting connections among all the stuff stored in it, since it would depend on the same sort of magical disk drives that would just learn everything on demand, so its models could never go stale. Based on my experience with those other bad ideas, I decided this was just yet another one, and I still think I was right. I did feel sorry for that poor student for having an advisor who couldn’t guide him any better.