Problem Solving Skills in Programming and Relationship between Programming and Human language

The impact of programming on creative thinking, reasoning abilities and cognition in general has long been a bone of contention in academic settings. Many times in the past, those in the field of computer science, psychology and educational field have argued the fact that computer programming has the potential to be a powerful tool which could be used to improve one's critical thinking and reasoning abilities, especially among children. This argument seems not to end soon.

However, after several years of teaching and interacting with students in programming classes couples with investigation in research related to study in programming performance among students in higher institutions, it is easy to deduce that computer programming, despite its benefits and advantages towards cognition has proven to be among difficult courses, complex tasks and brain tasking among students both inside and outside the computing classroom.

48423987577_7b48307b16_b.jpg

Image source. Flickr

Programming's basic approach of solving problems has also been linked to be a key factor towards understanding mathematics, physics and logistic. Thus, this passion for the potential in programming towards an improved critical thinking and cognition, couples with the aim of increasing computer literacy among the youths has led some of the higher institutions to introduced programming related courses as part of the courses to be taken by the students before graduation, irrespective of the department students might belong.

However, despite this great motivation towards adopting programming courses in higher institutions, there has been little or no research investigating the effectiveness of this programming courses towards achieving the aim which called for their establishment in higher institutions let alone investigating about the kind of programming methodology the institutions are adopting towards achieving such aim.

Programming language and Human language

There was a proposal under the Bills Legislative in the past, proposing the use of computer programming course as an alternative that could be used to satisfy foreign language requirement, another instance is that of students learning programming language to consider taking a foreign language as a course unit also there was an instance of replacing a foreign language with a suitable programming language. In reaction to this, divergent opinions were emanated across the globe, especially from developers in software industry. While some considered it laudable, some also considered it unwarranted.

Is there any relationship between programming language and human language and how is it being measured?

Functional Magnetic Resonance Imaging (FMRI)

frmi.jpg

Image source. Flickr

The quest to investigate how activities in human brain take place led to modern neuro imaging techniques and Functional Magnetic Resonance Imaging (FMRI) is one of the techniques used to achieve that. It estimates any slight changes in blood oxygenation and flow that take place with respect to the neural activity.

According to research, when a brain component is more active, it usually use more oxygen, to meet up with this demand, the rate of blood flow increases to the active area. Other neuro imaging techniques use in research world and in the clinical world are Electroencephalogram (EEG) and Near-infrared spectroscopy (NIRS).

Some notable research using FMRI is the work of Siegmund et al (2014). Dr. Janet Siegmund led an international team of scientists into a study using Functional magnetic resonance imaging (FMRI): Their investigation was to understand the mind of programmer through analyzing the connection between programming language and other cognitive domains in human's brain, like language processing among others.

Some research studies also revealed the fact that programmers are specifically using language component of the brain to understand both the syntactic and semantic formation of a programming language while little activation is required in other Components of the brain which incline towards mathematical thinking.

Problem Solving Techniques

2543812965_33b759faa7_z.jpg

Imaage source. Flickr

Some of the fundamental techniques employ during problems solving in programming are discussed below

  • Read the problem
    The first step towards solving any problem is to understand the problem itself, this could be achieved by explaining the problem to someone else using a specific language or by writing down the problem using specific language such as English or using a suitable flow diagram which could be understood by the novice. If one is stuck in doing this, definitely there is still a need to re study the problem before further action could be taken. You can re read the problem as many as possible till it becomes clear.

  • Identify information
    Every problem usually contains an information that must be considered to have an effective solution to the problem at hand. Attention must be given to this aspect of problem solving techniques, because missing the information contain therein, leads to missing the solution to the problem.

  • Write down information
    Just like writing down the problem in order to ensure one understands the problem in totality, in the same realm, one must write down the information contain therein. This is very important so as not to miss a vital information.

  • Identify key concept
    Just like fundamental basic concept in programming such arithmetic, data storage, data in / data out. To apply this in reality. one needs to consider what manipulation does it requires to arrive at the solution along with the settings which could provide the solution.

  • Read again
    To have a clear path towards getting the right solution to any problem, one must at any time re check the problem again to be sure enough that the solution is the right solution to the problem at hand.The more you read, the more you understand the problem.

  • What is being asked
    After carefully reading the problem once again, it suffice to confirm that one does not only understand what is being asked to solve, but the solution at hand is suffice to solve the problem.

  • Connect
    This is the last stage towards ensuring a solution to any problem, this is to connect all the dot or steps towards getting the solution together. At this stage, one should be able to decide if the solution to the problem is the right solution to the problem at hand.

Final Remarks!

Whether the introduction of programming courses in higher institutions has served its purpose which called for its establishment or not. Some of the researchers from the field of psychology, computer science and educational field have confirmed the fact that the skills employ in the programming field to solve problems could be used as tools to improve one's creative thinking, reasoning abilities, mental models and to strengthening brain health especially among children.

Thanks for reading through!

References

1. How Programming Affects Your Brain: 3 Big Truths According to Science.
2. Can Computer Programming Boost Your Brain Power?
3. Scientists Begin Looking at Programmers’ Brains: The Neuroscience of Programming headshot
4. Understanding Understanding Source Code with Functional Magnetic Resonance Imaging
5. Functional_magnetic_resonance_imaging

H2
H3
H4
3 columns
2 columns
1 column
1 Comment
Ecency