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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Are you an active or reactive leaner?

12 点作者 quan大约 16 年前
Recently I have this bloated piece of code that's giving me a lot of problems so I decided to investigate design patterns more closely. I've heard a lot about design patterns, I read the Design Patterns book, I even wrote a 10-page paper about it. But for some reasons, I couldn't wrap my mind to understand what each pattern is and how they work. Now, with a specific problem at hand I was able to read and understand a lot of patterns, up until I found the one to my problem. This is how I found out I'm a reactive learner (I'm not sure if I'm using the right word).<p>I always know there's something inefficient about the way I learn. I'd sit in class not trying to learn anything when the professor talk about theorems and proofs. And then when he moves on to the examples, I would instantly get it. I found my mind more stimulated to learn if I know the concept is useful to a known practical problem. It seems that my brain deliberately procrastinates and defers learning new abstract concepts. But this mode of learning wastes a lot of time.<p>I'm just wondering what percentage of other hackers are like me? Is it nature or nurture? I'd say it's probably mostly nurture as I spent the earlier half of my life in an education system where students are practically spoon-fed. I'm always amazed at others' ability to instantly grasp abstract concepts. What can I do to be more active when learning new abstract concepts?

10 条评论

ewjordan大约 16 年前
I suspect you have generally felt uncomfortable because you're hitting your head against the fundamental paradox of education: the most compelling, important, and unifying aspects of any field as measured by an expert in that field are almost never helpful to someone learning the field, yet the expert finds it inconceivable to think of teaching without emphasizing those points early and often, since they are so important in the long run. After all, if not to share their wisdom so that it need not be rediscovered, what is a teacher there for?<p>But this is ultimately misguided: there's no way to cut out or even accelerate the process of digesting years worth of experience into "wisdom," and efforts to do so merely cause confusion for the student.<p>We see this again and again: math PhDs interested in "new"-ing up elementary math education think that concepts like the commutative, distributive, and associative properties would be <i>great</i> to sneak in to the curriculum, because it would give kids an early glimpse of what's so exciting about math, and it might even get them thinking abstractly early on! But the fact is, even for those of us that eventually go on to discover how exciting the more abstract stuff is, those lessons in our youth were entirely wasted, as we weren't ready to see the point yet (there's evidence that in that particular example there's even a brain development constraint that ensures children won't learn much in that way, but IMO this applies even in the absence of such constraints). Frankly, I had very little use for the concepts until I was well underway in a math major myself, and by that point I would have discovered them anyways as I needed them; the early exposure did not help one bit.<p>The real problem: most teachers don't understand what the true goal of teaching should be. Hint: it's not about shoveling expertise into students heads.<p>A great teacher has a unique gift, able to lead students quickly through the example phase and build naturally up to the point where high level concepts may be used to construct new examples, allowing the process to continue. A poor teacher is often poor precisely because they understand the high level too well, and they become unable to remember a productive path through those lower levels. Instead of leading students through an optimized sequence where material is presented at every point so that it maximizes learning speed locally, they mistakenly think that the concepts that help most at the expert level should be digested early.<p>As a concrete example, my first intro to programming class, which was theoretically for people that had never programmed in their lives, began with a discussion on the finer points of malloc. The teacher actually coded a basic implementation on the blackboard, thinking that was something we absolutely needed to see in our <i>first programming class</i>, ever! After which we were put in a computer lab to code, having been instructed that in this class the only editor we would use would be vi, because it's great, and oh yeah, here's a list of the most powerful commands, learn to use them or Fail. There <i>will</i> be a test. Needless to say, I learned very little from that teacher, though I have no doubt he was a true expert in his field.<p>For a good example, read just about anything by (obviously) Feynman.<p>There are very few good teachers in this world. I suspect that the few students that successfully gain significant amounts of knowledge from school and books generally do so more because they have learned to disregard what the teacher thinks is important and focus on what <i>they</i> need in order to learn, whereas other students get frustrated when they don't "get it."
nx大约 16 年前
I usually can understand abstract concepts, but also need, or prefer, to work all the way from the bottom up, just to make sure it works like I think it does. I can't just believe something the teacher tells me, I have to prove it works that way, based on past knowledge. But it is necessary to be able to function in higher levels of abstraction, I understand matrix multiplication as a bunch of dot-products, not as sums of products of numbers, for example, and from that easily derives the need for equal number of columns/rows.
FraaJad大约 16 年前
Maybe Design patterns is not so interesting or life-changing topic (from a programming point of view) after all.<p><a href="http://us.pycon.org/2009/conference/schedule/event/51/" rel="nofollow">http://us.pycon.org/2009/conference/schedule/event/51/</a><p>Some topics do not interest us. So, its fine if you don't feel connected to the topic at that moment.<p>Knowing the general "topology" of the topic for later recall and digging-into is more than adequate.
raquo大约 16 年前
Wow, I have an opposite problem. I instantly get absract explanations, but often fail to see patterns in real life.
midnightmonster大约 16 年前
I marked active because your described experience doesn't feel very familiar to me.<p>I either get concepts very quickly regardless of whether I need them at the moment or not, or else they don't click and I often get a bit intimidated by the foreign feeling. The appearance of a real relevant problem may force me to work to understand concepts I'm not comfortable with, but I don't think it particularly helps me understand.<p>The active style may in some cases help one solve problems more efficiently later, but the reactive style directly "wastes time" only when you're in school and have scheduled times to go spend several hours attempting to learn in ways that don't particularly work for you. If you're not now in school, probably you should just not spend any more time on something you don't yet need than it takes to have roughly an idea of when you might need it.
plinkplonk大约 16 年前
we probably need another option - "both" (I am not sure if "neither" makes any sense)
LBRapid大约 16 年前
I don't know if you are using the word correctly either (or if there is a better word to describe it), but I find my self on the reactive side as well.<p>I know in my java lectures I'm kind of zoned out and don't really pick up much on the material being presented. But wait until lecture is over and the lab session is starting, and I tend to be all over it.<p>I think also, to answer your question about what you can do to be more active when learning new abstract concepts, I try to relate it to something familiar. I have a lot of trouble in the calculus class I'm currently in. But I feel like if I take a theorem or proof and relate it to a problem that needs to be solved in ruby or java, I'm able to think about it in a familiar way and can generally understand it better than before.
shizcakes大约 16 年前
I think you'll find that most tech people will fall into the reactive category: that's what makes us so good at solving problems and figuring non-mainstream things out.
comatose_kid大约 16 年前
I'm an active leaner, unless someone pushes me and I happen to be near a wall. Silly joke aside, you should edit the title of your post.
ajkirwin大约 16 年前
I learn in three, I would guess, 'modes'. Passively, where you just pick up knowledge and information. Reactively, where you have a problem and you find what you need to solve it. And Actively, where you're just simply learning.<p>I however find Active learning to be very difficult, as my brain often tries to disregard it. "Oh well I doubt I'll ever need this, why bother keeping it.", it goes.<p>But if I have a task, or I'm just idly reading or listening ot something, I soak it up like a sponge.