Computational Thinking

Siva
3 min readSep 17, 2020

We are in a world where people are more used to the abstract levels of computation rather than understanding what is actually happening in the background. Let's see some ground-level concepts of computation.

Understanding Computers: People perform various tasks on a computer that involves different types of data, but the thing here is that any data that humans deal with a computer is stored in the format of 0’s and 1’s in the system. Now we might start wondering that if a computer understands only 0 and 1, how it is able to perform different types of input data that we give?

Binary: As the computer only works on a binary system, in the below figure let's see how the computer deals with the decimal system as input.

Binary representation

It is called binary because it has only 0 and 1 and the base is 2. The count starts from 0 and it goes on increasing along with the digits, for conversion between binary and decimal we need to perform the above-mentioned calculation by taking the power of 2 and multiplying with the bit in that position. Repeat this for all the bits we have and finally add all of them to get the desired output. In this way, the computer understands and deals with numbers.

ASCII(American Standard Code for Information Interchange): To deal with text data, computers use this ASCII representation of text where each letter is represented in the form of numbers and then the computer understands what letter it is by looking at the number. Eg: A -65.

Algorithms and its Complexity: As we know about how computers deal with input and output, let's see the process that happens in between. For any problem to deal with, there are a sequence of steps to be followed and it is called an algorithm. The algorithm is nothing but the steps to be followed by a computer to get the desired result. To measure the complexity function of an algorithm we take the size of the problem and time took to solve it into consideration and plot a graph.

Pseudocode: To make a computer understand the steps in the algorithm, we code each step involved in different languages which might include C, java, python, javascript, and many more. All these languages have dedicated syntax and certain rules to be followed. But to explain the algorithm at an abstract level, we use pseudocode which doesn't have any special syntax to be followed and is easy to interpret.

Storing Data in Memory: As we deal with data every day, it is necessary that we store the data for further and the storage of data in the computer is in the form of bits and each bit is allocated a specific location in the computer memory. Any time if we want to access that bit, we can access that by the memory location it is stored in.

Data Structures: Now we are into storing data into the computer, it is time to know how the data is structured and stored. The data that we store needs to be in a structure according to the requirement we have. Some examples of data structures are array, linked list, tree, hash table, etc. It completely depends on us to decide the structure.

--

--