skip to content

Department of Computer Science and Technology

 

Is it possible to teach and practice programming wholly in a national language, rather than the mix of English keywords and local content that is so typical of digital working?

Addisu Damena is a local entrepreneur and lecturer in the Bahir Dar Institute of Technology, who is completing an ambitious Master's project. His original goal was to create end-user development tools to support the creation of websites, with programming done wholly in the Amharic language. He has adapted the Blockly graphical editor - replacing all of the keyword text with appropriate Amharic alternatives, and even changing the order of the elements within the block to allow more natural reading of the expressions according to Amharic grammar. He has made a number of architectural changes to typical Blockly-based applications, providing live update of JavaScript that is compiled from the Amharic blocks, and integrating HTML content to generate functional web pages.

Having provided a full Amharic-language tool chain for simple web pages, he realised that this could be the starting point for far more ambitious technical capabilities - and these are exactly the kind of Ethiopian-led innovations that we have come here to find and support. Using the Brain.js library, he has extended his development environment with tools for prototyping neural networks. Again, these are described in Amharic, with Blockly syntax to simplify the specification of parameters such as the number of network layers, input and output neurons and so on. He has added functionality for rendering and interacting with a graphics canvas, using P5.js.

Screenshot of Addisu Damena's Amharic version of blockly, with neural network demonstration.

The result is a tool that can be used by students for experiments with graphics and AI. A typical example that he showed us, all created using these tools, demonstrates how the position that a football player takes on the pitch, dependent on the position of the ball, can be learned by a neural network from a small number of training cases. The user can then explore how well the model generalises from those examples, by interactively moving the ball around an image of the pitch, while the players dynamically follow