Abstract:
Programming is one of the essential and most
difficult skills to learn in the computer field and other disciplines.
Programming can seem more troublesome for novices who have
not learned programming concepts, usage and other basic
programming skills. To become a programmer, there are many
things need to be considered in programming such as syntax,
pragmatics and semantics. In addition, having a good knowledge
about problem-solving techniques is vital. For instance, when
some students face a new problem in programming courses and
they feel understanding the problem is not easy, difficult tasks
which students need to handle as well as, the manner of teaching
programming may discourage them to do coding. Mostly, in the
first phase of learning programming, they find it difficult, and
they will not be inspired to do programming; this is one of the
reasons that most students cannot do coding by themselves. An
environment in which is a source and guidance to look for
commands and explanations would be helpful, and interaction
with teachers or friends can assist in overcoming most of the
difficulties. This research aims to study about the effectiveness of
learning the fundamental of problem solving in programming, as
well as, learning these abilities in the early ages. This paper
introduces and compares several existing problem-solving tools
and shows how visual problem-solving techniques will help
students to improve their programming skills. Furthermore, in
this paper we analyze the experience of programming, problem
solving tools and techniques and the role of social networks in
programming based on gathered data which was collected
through an online survey.