| 
  • Earn a $50 Amazon gift card for testing a new product from the makers of PBworks. Click here to apply.

  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

View
 

Career-Discourse

Page history last edited by PBworks 12 years, 1 month ago

Computer Science

 

My career discourse in in the topic of computer science. Over the past few decades, technology and computers have truly grown at what seems like an exponential rate. It seems that in every computer science course I take, the professor tends to talk about "back in the day" when they would use punch cards to write code. One of the frequently asked questions regarding my major is "what do you want to do with that?" That question never fails in arising in a conversation, and a very good question it is, and to which I have no answer to.

 

What intrigues me about computer science is the fact that we as humans can manipulate the computer to do what we want, and in a very short amount of time. Another part of programming that I like is the critical thinking aspect of it. Computer Science is not sitting down at a computer and constantly writing code, although at times it seems like that. It is actually very bad programming practice to start coding before you even figure out how you want to go about solving your "problem." When you are presented with the problem and what you want to code, first you must take time to think about how you want to tackle it. Once you have a pretty step by step process laid out in your head, or on paper, you can begin to write your code (which is actually the easiest part). And finally to be a really good programmer, you also have to worry about efficiency. Efficiency plays a big role in writing code because it does not matter if you can get the computer to compute the sum of two numbers, it depends on how fast you can get the computer to do the math.

 

The basis of all programming languages (i.e. Java, C, C++, Perl, etc) is that they all translate into machine language. One common misconception of computers is that many people believe that computers are these smart "jack-of-all-trades" objects and give them much praise. Just because a computer can complete a task or sum in seconds, when it would take the average human minutes, if not hours, does not make it "smart" per sé. "Computers are actually stupid" - Intro. to Computing Prof. Yale Patt. Computers really can not do anything without someone giving it instructions (except for the case of Artificial Intelligence). All the computer understands is a set of instructions written a specific sequence of 0's and 1's, which make up a binary file. In binary, a 0 means that "off" or no current is passing through a transistor in a circuit, and a 1 means "on" or that current is present. So back in the day when computer science was beginning to become a field, programmers would use punch cards to signify either a 0 or a 1 so that the computer could interpret the program. As the years go on, new programming languages are being developed. This "new" way of coding is in what is called a high-level language has made it easier and more efficient for programmers to code. Another advantage of most high-level languages is that they are readable to humans.

int x = 2;

int y = 3;

int z = x + y;

1011100101011001

If someone with no programming experience reads code like the snippet above, they may not completely understand the syntax, but it won't be to difficult for them exactly what is happening. An integer x is being declared and assigned a value 2, as well as an integer y getting the value 3. Then an integer z assigned the sum of x plus y. However, one thing to take note is that the development of higher-level languages has been more for the ease of the programmer and not for the computer itself. A computer does not know what "int" means or even what an "=" is. This is when a compiler is needed. A compiler is a computer program that translates text written in a computer language (i.e. C++, Java, etc.) into another target computer language (i.e. binary file).

 

Grace Hopper was an American computer scientist who developed the first compiler. This was a huge invention in the field of computer science. It was Grace Hopper's idea that programs could be written in a language that was close to the English language rather than in machine code (binary), which is how programs were currently coded. This enabled programmers to develop their own language so that coding could become easier. Thousands of languages have been created, and new ones are created every year. In a way, I see the compiler as a connection between computer science and I. Computer Scientists are lazy and are always trying to make things easier, and the invention of the compiler really made things easier.

 

The purpose of writing code is to make things better and faster. I am a very big procrastinator and every time I have to do something I always try to find a easier way of doing something or a way the requires the least amount of effort. Although procrastination is not a quality to be proud of, I believe it is what makes me feel that CS is the right major for me. Though at times I still do procrastinate and wait for the last minute to do my programs, it is my way of thinking that benefits me. Writing code is all about simplicity and efficiency.

Comments (0)

You don't have permission to comment on this page.