Nuru, A Swahili Programming Language

Nuru... Language should not be a barrier
The Need for Programming Education
Educators, researchers and policy makers are recognizing the need to introduce programming skills and IT literacy in the education system. A number of research in the last decade has highlighted the importance of introducing computer science to children from an early age. The studies include the need to teach programming skills and more generally computational thinking.
Computational thinking can be defined as a broad set of universally applicable analytic and problem-solving skills, dispositions and habits rooted in computer science [1]. Computational thinking skills include thinking recursively, using abstractions and applying heuristic reasoning [2].
These skills are even more important in Tanzania where pass rates in science based subjects are low. The average pass rate of math in Primary School Leaving Exams (PSLE) from 2012 to 2022 is 48.7%[3]. The average is even lower in Secondary Education where despite the overall improvement, the pass rate of basic mathematics in 2024 was 25.35% [4].
Studies have shown that one of the reasons for such poor performance of students is lack of logical and ‘mathematical’ thinking skills [5]. Thus we present Nuru as a solution to foster such logical and computational thinking in children.
What Is Nuru?
Nuru is a Swahili programming language built from the ground up. Its main purpose is to bridge the digital divide and provide students with the ability to learn programming and computational thinking in their native language.
The source code of Nuru is publicly available on Github [6] with a GPL-2.0 license that guarantees that the software is free to all [7]. The first public commit was made on December 1, 2022 [8] and it was officially announced by its author Fuad Habib on Dec 13, 2022 [9].
Nuru is an interpreted programming language that has over 25 contributors from around East Africa.
The language boasts many features including:
- A complete programming language that is turing-complete [10]. Several algorithms have been made with Nuru. A notable example being a sudoku solver.
- A single executable that runs on all platforms including Windows, Linux and even mobile devices such as Android.
- Several third packages, most of which are community contributed such as the (hisabati) math module
- In built documentation
- Fully open source to encourage developers to contribute and make technology more accessible
Nuru being open source has also encouraged developers to build on it, such as:
- A Nuru implementation running on web assembly [11]
- A language server protocol made for Nuru [12]
Why A Swahili Programming Language
The main argument for Nuru’s existence is that the primary language in Tanzania, especially in primary schools is Swahili. As of 2021 there were over 18,000 primary schools, most of them being public schools [13]. Of all the public primary schools, only 42 of them were English medium [14].
Thus Nuru was made to enable such a large number of students to get introduced to programming and computational thinking. Nuru will remove the barrier of them first requiring them to learn English before programming.
Moreso, having a programming language in their mother-tongue might enable students to grasp abstract concepts faster and foster interest in STEM based fields. It will also be easier for educators to teach the programming language as studies have shown that most teachers face challenges teaching in English even in Secondary level education [15].
Finally, Nuru being a programming language built from the ground up, and not a wrapper around other popular English programming languages, allows it to be in a unique position to solve local challenges without being dependent on other existing languages.
Impact of Nuru
Nuru has resulted in the collaboration of over 25 developers from all over East Africa [16][17]. It has also created a community of more than 200 members [18].
The Nuru community have also hosted their first event, NuruCon, on the 5th of October 2024. The event was held in Dar Es Salaam with over 65 attendees [19]. The high interest of developers towards the project further solidifies its hold in the community.
The event attracted members from all over East Africa where developers showcased what they built with Nuru, including a TicTacToe game [20].
Roadmap
Nuru’s journey is still early. Building the language is the first stage, however this is not enough. Nuru intends to make programming more accessible especially for young children, thus it needs to develop applications that are user-friendly, and more specifically child- friendly. This is Nuru’s roadmap:
Develop the core of the language
This has already been achieved as their core of the language is fully functional.
Provide support for third party packages
This is being actively developed. Support for third party packages written in Nuru, such as the hisabati (math) module has already been built.
Build an Integrated Development Learning Environment (IDLE) for Nuru
This is to provide a more user friendly environment for beginners to get started with the language. Initial developments have already begun [21].
Generate Learning Content
Although the official documentation is readily available both online [22] and in the Nuru executable, there is a need for creating beginner and child friendly learning materials that can be easily digestible by non technical people.
Run workshops with schools
The initial workshops intend to start in the third quarter of 2025, starting with schools in Dar Es Salaam and Iringa and then further expand to other areas. Having test pilot workshops will help the Nuru developers to refine and improve the tools they are building.
Provide Nuru deployment kits
This will help students learn even in remote areas without the need for internet connection. This will further guarantee Nuru’s goal of accessibility.
These are of course the initial steps. Nuru has the ambitious goal of being integrated within the school curriculum so that it can be taught nationwide. Moreso, greater opportunities exist in enhancing children's learning with Artificial Intelligence as the technology gets more cheaper and accessible.
Hurdles and Challenges
Developing Nuru needs time and resources, and as the project is entirely community driven it faces a number of challenges.
No Revenue Stream
The core developers of Nuru are tied to other responsibilities that generate income, thus they are unable to dedicate enough time to Nuru, resulting in the slow development of the project despite the large interest from the community.
Linguistic Challenges
As the language is in Swahili, one of the key challenges is creating technical terms for various programming tasks while making the language simple. This is because the terms either don’t exist in Swahili or are too lengthy and difficult to be used as it defeats the purpose of making a simple and easy to use programming language.
Logistics
Despite Nuru having the capability of being run on any device, there do exist many schools without any computing device (computers, tablets, phones). Thus provides a challenge of teaching Nuru and programming to them.
Final Word
Nuru has the potential of enhancing children’s learning abilities as well as improving their technical literacy. And despite the challenges and long road ahead, the Nuru community is dedicated to achieving their goals.
References
- Coding as another language: Research-based curriculum for early childhood computer science: Early Childhood Research Quarterly 64 (2023) 394–404
- Aho, A. V. (2012). Computation and computational thinking. The Computer Journal, 55(7), 832–835
- Analysing Mathematics Performance in Tanzanian Primary Schools through the Lens of Candidate Items Response Analysis Reports
- Form four pass rate improves to 92.37pc in 2024
- Analysing Mathematics Performance in Tanzanian Primary Schools through the Lens of Candidate Items Response Analysis Reports
- Nuru GitHub Repository
- GPL-2.0 License
- First public commit of Nuru
- Fuad Habib’s Nuru announcement
- Turing Completeness
- Nuru WebAssembly Implementation
- Nuru Language Server Protocol
- Number of primary schools in Tanzania
- English Medium Transition in Public Schools
- Challenges in English as a Medium of Instruction in Tanzanian Schools
- Nuru Contributors
- Nuru Documentation Repository
- Nuru Telegram Community
- NuruCon 2024 Event
- TicTacToe game built in Nuru
- Nuru IDLE Development
- Nuru Official Website