It's Wednesday, 2:00 pm sharp in the densely-populated South African township of Ivory Park on the outskirts of Midrand—time for about 60 11-year-olds to duel at their local coding club.
Armed with basic coding blocks, inventor kits, laptops and inexhaustible imagination, the six primary school teams compete against each other.
The coding club kids use electronic boards to make temporary circuits and prototypes to devise solutions for problems they've identified in their community.
"We are making an incubator machine that helps children who are born premature and those who are sick," Sifiso Ngobeni, a pupil at Mikateka Primary School, outside Johannesburg, told AFP.
Rival competitors from nearby Sedi-laka primary are tackling the scourge of missing children.
"On the news we always hear about children going missing, so we are making a child tracking device that can be put into children's clothes and toys," says one of the chattering crowd.
Coding is the instruction that a robot or computer programme reads and then executes.
At the coding clubs, students learn to design the code to make it happen.
Although access to schooling has increased in South Africa since the end of apartheid, the education system often fails to make the grade.
"The fact that we still have 80 percent of teachers using chalks and blackboards in this day and age is a serious cause for great concern," education activist Hendrick Makaneta said.
"It cannot be correct that the class of 2018 still looks exactly like the class of 1918."
Studies, including the Trends in International Mathematics and Science Study (TIMSS), reveal that the South African public education system is at the bottom of the class when compared with the rest of the world, especially in maths and science.
Such subjects are key skill areas, and coding clubs have been rapidly able to create a niche for themselves.
From fun games to employment?
In September, the ministry of education said it would get behind coding clubs, which have also proved popular elsewhere in Africa, including Kenya and Botswana.
In South Africa, the clubs are mainly hosted for free by NGOs, such as ORT SA, CodeJIKA and We Think Code.
"The will is there and our schools are open to it, some of them already have it (basic coding training) as part of their formal curriculum in technical schools," education ministry spokesman Elijah Mhlanga said.
"Pupils will be exposed to it so that as they grow up they are truly aware of what it will require of them."
In a country where over 50 percent of young people are unemployed, coding clubs also boost the chances of finding a job.
"The clubs are about teaching learners the basics of coding and programming. We do basic coding using blocks and as they go to high school, we introduce them to more complex programmes," Chamu Mawire, coding facilitator at ORT SA, told AFP.
But the coding has to be relevant to daily lives to get youngsters to want to learn, he said.
"We want them to identify problems in their areas or in their schools and then they make projects to try and solve those problems within their day-to-day life," he said.
While most of the Ivory Park pupils are familiar with using smart phones, smart TVs and the internet, coding and understanding algorithms is another challenge all together.
A 2018 report by McKinsey highlights that 45 percent of all current tasks could be automated with present technology.
Innumerable aspects of life, from science to engineering, and financial services to law or art, will depend on coding.
For Mawire, he envisions his students getting into the world of software development, software maintenance or technical aspects of fixing the gadgets and robots of the future.
And for girls who, in South Africa and particularly in the townships, are especially vulnerable to exclusion, illiteracy and subsequent dependancy on men, it could make all the difference.
"Once you've got a child who is confident, especially a girl, that child can stand their ground," he said.
"Kids need to move with the dynamics of education, and programming is the way forward."
Explore further: Teachers need confidence to teach coding properly