Saturday, October 25, 2014

Why I Study Computer Science

I would like to believe that I study Computer Science because not that many people do. I think to myself that if I can learn how this supernatural machine works then perhaps I can wield its power for the betterment of mankind. Perhaps I can build a solution that helps people do something they thought was impossible before. To borrow a phrase from "The Imitation Game": It's the people that no one imagines anything of who do the things that no one can imagine.

Humanity

Computer programming makes us more human. As paradoxical as this sounds, it's true. Code is written to help humans accomplish their mundane and repetitive tasks much quicker so that they can move on to more intelligent and creative undertakings. Likewise, coding is an inherently social experience. A single coder won't get very far towards making a worthy project but a team of coders can accomplish great things. Each person specializes in their own skills so that each aspect of a program is programmed to perfection to create a profound user experience. Code is written by people, for people! 

The AP Computer Science Class

AP Computer Science is a difficult class. The concepts are abstract and hard to grasp. There are no turning cogs, no visuals, no observable steps. Everything about Computer Science is encapsulated into a big black box. You type in some code, and the computer spits out a result. That's it. What goes on inside the computer as each line of code is evaluated is up to your imagination. But that's the beauty of it -- everything is up to your imagination. You can simulate anything you want in a computer. The extent of how much your code can make an impact is solely dependent on how far you will push yourself. No one can say it is easy, but no one can say it is impossible.

Flexibility 

Because of the flexibility in code, problems can be solved in any way that you wish. There are no right answers. The efficiency of the code is measured by how effectively you can transcript your thought process into a program. There is a lot of freedom in how a programmer can accomplish his/her task, so this provokes an intuitive thought process. You don't have to copy someone else's way of solving problems like the steps to graphing a polynomial function. Instead, you already understand you own train of thought, so each successive step in solving the problem already makes sense to you since you made it up.

Resources! Boundless Resources! 

There are tons of places for sample code that you can examine and even use for yourself when you hit a roadblock. Moreover, there are often entire libraries and frameworks of pre-written code that can give you a leg-up on your project. This is just another testimony to how all code can be built upon to achieve bigger and better programs in a faster, simpler process.

Conclusion 

Programming, coding, computer science, or black magic. Whatever you want to call it, it is taking the world by storm. There is literally not a single reason to resist learning to code. It is the way of the future. It is the inevitable destiny of our species. Code is written by people, for people! =)

Tuesday, October 7, 2014

How to ALWAYS Be Productive 24/7

Foreword

I, by no means, ably completely to the advice I am about to state, so take head that I am not judging nor blaming nor commanding any of you reading this blogpost, lest it be the most hypocritical series of characters known to science. In fact, so much hypocrisy in one document has been known to cause black holes in the space time continuum, so take all that is written below with a grain of salt, nay, a  bucket of salt, nay a Russian arctic oil tanker's worth of solid NaCl.  

Main Idea

The reason we are "unproductive" is that the activities we choose to do in our free time do not accumulate to a learned skill or lesson. I will attempt to explain this phenomenon with my own experience.

A Personal Experience

In 8th grade, I would come home everyday after school, plop onto my bed, and watch several episodes of a YouTube gamer. The videos were only 20 minutes long (which didn't seem as long back then but it's an eternity now). I would watch one, and since the related videos were just a tap of a finger away, I would watch 2 or 3 at a time. I did not have many of the games that the YouTuber had, so I felt that I was playing the game right along with him without actually having to buy the game. 

Eventually, I noticed that I was indeed spending A LOT of time watching videos. Then, I realized just how much time everyday I had spent to this fruitless activity. The videos didn't make me laugh; they didn't teach me anything; they didn't accumulate to anything.  In fact, I wasn't even making the YouTuber any money since I was watching on mobile. Thus, I resolved to unsubscribe from all of my gaming subscriptions (all 7 of them, and that's a lot). 

I found that my grades had improved, and I was getting a lot more sleep. I was performing better in sports thanks to the new found rest. However, most importantly, I felt good about myself because I was making much better use of my time.

Moral of the Story

Make your "restful" activities something you know is useful. It is very difficult to start because you have to work hard. And it is always easier to just sit back and absorb entertainment. But eventually, you will become invested in the thing you started, and you will want to do it more and more. You will be using the same principle of addiction in your own favor! Also, a good idea is to distance yourself from "poisonous" temptations as far as possible. Delete YouTube from your favorites bar. Block YouTube from even showing up in your browser. Put a limit on the time you spend on your social media. You know deep down inside that these things are not contributing anything positive to you; it's just the temptation on the surface and a little but of laziness that is blocking you from taking action to make yourself a better person.