It has been years since this blog got updated. Its time to get started again!
The series of blog on “Reflection on my class” as the title signifies will be a self-reflection on my classes in Unconventional Models of Computing (UMC) that I am presently taking for 6th semester bachelor students in the Department of Computer Science and Engineering, LNMIIT, Jaipur.
First class on the first day of the year 2016! UMC as the name itself signifies the approach to do computing is unconventional. But first before going to describe about what is so unconventional about it I wanted to broaden their view about what is computer, computing, informatics and computer science. My emphasis was about this statement – computer science is not about computer but about computing! I gave some examples to pass on the message that nature also computes. For example, bio-organisms always want to survive and in order to achieve that it has various layers of protection very similar to our human immune systems. So, if nature computes can we use that naturally occurring computation somehow to do computation for solving our own computational problems using in vivo experiments? That was my question to the students. I told them this is what is our classes on UMC about – we are going to see how to use DNA strands, peptides, cells and its natural interactions to build a computational model that give rise to DNA computing, peptide computing and cellular computing, respectively.
My next idea was to make them understand with a bit more insight into how computing takes place and at the same time the problem biocomputing models faces. This I wanted to clarify even before explaining the advantages for using those models. Perhaps this can be taken as a disclaimer! For this two objectives, I took the example of our human computing evolution from using pebbles, abacus, calculators and computers. I told them using pebbles is computing. All the more when we use pebbles we represent it for some other physical object. We are finding a relation, in fact an 1-1 function. In an abacus, the same representation happens but there is a manual intervention (to move the beads) needed to do the computing – computing here basically is arithmetical operations. We have an algorithm but that is executed by a human. Now comes the calculator it also does (mainly) the same arithmetical operations (little more heavy) but once the input is given no need for any human intervention. Operations are performed automatically by the circuits inside. Now comes the basic silicon model computers where there is a stored program concept where we are offered some basic operations and we can write a program based on those basic operations and store it in the memory and can be executed anytime, anywhere and many times too. Here too, no manual intervention is needed. But in biocomputing models I showed this picture (taken from DNA Computing book)
This picture presents us with many questions. Some essential questions to ask are
- Processing happens in test tubes. So, if two test tube solution is going to be poured into one who is going to do that?
- Who is going to find which test tube has to be selected and which test tube has to be left out?
- We may use a robot to do both the above steps but in that case who is going to instruct the robot?
So, in general biocomputing models needs manual intervention. As of now there is no stored program or automatic execution of program concepts. But it has its own advantages if not why are we going to study these models, isn’t it? We will see this in the next series of posts.