New Educational College - http://www.nec.ac.mu/portal
A user-friendly introduction to problem solving in computer science
http://www.nec.ac.mu/portal/articles/15/1/A-user-friendly-introduction-to-problem-solving-in-computer-science/Page1.html
Ramrajsingh Buskalowa

"In youth we learn, in age we understand"- Author unknown.  I am a computer studies teacher and I love computers and Mathematics. 

 
By Ramrajsingh Buskalowa
Published on 09/10/2006
 

The computer is a thinking machine. But it's not very good at thinking. How well a computer thinks depends on how well it is built and how well you program it. If it is carefully constructed and you program it well, it is a useful tool for helping you to solve problems that would take too long or be too boring for you to solve on your own.

You(being the computer's human partner) might be asking: "How can I program this machine well?" .A general answer is that, apart from knowing how to write programs, you need to know a lot about problem-solving.


A user-friendly introduction to programming in computer science

One gains a clearer understanding of a problem by

·        Making sure you’re not seeing only part of the problem.

·        Decomposing the problem into pieces that can be solved separately

·        Reducing the problem to some other, more familiar problem

·        Using diagrams and notation to show the structure of the problem.

Making sure you’re not seeing only part of the problem.

Let’s see how failure to see the whole picture of the problem(partialism) can lead one astray. Francois Woo starts a factory to make shoes (or t-shirts). The local trade union representative insists that Francois must increase the wages of his workers by 15% to compensate for the effects of inflation. From the point of view of the union, the workers are struggling to make ends meet and an increase in their wages is an entirely fair solution to the problem.This kind of ‘solution’ merely aggravates the inflation since prices rise to meet the increased cost of the wages. Even worse for the struggling workers, a new company which is trying to break into the market with its product is usually in a precarious financial position. Quite possibly, Francois goes bankrupt, either because he refused to increase the wages and production was stopped by a strike or because he met the demand for higher wages but was consequently unable to sell his product at an attractive price. Francois’ bankruptcy is a sad chapter for Francois, but the disaster is not his alone. The workers, whose lives the union representative so unselfishly sought to improve, have all lost their jobs and they have received, instead of a pay rise of 15%, a pay drop of 100%.

Let us look more closely at the thinking pattern used by the trade union representative. First of all, no need to impute malicious or ideological motives to him. Possibly, there are some trade union representatives who believe that capitalism should be destroyed with the help of strikes so that a more ‘humane’ socialist system can be erected on the ruins. But in the case of Francois’ factory the trade union representative may just as well have considered the following principles: ‘ a fair day’s pay for a fair day’s work’, ‘ no cuts in wages under any circumstances’ .

If we describe the problem of fair remuneration for workers in broad terms- How can the workers share in the success of the company?- the imagination is unlocked to generate new alternatives to the routine demands of the trade union. Perhaps the workers could be granted regular pay rises and cuts reflecting the profits earned by the company. Perhaps job security( even if at a low wage) could become an explicit part of the package each worker receives. The point of the example is not that trade unions are bad things, but rather partialism(failure to see the complete picture) lead to bad thinking…   

(to be continued)