Magic the Gathering vs Programming: Perceived value of learning material and it’s effect on motivation

Reduced perceived value by division

If you want to get someone interested in programming, one of the best ways to do that is to teach them the simplest program that runs and produces something useful. A good example is the “hello world” program. When people realize they have just made a program that communicates, it’s an empowering feeling. What is not an empowering feeling however, is to start off by teaching them about characters, ascii, bits, bytes, the compiler, ect. Not empowering because it doesn’t teach them anything actionable, that will feel valuable. My philosophy of this is that even if you know how important bits an bytes are, the mind is geared towards what is useful to it in the present. What is most useful, most valuable, most cutting edge. On the other hand if you try to teach them a full program for a game right off the bat, that will also be dis-empowering for two reasons, one is that it will take a long and frustrating time to learn something useful, and two I will explain it the next segment. Maybe we just have a natural sense of how long we should spend learning something, what is a suitable amount of time to spend to gain something valuable, what is efficient.

In Magic the Gathering, everything is an object. A card, with a few lines of text maximum that can do something. Cards like mana, and attackers and direct damage spells are like functions like hello world, and adding two numbers together. They are obvious value objects. When I was a kid, those were the cards I wanted when I started playing because to me, those felt easiest to start having fun with. I feel programing works the same way. Then you have cards that effect the other cards in play and you realize the value of those cards. At the same time, you are getting a feel for the whole game through these cards and realizing what is a good card, a bad card, what will and wont work. Eventually you will start thinking, I wish I could have a card that did this or that, then I would win, ect. That would be the development of motivation for a beginning programmer as well. So basically I feel like programming shouldn’t even be taught line by line. They should be taught function by function, object by simplistic object. Then slowing things should be combined together creatively and strategically to create new things. Then eventually the basic logic will sink in and the person will think, it would be cool if the function did this instead, only as it’s a program and not cards, they will be able to do that, and have the background to know what to do.

Reduced perceived value by summation

I realized when I try to follow tutorials, I feel inspired around the beginning when they show one thing, one function and how it works. I follow the instructions and create the same function and get it to work and I understand exactly how it works and it’s cool. How ever, as they try to teach further by building onto that same module, I find that understanding takes more and more effort as all these things are being introduced as part of the whole instead of shown in isolation first. Not only that, but seeing them as only parts of the whole, shows them in a light of being only useful as part of that whole, instead of as valuable as individual entities. Therefore, the more things are taught in this way, the less I will feel I am actually learning. For example, you learn how to print out hello world. Your first program amazing. Then you learn how to print hello world in a window based on inputted data, just for example. The detracts value from both of those ideas when they are introduced as one whole. It would have been better to introduce the idea of imputing data separately. The inputting co-ordinates separately, then showing a window, separately, ect then putting them all together.

In Magic the Gathering, we are not introduced to the game by someone handing us a deck. At least not as kids, at least not for me. For me, I saw a blue mana, and a few other cards and said wow wtf is that? What does that say? Tap for mana? What is mana? What does this thing do? If someone handed me a full deck, I’m thinking I would explore it card by card and try to play with maybe a few cards only, like I did at the beginning as I was only given like 5 or 6 cards by a friend. I study each card individually and then try to use two of them together to make something happen, then I get more cards and add them and try to explore and make more things happen. At the same time, kids would be telling me, this is a “good card”, this is a very good card, This card might seem like it sucks but you need it for this card, ect. So you realize all the cads have a kind of intrinsic value, instead of it being just one big deck. I feel that programming should be taught as separate functions. I mean,  feel each concept or function introduced should be introduced in isolation in it’s most basic usable form, so it’s value can be understood better and therefore learning it would be more motivating.

What I’m doing

So what I realized is that these tutorials for pygame were just going to far without enough introductions and so I decided not to completely scrape what I was working on, but to kind of take out anything besides the minimum viable product and then slowing work in more things. I feel like sometimes I get ahead of myself, trying to create something new without having enough background at it just makes me feel nauseous because I know deep down that I’m just wasting time. It just get’s to me because I feel like maybe all the smart programmers learned everything just by being smart lol, and that unless I try to emulate that and basically reinvent programming, I would be any good. I actually feel that’s one of the bad ideas I learned from my college professors, like if I don’t want to learn this way maybe I don’t like real programming and just want to copy. However, not only does that seem silly when I think about it but since it’s not fun at all for me to think about it, I might as well not go about learning that way. Sure these programming languages were developed by people over time, but that doesn’t mean beginners should feel obligated to do the same thing.

I am working with pygame creating plat formers and I’m going to have a look at most of the needed functions and concepts in isolation first, as created by someone else, and then work on putting them together to make something interesting. I mean, I might have to follow tutorials, but I’ll just take out every function they introduce and try it out in isolation first. Btw I feel like I find the physics engines in game programming to be interesting. Not sure why that is, I guess my Ne sees the possibilities for alternate physics realities and find it interesting. It gives me a sense of power as well, but maybe it’s the Ti can sense that something like a physics engine is empowering for me to grasp, even if without the financial potential, and it’s motivating. I mean, I like music, but you would think I would get more psyched up about creating a killer song and want to experiment with music all the time but it obviously doesn’t work that way. It doesn’t feel constructive enough for me and I feel that could be my Ti talking. So I feel like I have this need to do something constructive. I feel I have always had that, and remember my first time feeling basically euphoric over a k’nects set as a kid. I mean, I guess I could feel a similar feeling from running a business but why go through all that trouble when I don’t have to. I also wonder why I’m less interested in mechanical engineering and stuff like that but I’m guessing that stuff is less cutting edge and also harder to get into than programming. Even my university classes mostly psychology don’t feel very constructive to me and therefore not as much fun. I feel like maybe the reason why I feel bored is that I need something constructive but am finding so much discouragement from lack of social atmosphere in the areas I’d like to construct in, as well as discouraging teaching methods by teachers who don’t understand/remember what a beginner enjoys.

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: