By Joshua Masinde
Countless university students across Africa are typically unable to adequately train or hone their skills in computer programming due to the scarcity of resources to enable them to buy personal computers. The scarcity of computer labs at these institutions of learning makes it even more difficult for students to develop core competencies required of such a practical and rigorous course. However, one woman is seeking to change all that.
Dr. Charity Mbogo, a lecturer at the Kenya Methodist University designed the mobile scaffolding application through which students can learn programming on their phones. While pursuing her doctorate studies at the University of Cape Town, graduating in December 2015 with a Ph.D in Computer Science, she found the scaffolding process to be particularly beneficial to novice or new learners of computer programming especially in resource-constrained environments.
And, given that programming is best learned through practice, students need access to techniques or tools such as mobile phones, which are readily or easily available to them, unlike computers, to aid them in the learning process. They are able to use these techniques to learn programming by writing code rather than just reading about it, something that the mobile scaffolding provides.
Using a prototype, three tests were carried out with 182 computer programming students at four universities in Kenya and South Africa in 2015. The results of the pilot indicated the scaffolding techniques enabled learners to attempt and finish more tasks compared to those in a non-scaffolding setting. The technique also enabled learners to not only detect syntactical errors early on during program creation but also to complete programs more efficiently.
“This technique is particularly useful in resource-constrained environments where students might not have access to desktop computers or laptops that they could use to learn programming,” she says.
Dr. Mbogo’s programming students for the first time recently, used the scaffolding technique as part of the class to construct Java programs on mobile phones. The biggest bottleneck was how mobile phones could be retooled into functional programming environments. This is because they do not come already designed with computer programming environment. The other challenge is the small screens or tiny keypads, which hamper the use of such devices in learning programming.
The upside to the small screens and keypads is that students are able to focus on the task at hand. The technique is currently available only on the Android platform. It is expected it will also be available on iOS and Windows. Other programming languages such as C++ will be added to the package that currently only supports Java.
Traditionally, there has been a major imbalance between the number of female and male students pursuing science and technology-related courses at universities in Africa. The odds have favored the men. But, Dr. Mbogo feels such innovative models of supporting learning computer programming could encourage more women in Africa to enroll for the course. This way, Africa would be in a position to churn out more women in tech to solve many of the continent’s social ills.
“There are many socio-economic problems that relate directly to women, ranging from health to governance. What better way to use ICT to solve these issues than by women themselves?” she asks.
The situation is improving now albeit gradually. While pursuing a computer science degree at the undergraduate level, she was the only girl in a class of ten students. Now, out of 108 undergraduate computer programming students she teaches, 19% of them are women. Besides a mentorship program she runs to hone the skills of female computer science students, entities like AkiraChix are training and inspiring the next crop of women in Africa’s tech space.
As one of the sons of Africa has put it, “Knowledge is power. Information is liberating. Education is the premise of progress, in every society, in every family,” Kofi Annan.