A Case Study on Improving Problem Solving Skills of Undergraduate Computer Science Students
Nadeem Ghafoor Chaudhry and Ghulam Rasool
Department of Computer Science,
COMSATS Institution of Information Technology, Lahore Campus, Pakistan
Abstract: Every human being should possess problem solving skills in order to reach one’s desired goals in
life. Problem solving skills become even more important when sustainable solutions are desperately needed to
cope with twin problems of growing scarcity of resources and increasing populations. Practical problem solving
skills, with clear economically viable, timely and implementable solutions are highly valued. Unfortunately the
traditional curricula of most Universities, does not teach these skills up to the level which is desired by
employers. The immediate and short term purpose of this research is to study and improve the problem solving
skills of undergrad Computer Science (CS) students. In this paper, the long term objective is to learn the tools
and techniques by which it can be achieved and then employ those in other disciplines also. The paper
highlights three main folds of the research areas, firstly problem solving skills play a significant role in technical
capabilities of people in general but more so for students studying in applied science and engineering areas,
such as CS, secondly, problem solving skills can be “measured” and thirdly, problem solving skills can be
improved with exercising and training.
The importance of problem solving skills cannot be underestimated and compromised. A lot has been written about them [1-8]. It is beyond the scope of this paper to present a comprehensive review of all the literature regarding problem solving skills. Furthermore, this paper focuses on evaluating and improving problem solving skills of undergraduate CS students, which narrows the scope. For this reason a lot of problem solving skills literature related to school children and other disciplines like Chemistry, Physics, Biology etc in not in the scope of this paper.
According to Michalewicz et al , “A problem exists when there is a recognized disparity between the present and desired state. Solutions, in turn, are ways of allocating the available resources so as to reduce the disparity between the present and desired state”.
In , Martinez defines problem solving as a “process of moving towards a goal when the path to the goal is uncertain”. The paper differentiates between heuristics and algorithms. Algorithms are sequence of steps that are guaranteed to achieve the desired result every time we execute them in the proper order. For example taking a shower involves going to bathroom, taking off clothes, turning on the shower, rubbing soap and etc. Whereas heuristics are strategies to achieve a goal and are not guaranteed to work. For example reaching a friend’s home when exact route is not known. Once a problem is solved by employing some heuristic and the steps of the solution are mastered then it is no longer a problem but an algorithm. Once reached at friend’s home and memorize the route then going there next time is an algorithm not a problem. When original problem require solution again in future, “novel elements or new circumstances must be introduced or the level of challenge must be raised.”
We present a controlled case study with major focus on evaluating and improving problem solving skills of undergraduate Computer Science Students in this paper. The rest of paper is organized into following six sections: