I Know That I Know Nothing

Blog » I Know That I Know Nothing

Posted on 02 Feb 2013 19:33

When I read this blog prompt, I came to the Socratic conclusion that I do not know very much at all about what it means to think and write like a computer scientist. I could do some research and find out more, but I do not think that is the purpose of this particular blog post; instead I will try to reflect on the little that I do—or think that I do—know.

From what I have experienced so far as a student of computer science, it seems that the type of thinking that you have to do is completely the opposite of what is intuitive. For example you may think that in order to write a program or an algorithm, you must have to think extremely deeply and scientifically. In reality, performing these tasks requires you to think like a computer; that is, like a small child who is experiencing something for the first time. It is more important to under-think than to overthink; to strip down instead of build up.

As an example I will use an algorithm for peeling an orange that we wrote as a class in my intro course for computer science. Unfortunately I no longer have the complete list of steps that we wrote out, but the process went something like this: when the professor told us to break into groups and write the algorithm, we all tried to focus on the intricacies and technicalities of using the knife and the physical process of peeling the orange. When the professor came over to check our work, she would always say, “Take a step back” or, “Think simpler.” When we were positive we got it right, we would call her over only to get the same response. In the end it turned out that the first step was to explain how to locate the orange, which in itself required four or five steps. We all thought it was stupid that the person carrying out these steps would need to be told how to identify or pick up an orange, but it turns out the computer is that stupid.

In terms of technical writing in the field of computer science I am completely in the dark. The only texts I have read in the field were from textbooks and professors’ lecture notes. These two sources seem to follow the tradition of technical writing that is described in our book Technical Writing for CCNY. They use simple and clear language to express complex ideas or definitions, and supplement their descriptions with appealing yet similarly simple visuals. In addition, my professors have stressed the importance of adding comments to your written code. Oftentimes you will work in teams when writing code, and the process will almost always take place over multiple days or weeks. Both you and the people you are working with need to understand what you have written. For these reasons it is essential to leave short but clear comments that express what that particular section of code is doing, since it is not always obvious just by reading the code itself.

My habits as a writer are highly erratic, so it is difficult to predict whether I am well suited for writing like a computer scientist. However, I do like to break things down into smaller parts and think in the simplest terms possible. That should come in handy if I decide to continue in the computer science field. Like I said earlier, however, I am no expert in terms of understanding what it means to think and write like computer scientist, and I will have to look into that further.

- James Kasakyan

Leave a comment

Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License