TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

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

13 点作者 equilibrium将近 5 年前
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 条评论

PetrG将近 5 年前
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 未加载
brudgers将近 5 年前
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 未加载
vonwoodson将近 5 年前
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.
nanonan将近 5 年前
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.
codeslave5将近 5 年前
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 未加载
makstaks将近 5 年前
I find drawing abstract ideas helps make them concrete. It&#x27;s slow at first, but with repetition it becomes easier.
neuroticfish将近 5 年前
The only way to learn is to practice. Use practice problem sets in textbooks.