How to conceptualize MapReduce November 14, 2023
Cloud computing makes it possible to use thousands of commodity computers to carry out large scale tasks. However, to explore the full power of this combined computational capacity, there is need for supporting mechanisms to write programs that are capable of utilising the full potential. Such programmes should distribute the subtasks across the different computers and use every opportunity to engage each computer in parallel. Map Reduce provides a means to engage many computers in parallel...
Read More
Understanding the key differences between procedural and functional languages November 10, 2023
The distinction between functional and procedural programs remains a confusing concept. In fact, many programmers use the terms function and procedure interchangeably. For this reason am going use the term pure function when i want to refer to a functional program. A procedure in a program is a named block of code that can use several times by name to carry out a task. When a function or procedure is “called” to do a task. The...
Read More
Problem solving Strategies for Software Programmers March 25, 2021
IT

0

Programming is a problem solving activity. When you write a program, you are actually writing an instruction for a computer to solve some problem. Overtime,  there are several strategies that have been developed and applied to solve problems. Problem solving is the processing of transforming problem from initial state to a desired  state. Some techniques are more effective while others are less. Here I outline some of the common strategies Trial and Error – This is...
Read More
Don’t compete with anybody – set your standards September 26, 2020
As I was talking to a former a student, he asked me what kind of advice I can give him to advance his software engineering career. I quickly told him, do not compete with anybody set your standards! Many times, students tend to compare themselves with their friends in terms of what they are able to achieve including scores. Little do they factor in their own desires and what exactly they want to do with their...
Read More
Generating alternative Solutions to Problems August 28, 2018
In the article about problem solving in software engineering, i highlighted the major problem solving steps as:- Define the problem Analyse the problem List/Identify  alternative solutions Select the best solution List instructions that lead to the solution using the selected solution Evaluate the solution In this post, i will focus on how to generate alternative solutions.The first solution you are arrive at may not be best of all possible options. It is important that we generate...
Read More
Inspiring quotes on computing April 1, 2018
“It is not only the violin that shapes the violinist, we are all shaped by the tools we train ourselves to use, and in this respect programming languages have a devious influence: they shape our thinking habits.” ― Edsger W. Dijkstra “Program testing can be used to show the presence of bugs, but never to show their absence!” ― Edsger W. Dijkstra
Read More
Turning ‘software’ into a ‘software service’ October 4, 2015
This article looks at how to turn an  existing software that is not service oriented into a service that can be used in a service oriented architecture. We need to know  exactly-  what  is a service?  We are assuming the resulting service will provide  identical functionality. So the  only difference between a software service and other software components is at the interfaces. The interfaces define how the service can be used individually or as part of...
Read More
Problem Solving – Analyse/Understand the Problem September 14, 2015
The goal of problem analysis is to gain better understanding of the problem being solved before development begins. It is import to know why the problem is occurring, when and how often. Try to understand the first cause of the problem. Root cause analysis is a systematic way of uncovering the root, or underlying first cause of an identified problem or a symptom to the problem. Tools such as fishbone diagram or pareto chart can help...
Read More
Problem solving -Define the problem September 12, 2015
“Until the problem is well defined and articulated it is impossible to arrive at a solution” The first step to solving any software engineering problem is to define the problem. Articulate the problem and eliminate all unnecessary terminologies and jargons. Start by reading the problem completely at least twice. Read and establish the context of each key word. If time allows, research about the problem. Ensure that there is agreement on the problem to be solved....
Read More
Software programming and problem solving September 12, 2015
Programming is the process of planning a sequence of steps called instructions for the computer to follow. The fact that you are reading this post you already know that computers lack common sense and cannot make any judgment. So the computer will do as instructed by the programmer through the computer program. Programming is more about problem solving than coding. A problem is the difference between things as perceived and things as desired. A solution will...
Read More