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! =)

2 comments:

  1. Nice post Misha, I enjoyed reading it.

    ReplyDelete
    Replies
    1. Thank you, Andy. I am glad that I was able to share something to your liking.

      Delete