Boldungu origin revealed as bold and adungu for fun

Today, let me answer the question that has been on the minds and lips of Boldungu users and competitors regarding the meaning of Boldungu. This uniquely African name is a creative combination of two words “Bold” and “Adungu”.  Our platform aims to be bold and decisive in leading the way mathematics should effectively be made easy, meaningful and natural for every learner.

While we aim to be bold in our design, delivery and learner engagement, fun for learners is never to be compromised. Adungu is a stringed musical instrument of the Alur people of northwestern Uganda that  is an arched harp of varying dimensions, ranging from seven to ten strings or more. The truly African music produced by the Adungu instrument and the way the Alur people enjoy adding is a constant reminder that fun must be constant in whatever we do.

In fact, bold and adungu is repetition because the design of the adungu instrument is uniquely bold. As described by wikipedia, the physical form of the adungu derives from uniquely African origins. The instrument is made of a hollowed-out slab of wood, which is covered by two pieces of leather, woven together in the center. The upper piece of leather functions as a soundboard, and a wooden rib supports it, serving also as a structure to secure the strings to the soundboard. A curved wooden neck, containing a tuning peg for each note, is inserted into the end of the instrument’s body. The strings run diagonally from the tuning pegs in the neck to the rib in the center of the body.

With Bold and adungu combining into Boldungu, our team must be extremely creative to deliver this ambition especially when we are shaping younger minds from primary 3 to primary 7 with mathematics, the language of science. Have fun with mathematics, practice makes perfect,

134 total views, 2 views today

True impact of Boldungu – learn by doing

After releasing the boldungu learning technology to the public 4 days ago, i have been receiving messages  from potential users on the progress of the project. I would to mention that it is amazing to see how many unique questions we have been able to generate, mark and grade.
From set concepts to algebra, fractions to geometry every child from primary 3 to primary 7 must have fun with mathematics.  True to boldungu for bold learning with fun like music from adungu. Indeed we are contributing to a solid generation of the next scientists.
For those not familiar with boldungu, read the release article here

162 total views, 1 views today

What Boldungu is About

I want to use this post to explain what boldungu is about.  It is learning service for primary schools that we have been working on since 2018.  The target is mathematics for the early learners. The best way to understand boldungu is to look at it as a platform for helping learners practice to master mathematics.

When we say Boldungu is determined to create fun with mathematics, see what we mean in the screen capture below. No rote learning and no cramming. Because each question is specially built using Boldungu Advanced Artificial Intelligence, together with the answer and explanation. No recorded videos, no record audio, no pre-determined questions. Every thing on the fly but specific to the class as per the Uganda Primary curriculum.
If you have a learner in primary 3 to primary 7, create an account on and test drive for yourself.

121 total views, no views today

Introducing – fun with mathematics for primary school children

During the lockdown, I have had time to cleanup one of my old projects. The project initially intended for home use, has proved interesting for the larger public.

While helping out on homework with my children I noticed that children quickly get bored by print textbooks because  of the same questions and content. Besides, children like being children and the books easily get into a very sorry state. The other problem I have found with conventional textbooks is that they have a fixed set of questions on given topic. Whenever we go through a book just a few times, and then use it to revise, children just apply rote learning and recite the book without understanding, applying or remembering the underlying concepts. I ended up spending much time creating variations of the same questions to allow variety and practice. Interestingly,  with a small change in a digit or phrasing , the child struggles to answer of fails to answer something similar to what he or she has been reciting in the book.

Using existing digital platforms was not very helpful because they use recorded videos and audio or text. Whereas children seem not have much problem watching the same cartoon many times, for recorded educational content, the morale just evaporates after watching more than twice.

Leveraging on my  vast software engineering expertise coupled with extra time during lockdown, I decided to create a utility for generating as many questions as possible. In essence, we are able to generate very many new  questions on the same topic to allow unlimited practice. In fact the number of possible questions we can generate for a given sub topic are only limited by the curriculum scope. When we moved the practice and revision  from print textbooks to one of my older computers, the results have been exceptional. With extra effort, the system can mark, give answers and also provide detailed solutions.

With this system, the children generate the questions; they mark themselves and are eager to see how many they have passed. Now my task has shifted from begging them to revise but to regulate them on how much they should practice. In fact, winning the computer is their new goal. They want 10 out 10 for every quiz cycle.  Mental work has increased, some concepts now seem obvious but the beauty is that the questions are always different.

Welcome to boldungu, where bold learning by doing is the ultimate prize. With boldungu, the process is simple, choose one or more topics, generate questions, answer the questions and see the results. Working with 10 questions per quiz cycle created curiosity and the learners always aspired for 10 out 10. Check it out, for a free trial and give us feedback.

999 total views, 4 views today

Introducing “Gastro Trek” the innovative way of teaching primary school science

Meet Gastro Trek, the game for teaching primary school children about the digestive system.  Similar to the well known computing principle of gabbage in, gabbage out (GIGO), Gastro Trek is founded on the philosophy that we are what we are because of what we eat.  In fact digestion starts much earlier before the food reaches the mouth!  The salivary glands begin engaging as soon as you see and smell that arousing aroma  from the power house.  At one primary school, the learners know that they owe their energy to food and fondly refer to the school kitchen as the power house.From oral cavity, or mouth as the first point of entry of food into the digestive system, it takes a long trek until it disembarks via the anus, assuming all is well. Along the way, it undergoes both mechanical and chemical transformations from large chunks, to bolus, to fluids that can be taken up by the cells while separating and packaging the waste.

Gastro Trek is not an ordinary simulation of the digestive system, it is a game where the learner is the player and he/she interacts and controls the flow of the game.   Gastro Trek takes the game approach where learners can learn through experimentation in a safe way. Learners can pick the wrong options, as many times as possible until they learn that it is actually wrong! Control, choices, rewards, fantasy and fun is key in keeping our players learning and progressing through the game

Lets see what happens in the oral cavity. While at high school, a boy was nicknamed condenser, because his oral cavity performed exceptionally well in handling porridge at high temperatures. He could have won himself an Olympic medal in this category. Our friend won himself the name Crasher for his powers to manage large quantities. Modified aspects of these extremes makeup the Gastro Trek fun assets, while keeping focus on the actual science of digestion.

The Gastro Trek oral cavity takes inspiration from the factory that performs all these services.  The 40 categories of teeth must be effectively used. The canine teeth have special tasks different from scissors and molars. The player must correctly deploy enzymes such as amlyse.  In a game, there are consequences for poor deployment including under deployment.

Gastro Trek is part of the gamification techniques being designed under the funding from Makerere university, Research and Innovation Fund (RIF) first round, under the project “Strengthening Science, Technology, Engineering, and Mathematics (STEM) Using Gamification in Primary Schools (GamePlus)” . Other games under design include Kamati for mathematics and Red Cruise for blood circulation.

The game plus project is led by Dr Benjamin Kanagwa,  with a team of other researchers in the areas of education, system dynamics, e-learning and industrial illustration and design

Find us on twitter,  facebook, or for your comments

169 total views, no views today

Helecare2x Makes Grand entry to the Uganda National Stage

Our effort to contribute to open source software in a meaningful ways has been noticed by the Ministry of Information Communications and Technology (MoICT-NG) and has awarded a grant to enable further development.

Helecare2x is a heavily customized offshoot of care2x, which is a comprehensive electronic patient records management system that ensures smooth integration with hospital core duties.

At its core, helecare2x ensures that clinical activities remain central such that patient hospital experience is not compromised. As a hospital management system, suitable for clinics, pharmacies and laboratories, helecare2x extends to all hospital aspects including billing, bed management, appointments to mention but a few.



The grant under National Initiative for Innovation Support (NIISP2) will see us bring the system to many users, reach out to many developers as well as include smart capabilities.

603 total views, 1 views today

Generating alternative Solutions to Problems

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 as many alternatives as possible. This will allow us to choose the most effective solution to the problem.

To generate alternative solutions, you can look at the problem in different ways. You are argued to find a new perspective that you have not yet thought about. One technique is to quickly list different solutions including those that do not look viable and then try to eliminate one by one and see where they fail. Try combinations of different parts of solutions.

You can also engage stakeholders. Usually stakeholders see problems from completely different perspectives. If you are a developer, involve users, involve sales people and other stakeholders.

Within the same group, brainstorming sessions tend to generate different solutions.  In general, the  more alternative solutions at hand, the final solution will be cheaper, elegant and easy to implement


5,068 total views, 10 views today

Inspiring quotes on computing

“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

1,175 total views, no views today

Streamlining Software Development Projects

In most developing countries the software development discipline is emerging. Several private and government entities are in the process of automating different business activities. Just like the software discipline itself, the information technology professional are still gaining expertise in specification and verification of software solutions.Where the clients know what they want, they are not in position to explain it to the developers. And equally less experienced developers find it a challenge to understand the needs of the client.

To overcome this problem, some entities hire a consultant to help manage and supervise the implementation process. That is, there are two different consulting firms involved in the project – one to do the actual implementation and the other to supervise the implementation. They all work for the client, but the supervising firm ensures quality is delivered.

This approach of a supervisor and the contractor is well tested in civil engineering works. Where you will find, the main contractor, the supervisor as independent contractors.

For this work, the discipline has to be mature such that the approaches and documentation are well understood by the different parties in the project. In some projects, this has improved the quality of the project because each contractor has a specific responsibility.

I have seen this approach work in software development with amazing results. Usually the supervising contractor requires domain knowledge to ensure that the engineering product serves the desired purpose. The presence of supervising contractor implies the need for proper specification, documentation and reports because these are part of the main inputs for the supervising contractor. The mandatory need for these documents guarantees a level of a streamlined the software development process.

3,198 total views, 3 views today

Learning is hard but unlearning is harder

During the week of  27 June – 29 June 2016 i attended the Summer School on Machine Learning and Data Science at the school at Makereree University dubbed “Data Science Africa 2016”. I happen to sit with a colleague who is an experienced and certified Java Programmer. As we paced through the examples on data cleaning using anaconda package, we relied both on new new knowledge and also tried to apply what we have learnt over past years in our professional programming experience.

We aimed at cleaning our dataset to get rid of rows without a value for one of the rows on multiple columns. Our data had a column for Gender and another for TesCondition. Now some of the rows had empty values for Gender, while others had empty values for TestCondition. We learnt that once you have a data frame, then you can apply a condition of the form,

 q1= Dataset[‘gender’!=’’]

And then use it query the data as dataset[q1] and this faithfully returned only rows with a value in the gender column. Our next task was to remove the rows with empty values in the ‘TestCondition’ column. Of course we easily figured out that we can construction another query


And apply it to the result after q1.

But then our instincts dictated that we could achieve the same result by using Dataset[q1 or q2] – that is return columns where gender is not empty or testCondition is not empty. However the compiler severely rejected this. For sure we have learn’t and know that logical operation on two Boolean expression should yield another another Boolean. Then our unlearning process hard to begin! We checked the syntax, double-checked the indenting, double checked the expression one by one. Meanwhile we found ourselves a couple of tasks behind the rest of the class. Reason – we could not easily unlearn what we have learnt and believed to be correct overtime.

For a while we kept on trying related syntactical expressions from Java, C, C# and standard Python that were not successful. It quickly became obvious that because we were so convinced about the common usage of logical expression, it took us a lot of time to adjust and enjoy the syntax of the new data science platform. Learning the new syntax was much faster as opposed to the time we spent trying to ‘unlearn’ from the past language.

The time taken to unlearn can vary from individual to individual. And a famously put by E.W.Dijkstra (1995) that ‘The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense” .Dijkstra further “the teaching of BASIC should be rated as a criminal offense: it mutilates the mind beyond recovery

Indeed I have had comments from programmers as they attempt to cross from one language to another.

From C, C++, Java, PHP to Ruby
Any body who has done programming in this languages understands the importance of terminating statements with semi-colon (;) and strict naming of variables. One programmer could not come to terms with the fact that variable names of the form is_avaialable? Are perfectly acceptable in Ruby.

From C , C++, PHP to JavaScript

The notion of functional prototyping in javascript coupled with variable scoping in javascript has proved to be profoundly different from the typical static scoping most developers with expertise in C, C++ and Java are familiar with. In C, C++, Java the following code will terminate and producing twenty outputs

for(int i =0; i<10;i++){
  for(int i=0; i < 2 ; i++){
    System.out.println( i);

while in javascript,

for(var i =0; i<10;i++){
  for(var i=0; i < 2 ; i++){
   console.log( i);

will create a an infinite loop.

Have you had a challenge unlearning something?

1,439 total views, 3 views today