TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How does one develop abstract thinking for math and computer science?

13 pointsby equilibriumalmost 5 years ago
I'm working through introductory CS and Discrete Mathematics courses on my own and I've come to notice that I have difficulty thinking abstractly. Any words of advice on how to develop my abstract thinking abilities?

7 comments

PetrGalmost 5 years ago
As a profesional mathematician I can say the following: Always start thinking from an example - first take the most simple one that you can come up with, then gradually increase the complexity and include all the possible unusual, weird, extreme, ... cases to really understand why the abstraction is formulated the way it is.<p>No mathematician ever came up with an abstract theory from the top of their head - they also started from examples and were gradually increasing abstraction only when they understood the matter on a certain level and needed to express this understanding in a simple abstract language in order to move on to the next level of complexity...<p>It takes quite a lot of time to learn abstract mathematics this way, but it is the only way when you really want to understand what is going on.. But it&#x27;s normal, mathematical texts are just extremely &quot;dense&quot; - you are not supposed to read them in the same way (and speed) as say history or biology books. So take your time , read every sentence and every formula, read it multiple times if needed, and always have one or more examples in your mind that on which you visualize (in your mind or on a piece of paper) every single bit of the abstract theory you read. It is slower than just reading, but with experience you will be able to it faster and faster until it will turn into a process that automatically runs in the background of your mind anytime you read a mathematical text..<p>Good luck!
评论 #23983961 未加载
评论 #23999122 未加载
brudgersalmost 5 years ago
Practice. Hard subjects are hard. But there&#x27;s no deadline. No test in six weeks. You&#x27;ve got years and years to work on it. Good luck.
评论 #23999097 未加载
vonwoodsonalmost 5 years ago
Many very successful mathematicians “only had a few tricks up their sleeves” when they developed their life’s work. They reused these “tricks” over and over. Don’t feel like you have to know everything. I’ve never been more satisfied (and validated) when I have achieve a great solution to a problem, only to find out that I’ve re-discovered a theorem. You’d think this would be a waste of time, but actually it leads to a sudden explosion of knowledge and gives insight into the edge cases you wouldn’t have thought of without a lifetime of effort.
nanonanalmost 5 years ago
Research inductive reasoning. But beware, ideologies gained from abstraction are seductive in their simplicity and can utterly fail to handle complexities of real life. Super Thinking, by Gabriel Weinberg and Lauren McCann is a fantastic read on using abstractions as mental models.
codeslave5almost 5 years ago
Look up:<p>The Structure and Interpretation of Computer Programs<p>It’s a classic text on computer science that starts from basics and goes into functional programming
评论 #23999108 未加载
makstaksalmost 5 years ago
I find drawing abstract ideas helps make them concrete. It&#x27;s slow at first, but with repetition it becomes easier.
neuroticfishalmost 5 years ago
The only way to learn is to practice. Use practice problem sets in textbooks.