Participants upskill at Coding Summer School
strengthened their scientific computing and data science skills at the annual CHPC & NITheCS Coding Summer School, held from 27 January to 7 February 2025. The hybrid programme brought together participants at venues across almost all South African universities, iThemba Labs and online.

A total of 826 individuals registered. For the first time, undergraduate students were eligible to apply, and all registrants were required to pass an entrance test assessing basic Python programming skills. To prepare, applicants were encouraged to attend the NITheCS Software Carpentry Workshop held from 11–15 November 2024. Of those registered, 641 passed the entrance test and qualified to attend.
Average in-person attendance was approximately 270, slightly higher than the average online attendance of 250. The Summer School’s Slack platform recorded 557 members and 7,038 messages. Although Slack membership decreased by 12.3% compared with 2024, the number of messages sent increased by almost 9%, suggesting more active engagement among members. A total of 372 participants qualified for Certificates of Completion.
The five leading ‘Pythonistas’ were all women: Zusiphe Mzazela from the University of Cape Town, Boithuso Phale from the University of the Witwatersrand, Kgaugelo Ledwaba from North-West University, Lindiwe Maphalla from the University of Johannesburg, and Anuoluwa Makinde from iThemba Labs.
Binjamin Barsch, Lead Software Engineer at the CHPC and lead coordinator of the Summer School, explained that the programme shifted from introductory to intermediate Python training in 2025.
“Learning the basics of Python is readily available and accessible online already, so the content focused more on practical skills for researchers. This year we also focused more on in-person attendance and the students’ feedback showed how they valued that greatly due to meeting their trainers and peers face to face.”
Dr Werner Janse van Rensburg, Research Manager at the CHPC, highlighted efforts to improve the in-person learning experience.
“We developed novel and engaging training exercises — including games — to enhance learning in Python and Bash scripting. These activities were highly appreciated by the trainees.”
Activities included a team challenge in which participants competed to test their Python knowledge. The programme also used Bashcrawl, a text-based adventure game that teaches Bash scripting through exploring directories, finding hidden files and solving challenges.
Applying new skills to research
Kgaugelo Ledwaba, a BSc Honours student at North-West University’s Centre for Space Research and one of the top five Pythonistas, praised the interactive approach.
“The school was nothing short of extraordinary. I particularly appreciated the code-alongs and the opportunity to interact with a variety of instructors. I wished we had more time to share, as everyone had so much to offer.”
Ledwaba matriculated from Kwandebele Science Combined School in Siyabuswa-Kwandebele, Mpumalanga. She hopes to develop expertise in signal interpretation and contribute to astronomy research at the South African Radio Astronomy Observatory (SARAO) or NASA. Before attending the Summer School, she had no experience with computational thinking or machine learning.
Zusiphe Mzazela, who ranked first among the Pythonistas, had previously encountered coding at an introductory level during her bioinformatics studies.
“Ever since I started my honours in bioinformatics in 2023, I was exposed to coding,” she said, explaining that further independent learning was necessary to develop her skills.
Mzazela matriculated from Mvenyane Senior Secondary School in Matatiele, Eastern Cape. Her research uses machine learning to analyse DNA methylation-based epigenetic signatures for breast cancer classification, drug sensitivity prediction and the identification of somatic genomic alterations.
“DNA methylation is a biological process that regulates gene activity, and abnormal patterns can indicate breast cancer subtypes, gene mutations and drug response. By utilising The Cancer Genome Atlas (TCGA) datasets, I use a Python-based machine learning framework to identify patterns that traditional methods might miss.”
Her work combines unsupervised learning to uncover hidden structures in data with supervised models, including Random Forest and XGBoost, for prediction. She is also exploring other models to improve performance.
“By combining machine learning with epigenetics, my research seeks to uncover novel biomarkers that improve cancer classification, refine treatment strategies, and provide deeper insights into the genetic mechanisms driving tumour progression.”
Another leading Pythonista, Lindiwe Maphalla, was pursuing a PhD in Biotechnology at the University of Johannesburg at the time of the Summer School.
“I hope to make significant contributions in the fields of biotechnology and bioinformatics, using coding tools to analyse biological data more effectively,” she said.
Maphalla, who matriculated from Setjhaba Sohle Secondary School in Gauteng’s Vaal region, thanked the organisers for providing a valuable platform for learning and personal growth.
Strengthening computational research capacity
In an article published on North-West University’s website, Dr Daniel Mojalefa Moeketsi, a senior lecturer at the School of Physics and Centre for Space Research, highlighted the programme’s wider contribution.
“This summer school not only empowers students to effectively utilise high-performance computing resources but also enables them to tackle complex data challenges in their respective fields. In addition to enhancing individual expertise, this training drives the overall growth and innovation of computational sciences in South Africa.”
He also noted its relevance to the Fourth and Fifth Industrial Revolutions through its focus on computational skills, data science and artificial intelligence.
The Centre for High Performance Computing (CHPC) has hosted the annual Coding Summer School since 2010. Since 2019, CHPC and NITheCS have jointly organised the programme.
