🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Introspection

Published December 10, 2008
Advertisement
I realized something today. I do not learn advanced concepts well. This is a known problem. There's probably a lot of reasons why this is, and I have a decent idea about a few of them, but today I thought of a new one.

I am pretty smart. Or at least all the tests always said I was, and looking around for the past 20+ years affirms that. The key problem I've had for some time is that I might be a little too smart, and it's led to problems later in life.

I remember when I was young my father (a mainframe programmer) would get calls late at night when a program went bad. He'd sit there, right after being awoken in the middle of the night without a computer and quote line numbers to the guy on the phone regarding what code to fix. My childhood memory wasn't quite that good, but spelling tests are easy when you can recall the image of the word in the spelling book.

The other thing that made schoolwork easy was the ability to pattern match and do kind of extrapolation. A sentence's grammar is something of this type followed by a different type, followed by... fits mentally right in with algebra behaviors. And that's usually how I'd learn new things. The new thing follows this pattern, or the new thing behaves like this known thing.


So these sort of things were great in school. Most of (US, public) school is just memorizing and regurgitating things. The rest is learning pretty similar concepts in a vaguely different form.

Now as an adult, they're kind of sucky. My memory is mostly gone. I'll remember the shape of the license board in FFX or where we left off in the last D&D campaign or the ID of the user I worked on yesterday or who the Steelers quarterback was when they tied Atlanta... but not reliably anymore. And code? No way. It doesn't fit into the shape or pattern or however my memory likes it.

And as it turns out, mapping new concepts into old concepts only goes so far. It goes a hell of a long way mind you, but eventually you need (a few) new concepts to really know something different. And it's hard to get them when you've never needed to.

Perhaps more significantly, I have problems communicating certain things to people. I'll tend to describe coupling oddly for example. That the data organization should line up like a tree; just as actual personnel organizations and areas of responsibility; just as a graph of sciences and their interactions or a game's tech tree. I tend not to make any distinction between any of them, and the abstract concepts of relations, interactions, parents, 'weak' sort of ownership are all still sort of there even if they're not commonly used in that particular tree. And that leads to problems sometimes when other people just don't think of them that way.


Anyways, as I was saying, I realized something today. Another facet of learning problems I have is when people abstract stuff for me. I was looking at the wikipedia entry for Limits in category theory and my brain shut off. Not exactly surprising. But this time I realized why I hate greek lettering and the general 'blah is defined as blah op blah to blah blah blah op' that is universal to higher math resources and not a few programming language books/articles/guides. I can't conceptualize greek.

I just can't form a symbol in my head to represent the first element of the relation/equation. X is fine. I know what X looks like, what it sounds like, and reading it I can get a handle to 'some placeholder named X'. Greek? Can't do it. Things that I'm not sure are placeholders, or are some new abstract concept I don't know? Can't do it.

Further, I don't learn by taking an abstraction and specializing it to cases. I learn by taking hard examples (which give me nice solid things to use as symbols/images while thinking) and extrapolating them into the general case. So compare that wikipedia article to this haskell tutorial regarding list comprehensions. That tutorial is what kinda set off the light bulb for me today. It was the first thing I thought of after my brain rebooted. It's the same sort of math gibberish I have problems with, but it starts with an example. No problem at all learning what it is and even the mathematical notation it's based off of.

It starts with a nice set as the visual symbol and then edits it as the tutorial goes along describing what the example comprehension is/does. It describes what everything is in the example, and relates it back to the mathematical roots so that mentally I can make that footnote. It then does progressively more complex things, but always again from an initial state. It works fantastically for me; someone who starts with a known concept and maps new concepts to it, expanding or adapting the original concept as needed.
0 likes 4 comments

Comments

Trapper Zoid
I learn like that too. I can pick things up rapidly if I have a concrete example to work with or if I can properly visualise it, but I'm terrible at learning from abstract concepts. This would be fine if I didn't lack the common sense to avoid specialising in pure mathematics and then math theory heavy computer vision. I just don't get the pages of dry theory at all, but that's the meat of what they give you. And don't get me started on non-Euclidean spaces or anything beyond R^3.

So you're not alone. [smile]
December 11, 2008 03:22 AM
Daerax
you are not alone. From my research wiki, posted in sept 2008:

2008/09/12 22:35 by admin - Categorized as: Brainstorming
» Main Page » The Nature of Knowledge » Difficulty of Maths
[X] » Main Page » The Nature of Knowledge » Difficulty of Maths
Edit
Why Maths is Hard To Learn - Proof Project Discuss How:

* Language affects ones reasoning ability. What it does to ones world view is not discussed.
* Notation is a part of language.
* Powerful notations and readily parsed language are a powerful aid to thinking.
* The old need for a compact notation and how computers offset it. Note how this compact and highly overloaded notation with frivolous use of greek letters coupled with abstract concept with no practical manner to build intuition beyond doing countless exercises cause maths to be considered as difficult.
* The key to abstract thinking as an ability to relate using analogy and experience. Words hold meanings which are associated to concepts. Ability to gain comfort by treating these at first as black boxes is key.
* The use of computers as a tool for mathematical exploration and intuition building
* The use of computers as a tool for partial verification of proofs (e.g. static compilation of code brought to pure maths)
* A combined tool with easier less compact notation for easier parsing yet aided by the computer with ability to explore and partial verification useful for reasons of both pedagogy and research. Where with research the change in notation and ability to explore may be considered
...

Category Theory

....

Types and sets line up. Categories make use of functions and manipulating these will be key. Categories are actually an algebra of functions and computing with abstracted functions. Categorical logic is constructivist like computational.

An isomorphism between a cartesian categories and computation may prove to be the bridge be mathematical proofs and a language for proof exploration.
December 11, 2008 05:40 PM
Jotaf
I get what you're saying. But you need to *man-the-fuck-UP*. I've been in the uni for 5 years and it hasn't got any easier. Yet you need to take it like a man.

Look at this for an example: I'm just like you, I learn better from that kind of material, yet I've been looking at incomprehensible papers for 2 months now, only because the notation for maximum-weighted maximal-matching in graph theory is completely random. (Really, its distribution is like white noise.) And I need to get started on my thesis somehow. Teachers don't help, material is awful, but I need to keep on searching, keep on reading, til' I hit another "Eureka!" moment and get another piece of the puzzle. My advice is this: If you wanna get better at programming, there are TONS of roadblocks ahead of you. But you can do it. Nobody said it was easy, but you can do it, just like many did before you, despite all the adversities, and just like many others will after you. It sounds kinda cheesy, but ultimately it's a kind of a Will check of 1d20 against a target of 2. (or less.) All the conditions are *not* right, but still it's no excuse. Just get that motivation, nevermind the obstacles, and keep going at it.

Strangely I got some of my inspiration from random articles on the net, and some of it from that movie The Last Samurai. Those guys kept going for *years* training in their arts, and then died in a fuckin' *impossible* battle for some god forsaken piece of land. The scene that did it for me was that when the western guy said "they choose one field of expertise and focus completely on it, from the minute they awake to the minute they go to bed, and these guys don't rest until they're the best at it. or at least pretty darn close." --or something like that. Talent without persistence is a waste, but with it: you get pure genius. And you get to be that genius :) The alternative option is to be a couch potato who claims to have "all the potential". :P
December 11, 2008 09:56 PM
Telastyn
Umm okay. That's complete crap.

Considering it just like the Last Samurai makes it even more crap.

The Last Samurai is romanticized stupidity; claiming some honor, dedication and artistry is worth disregarding better options staring you square in the face. The justification that kept game devs writing things in ASM 5 years too long and will keep them writing C++ for another 5.


If you encounter a wall while learning, the solution is not to run into it harder. It's to do introspection like this. For me to see why that wall exists for me, and how I can get to my goal via another route.
December 11, 2008 10:31 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement