THOUGHTS ON MATTERS OF COMPUTER SCIENCE FOUNDATION CONCEPTS REGARDING COMPUTER SCIENCE Introduction This wing of the Agora expounds concepts related to computer science. I was first introduced to "real" computers in 1969. I say "real" because my father had owned a corner store, newsagency and post office in a tiny place called Dinmore. I'd used the NCR cash register in the shop to complete a school project involving the addition of a huge list of numbers in pounds shillings and pence. My first programming language was FORTRAN IV. My classmates and I used to write our instructions on cards which we manually punched. These were fed into a card reader and, sometime later, the machine, as they called it, would tell us what errors we had made. And so the process would repeat itself until finally, as a meagre reward for our efforts, there would be a printout with an answer... which, more often than not, the first time, was wrong! I was addicted to this magical thing. I thought that a computer was to the mind what a bicycle was to the body. A bicycle allowed me to carry a heavy load of papers and deliver them around the district with relatively little effort. This computer allowed me to perform sums, like simulataneous equations, in a faction of the time that it would have taken me to do these sums manually. This was especially the case when the sums had to be done over and over again. But there was, of course, a catch. It often took days to write and proof the program to be sure that the answers being delivered were in fact correct. Another thing became evident to me early on in this process. If you fixed an error, it stayed fixed (that is, unless you did something silly like mix up, by accident, old cards with new ones!) You were building something that have a degree of permanence and lasting benefit. After graduating from university, I occasionally had need to use computers. There existed a facility within Government where you could connect remotely, using a telephone modem, to the CSIRO's computer network; called CSIRO-NET. Connecting to this was a learning experience in itself and help was often difficult to obtain owing to the cost of long distance calls in those days. As it was, I would only be given a few hours of computer time per month and that would only be after having submitted written justification and obtained approval from the limited budget which was available. All of my work was directed to solving mathematical problems. In the case of CSIRO-NET, it was to develop a means of determining the optimum size for repair pools of equipment. It was not until I had been posted to command a workshop in the Australian Capital Territory and was faced with a situation where an establishment review had reduced my clerical workforce to the point where it was not able to cope, that I was confronted with the need to develop a different type of computer program. This was not for solving mathematical problems but for keeping accounting records and creating a graph of expenditure against what was called "Outstanding Liabilities" (OSL). Up to that time everything had to be done manually. It was not uncommon for staff to be tied up for days trying to work out why columns would not balance, only to find out that it was an error in addition or subtraction. An error a computer would never make. The realisation that there were different types of computer programs was the starting point of what this section is about. The first topic of discussion, you will see, is the "Application Hierarchy". In this, I go through what I see as being the different types of computer applications which one can develop. I hope you find these thoughts interesting. if you want to participate then write to me at the email address provided. I'd welcome that.
|