Computer Science Education in Selected Countries from Sub-Saharan Africa

Computer Science education in sub-Saharan Africa has evolved over the past decades. The number of institutions offering distinct undergraduate programmes has grown, thus increasing the number of students enrolling in the Computer Science discipline. Several Computer Science degree programmes have emerged with one of the objectives being to satisfy the growing demand for local talent and skills. In this paper, we provide a snapshot of the evolution of undergraduate Computer Science education in selected countries in Sub-Saharan Africa over the past 20+ years and an overview of the developments in Computer Science education and observed trends. The setup of educational institutions in Africa and the operational context require unique modalities for the design and delivery of computer science education that meets the demands of the industry, amongst others. This paper provides insights into the best practices in the Computer Science curricula in the selected countries, as well as an overview of the pedagogical and delivery approaches to Computer Science education. The paper highlights case studies from institutions in the selected countries, namely Uganda, South Africa, Ghana, Tanzania, and Kenya with a consolidated summary of the current and emerging challenges and opportunities in all these countries. The paper concludes by providing perspectives on the future landscape of Computer Science education in Sub-Saharan Africa.


BACKGROUND AND INTRODUCTION
The role of Computer Science education (CSE) in the digital transformation and economic development of Sub-Saharan Africa (SSA) cannot be overstated [4,10]. To meet the growing demand for talent and a skilled workforce, many institutions of higher learning in SSA offer standalone degree programmes in Computer Science (CS) at undergraduate and graduate levels. Yet the progress and current state of CSE in SSA is not well documented. There is very little literature on the nature and diversity of CSE in SSA, success stories, or challenges.
The purpose of this paper is to provide a description of the current state of CSE in selected countries in SSA. These countries include South Africa, Ghana, Uganda, Kenya, and Tanzania. Figure 1 shows a map of the selected countries from different regions of Western, Southern, and Eastern Africa. The paper aims to provide an overview of the current trends in CS, the areas and focus of CSE, methods of delivery, emerging programmes, challenges and opportunities, as well as future prospects for CSE in SSA. The paper aims to answer the following questions: (1) What is the current focus of CSE in selected countries in SSA?
(2) What areas of CSE are currently covered in the CS curricula in the selected institutions?
(3) What are the methods of delivery for the CS curricula? (4) What has changed over the past 20 years in CSE in SSA? (5) What are the emerging programmes in CSE in SSA? (6) What are the emerging opportunities, challenges, and future prospects of CSE in SSA?
To address the above research goals and questions, we identified CS educators situated in the selected countries. Key considerations were a representation of the different regions in SSA, and experience in teaching and research in CSE in an institution in the selected country. We also aimed for gender representation of the CS educators with the selected educators forming the author list of the paper. For this paper, the focus was on undergraduate CSE. This excludes related computing courses such as Software Engineering, Information Systems, Information Technology, Computer Engineering, and Computer Networks. We reviewed the selected curricula to understand the focus areas in the CS programmes using frameworks such as the ACM Computing curricula guidelines [12]. We also conducted a survey among CS educators using an online survey form to gain insights into the delivery methods, curricula focus, challenges and emerging opportunities.
The rest of the paper is structured as follows. First we document the state of CSE in each individual country and then we present a consolidated view of the common challenges, opportunities and future directions of CSE in SSA.

COMPUTER SCIENCE EDUCATION IN UGANDA
Undergraduate CSE in Uganda started in the late 1990s. Before then, CS was embedded as a subject or an area of specialisation in other disciplines, including basic sciences, engineering, mathematics and statistics. In the late 1990s and early 2000s, CS started emerging as a discipline with a distinct degree programme. According to the National Council of Higher Education [24], a body responsible for the regulation of higher education in Uganda, 28 institutions are offering There was a considerable effort in training the trainers of CSE as the first steps towards improving the quality of CSE in the country. There has been significant success in training staff through international collaborations. Staff train at an international institution for example in the USA and Europe and return upon completion. In other training modes, staff spend half of the time at the home institution and half the time at a foreign institution. For example, the Bright project [8] was a collaboration between universities in Uganda and Sweden. The collaborating universities were Makerere University, Chalmers University of Technology and University of Gothenburg. Other initiatives include the ongoing PhD exchange fellowships between the Department of Computer Science at Makerere University and The Paul G. Allen School of Computer Science and Engineering, University of Washington (UW) in Seattle, USA 3 . For each of the selected Universities, assessment the curriculum against the focus areas in the ACM Computing curricula guidelines 2020 [12]. Tables 2 and 3 provide a summary of the analysis. The curricula follow and conform to the ACM definition of CS distribution of the knowledge areas, with the majority of the programmes having most of the courses under the category of Software Fundamentals, followed by Systems Architecture and Infrastructure, and Users and Organisation. In this analysis, we categorise mathematical courses as part of the foundations (i.e., Software Fundamentals). The analysis helps provides clarity on the distinction between CS programmes and other computing programmes such as Information Technology and Information Systems. The distinction between computing programmes including computer engineering, information systems, and software engineering can be unclear among learners and faculty and therefore this analysis helps to show the intended and current focus of CS programmes.
CS programmes continue to offer foundational courses including mathematical courses, Operating Systems, Data Structures and Algorithms, Automata, Complexity and Compatibility, Cryptology and Coding Theory, Computer Graphics, Compiler Design, and Graph Theory. In addition, the CS programme have a focus on practical skills and industry placement as means to enhance the training. There are emerging offering in the areas inline with the current global trends. For example, Makerere University's CS curriculum includes courses on artificial intelligence, machine learning, robotics, embedded and real-time systems, and cloud computing.

Enrolment trends
There is a growing trend in the number students enrolling in CS programmes. Figure 2 shows the trend of enrolment in the undergraduate CS programme at Makerere University. Most Universities provide multiple track entry options including for direct entrants from high school (A' Level), diploma entry schemes, and degree entry schemes. The majority of the entrants are via the direct entry scheme of students who have recently completed their high school studies.

History of Computer Science Education in South Africa
The history of CS tertiary education in South Africa (SA) is well documented in [9]. As in many other countries, the first CS courses were taught in various Physical or Mathematical Science departments in the late 1960s and early 1970s before the establishment of independent CS departments. The above points to the fact that CSE is both in great demand within the South African economy to fill the skill shortages, but also a lucrative career for potential employees to pursue.
Most CS departments have collaborations with industry. Besides the many large international IT companies with offices in South Africa (including Amazon, Oracle, Google, IBM, Amazon Web Services, Microsoft, and many more), there are also many successful local IT companies and startups. Collaborations include amongst others, offering internships, funding for equipment, and scholarships for students. Compulsory work-experience is however, not a normal requirement for a Bachelor of Computer Science degree in South Africa.

Structure of Computer Science degrees
In keeping with the aim of this paper, the discussion in this section focuses on the traditional South African universities offering CS as a major subject, and not the technical universities that typically offer technology degrees or diplomas, such as the B.Tech and B.IT degrees or Advanced and Post-graduate Diplomas in Information Technology. Based on a recent survey that documents CS degree offerings at eight South African universities, Table 4 presents summary information on the degrees offered at selected universities, namely Rhodes University (RU) 9 , UCT 10 , UJ 11 , University of 6 https://businesstech.co.za/news/lifestyle/653227/theres-a-critical-shortage-of-these-skills-in-south-africa-going-into-2023/ 7 https://businesstech.co.za/news/technology/633659/massive-skills-warning-for-south-africa-with-these-skills-in-short-supply/ 8 https://topuniversities.co.za/bachelor-in-computer-science/article-highest-paying-computer-science-jobs-in-south-africa 9 https://www.ru.ac.za/ 10 https://uct.ac.za/ 11 https://www.uj.ac.za/  Kwa-Zulu Natal (UKZN 12 , University of Pretoria (UP) 13 , US 14 , University of the Western Cape (UWC) 15 , and University of the Witwatersrand (Wits) 16 .
Information presented includes in which degrees at each university CS features as a major subject (i.e., a subject that is studied during all years of the degree), the approximate size of the first year intake (from the post-Covid years), and what the minimum admission requirements are. The admission point score (APS) is a calculation based on the student's matriculation subjects and how they performed in the final high school examination 17 . Note that not all universities use the same 7-point calculation scale, and hence the discrepancies in APS entrance requirements.
To the best of our knowledge, UCT and UJ are the only universities whose three-year BSc degree together with the Honours year has been accredited by the British Computer Society, the Chartered Institute for IT in the United Kingdom. Many of the universities, however, do follow the ACM Curriculum guidelines in setting up their three-year 12 https://caes.ukzn.ac.za/ 13 https://www.up.ac.za/ 14 https://www.cs.sun.ac.za/ 15 https://www.uwc.ac.za/ 16 https://www.wits.ac.za/ 17 https://bursaries-southafrica.co.za/how-is-aps-calculated-at-universities/ Computer Science Education in Selected Countries from Sub-Saharan Africa 9 Bachelor degree consists of 360 credits (equating to 3600 notional hours) with most South African universities requiring two major subjects (each of which contributes 130 credits). The remaining 100 credits come from ancillary subjects that complement the majors. In the case of a CS major, typical second majors could be subjects like Mathematics, Physics, Information Systems, and so on. Where only one major subject is required for the Bachelor degree, an increased number of credits is allocated to that subject with the remaining credits taken from ancillary subjects.
A breakdown of the undergraduate courses taught at Rhodes University aligned to the ACM Curriculum 2020 knowledge areas is given in Table 5. This table includes the courses taught at the Honours year to ensure alignment with the typical four-year undergraduate degree structure in the USA. Note that the calculations for the percent contribution of each knowledge area are based on the number of teaching weeks per course as a % of the total teaching weeks in a four-year degree. As an extra-curricular activity, many SA universities encourage their CS students to participate in various competitions organised by industry or academic associations. For example, the Microsoft Imagine Cup and the International Collegiate To develop holistic students armed with the additional skill set that they require in the industry, the CS curricula also cover topics in the area of communication skills, critical thinking, problem-solving, Mathematics, introductory electronics, microprocessors, ethics of computing, and some business skills, such as accounting, management and marketing principles. By said topical coverage, the universities are certain of producing computer scientists that are problem solvers, analytical, critical and innovative thinkers.
Though the curricula of most of the universities are similar in structure, small differences between these that make them unique lead the students into different career paths such as software development/engineering/programmers, data scientist, computing systems security professionals/cryptologist, system /software administrators and database administrators.
The methods of delivery of the CS curriculum in most of the said universities include face-to-face (and most recently online) lectures applying practical and knowledge-based learning, practices (including lab sessions), seminars, case studies, mini projects, discussion, demonstration, internships/attachments and field trips. Assessments are usually in form of assignments, mini projects, and final year project work, mid-semester and final examinations (practical in some schools), case studies, etc.
Inferring from the said topical coverage, it is noticeable that the ACM 2020 knowledge areas of Users and Organisation  These collaborations include some of the companies setting up labs in the universities, students undertaking internships / industrial attachments with the companies, skilled members of the said companies giving talks and some mentoring to the CS students.  Kenya has continued to grow, including vocational training centers, colleges, and universities, primarily due to the government's investment in CSE.

Demand and need
Kenya is now home to several IT companies, for instance, Safaricom, IBM, Microsoft, Oracle, and Google. These private The government and industry's investment in CSE has also given rise to e-learning platforms offering short courses in CS subjects -a trend accelerated by the COVID-19 pandemic. Some universities, including JKUAT, UoN, and KU already had reliable and robust infrastructure that helped them transition smoothly to online instruction. Students and faculty members showed an excellent uptake of e-learning technology, ensuring minimal disruption of learning activities during this global event. All these developments have created more job opportunities for CS graduates since they can work as software developers, database administrators, system analysts, university lecturers, and other IT-related jobs. Table 8 shows some of the major universities offering CSE in Kenya. In this section, the curricula of these university are evaluated according to the ACM 2020 guidelines, as shown in Table 9. Most courses offered relate to Software for CSE, the ACM also recommends that students gain practical skills and hands-on experience in programming, debugging and testing, and teamwork [12]. Therefore, most institutions ensure that their CS students work on projects, participate in countrywide and international competitions, such as Microsoft's Game of Learners 24 and Huawei's ICT Competition 25 , and complete industry internships.

Structure and focus of Computer Science curricula
In addition to following the ACM recommendations, universities also specify rigorous requirements for graduation to guarantee exceptional training. Specifically, students must have completed their studies for not less than three academic years and not more than six. During this period, they should complete on average 50-65 units, depending on the institution as shown in Table 8. Each unit is a series of 45 one-hour lectures equivalent to a two-hour tutorial or three-hour practical sessions. The learners must also complete a Computer Studies project during their final year that is evaluated through a written thesis and a demonstration of a software application that solves a local or global solution.
As a result, Kenyan CS graduates have a vast technical understanding of the computing field and remain familiar with essential concepts, including complexity, abstraction, resource use, and security. Many of these institutions' curricula allow them to appreciate the interconnection between practice and theory while granting them a system-level perspective on how computers function. These four-year programs expose the learners to multiple technologies, programming languages, and paradigms to ensure they can apply their knowledge broadly.

Enrolment trends
Most Kenyan universities offer multiple entry alternatives, for instance, high school students who have attained the minimum points in their KCSE results, diploma graduates with high scores, and students who have completed other related undergraduate programs. However, many of the students are high school graduates whose studies are either

COMPUTER SCIENCE EDUCATION IN TANZANIA
CSE in Tanzania is a rapidly growing field, as the country strives to increase its digital literacy and build a strong foundation for its technology industry. Tanzania is a relatively young nation and faces a number of challenges when it comes to providing CSE to its population. The first Bachelor of Science in Computer Science programme was established in 1999 at the University of Dar-es-Salaam. This was the only university offering CS tertiary education in Tanzania with an enrolment of fewer than 100 students per year 26 . Compared to the previous years, the demand for degree qualifications in CS and related disciplines has rapidly increased. To-date, there are more than 12 universities offering CS programmes or CS-related disciplines such as (BSc. Information Technology, BSc. Information Systems, and BSc. in Information and Communication Technologies) 27 .
In addition, the Tanzanian government has made efforts to increase access to CSE and to improve the quality of the instruction provided to students 28  The government has also collaborated with a number of international organizations to improve the quality of CSE in Tanzania. With the support of international organizations, the government is investing in initiatives that will ensure 26 https://cse.udsm.ac.tz/about-us/formation-of-cse 27 The Tanzania Commission For Universities (TCU), 2020 28 https://files.eric.ed.gov/fulltext/EJ1153332.pdf 29 https://files.eric.ed.gov/fulltext/EJ1099588.pdf However, CS instruction lacks depth, with few students going on to pursue post-graduate degrees in the field. In order to improve access to CSE, the Tanzanian government has committed to increasing the number of CS instructors in the country, as well as providing better training and resources. From the enrolment of fewer than 100 students at the University of Dar-es-Salaam in 1999, the number of students currently enrolled for the Bachelor of Science in Computer Science has increased across Tanzania to more than 700 students (Table 10).

The demand and need
The government of Tanzania has been increasingly investing in the Information and Communication Technology (ICT) sector in the last few years. A number of initiatives have been implemented to promote CSE in the country. The government has partnered with local businesses and international organizations to provide training and support for CS students. The aim is to develop a skilled workforce that can contribute to the growth of the ICT sector. Furthermore, the government has also partnered with the industry to create a platform for collaboration and innovation. This has allowed the industry to exchange ideas, develop new products and services and create job opportunities for CS graduates.
In Tanzania, the government has been making efforts to increase the number of CS students who are doing internships in industries. This is part of the government's effort to bridge the gap between academia and industry, as well as to help students gain practical experience in the field. The government has put in place initiatives such as the Tanzania ICT Internship Programme, which provides funding and support to CS students who wish to do internships in the industry. This programme has resulted in a number of students being placed in various industries, such as banking, telecommunications and IT services. 30 https://documents1.worldbank.org/curated/en/485771622426544909/pdf/Tanzania-Digital-Tanzania-Project.pdf 31 https://www.undp.org/tanzania/blog/disrupting-conventional-universities-space-collaborative-problem-solving 32 https://documents1.worldbank.org/curated/en/299851580138262444/pdf/Tanzania-Secondary-Education-Quality-Improvement-Project-SEQUIP.pdf In addition, the government has also been encouraging local universities to partner with the private sector to create internship opportunities for students. For example, several universities in Tanzania have partnered with the tech companies to offer internships to students in the field of CS. This has enabled the university to better prepare its students for the job market and to enable them to gain hands-on experience in the industry.
Also, there is a fracture of knowledge sharing between industry and the higher learning institutions in Tanzania.
Internships are an excellent opportunity for CS students in Tanzania to gain valuable hands-on experience in the field. By taking on an internship in a local industry, students can learn how to apply their technical knowledge in a professional setting. Additionally, internships can give students the opportunity to network with industry professionals, build a portfolio of work and receive mentorship. Through internships, students can also gain insight into potential job opportunities and build relationships with employers that could lead to future employment. The majority of universities reported collaborations with industries only for placement of students (e.g. internships), which contributed to 100% of the consulted institutions. However, 50% of the respondents agreed to have collaborations with industries in terms of students internships, guest lectures, co-teaching and sharing of problem sets.

Structure of Computer Science degrees
The curriculum for CS in Tanzania  The CS curriculum in Tanzania is designed to prepare students for a successful career in CS 34 . It emphasizes the development of technical and analytical skills, as well as the ability to think critically and creatively. The CS curriculum across universities has either similar or different focus however, the most common career paths of the graduates are hardware engineering, software development, IT and network management and data scientists (Table 11). In addition to that, methods of delivering the CS curriculum by many Tanzanian universities are through seminars, projects, practical and knowledge based learning, discussion, online learning, demonstration, case studies, face-to-face lectures and assignments. Students are also encouraged to become involved in research projects, internships, and other activities to gain experience in the field.

CHALLENGES AND OPPORTUNITIES FOR CSE IN SSA
Despite efforts by African governments and universities to promote CSE, there remain challenges that affect CSE in Africa. These include limitations in student background, minimal resources and funding limitations, inadequate infrastructure, poor pedagogical approaches, gender imbalance, and a shortage of qualified instructors [3,14]. There are several challenges and opportunities for CSE in Africa. Many of these are cross-cutting across multiple countries, while some of them are unique to some of the countries in this study. In this section, we summarise these challenges and also discuss opportunities to improve CSE in Africa.  pass rates in the final matriculation examinations), and finally, the largest category, government schools that do not have functioning governing bodies, and with the lowest average pass rates for the matriculation exit examinations. This difference in secondary schools attended by the students provides a critical challenge in the school system that cascades to CSE at university level [19]. In some of the countries, like Uganda, Ghana, and South Africa, ICT and computer studies are offered as a subject at secondary schools but these are oriented towards the use of computer (i.e. ICT literacy) and software applications and less on the foundational concepts of CS. Most of the students admitted to a CS degree programme learn programming and computational aspects for the first time at the university, which impacts on their learning curve across the CS content.
Moreover, a number of CS undergraduate students in universities are unprepared for their study programme as they lack knowledge of CSe as a discipline and also have had no prior counselling and guidance in choosing to undertake the programme. It is not uncommon for CS to be misunderstood as being the same as "computer studies" or "computer literacy". As a result, most part of their first and second year is spent in trying to reorient and understand the programme and/or area of study instead of spending it on grasping the basic concepts and logic that would need to be applied in their higher years of study. This eventually affects their level of passion for the programme and additionally, the quality of output of graduates from the programme. interventions expected to bring about positive economic and social outcomes for local contexts [14]. Competing with the high salaries offered by ICT companies is very difficult for most tertiary education institutions.
Challenge Four: Gender Imbalance. Despite an increased number of computer scientists in African institutions, there is still gender imbalance in CS in both the student population and the teaching staff across most African universities.
Gender imbalance does not only occur in CS programs but also cuts across the STEM fields [6]. A study carried out by ICT consultants in Uganda showed that Makerere University, and other African universities had a ratio of male to female students in the ICT programs of 3:1 [23].
Challenge Five: Student Field Attachment. Due to limited growth of the CS industrial sector in some African countries, there is usually a challenge in student field attachment activities or industry linkage. It is expected that second-year CS students take up field placements at different CS focused organisations and companies during their recess term. During this internship or field attachment activities, students are equipped with practical skills in CS such as programming, databases, software engineering, artificial intelligence and general hardware maintenance 37 . This field attachment has shown that it improves student employability and entrepreneurship skills [5]. The challenge however, is that quite often, there is a limited number of organisations with suitable internships for CS students, as many tend to be oriented towards general ICT management. The emerging startups that are oriented towards the CS fields tend to have limited capacity to take on interns.
Challenge Six: Lack of Funding. Another obstacle for CSE is limited funding opportunities for undergraduate students. For example in South Africa, the national government has in place a National Student Funding Assistance Scheme (NSFAS) to support students from families below the poverty line. However, but there is a "missing middle" 36 https://mybroadband.co.za/news/government/283121-1998-vs-2018-matric-maths-exams-how-much-easier-it-is-today.html 37 https://cs.mak.ac.ug/curriculum group of students, who do not qualify for NSFAS funding, and whose families cannot afford the university fees 38 .
Besides the limitations on funding for students, universities are also experiencing challenges related to limited resources such as hardware, software, ICT teaching resources for the practical programming and CS courses, and administration support.
Challenge Seven: Teaching Methodologies. Usually the challenge of inadequate Mathematical skills should be surmountable as most CS programmes have introductory Mathematics courses such as linear algebra, calculus, discrete mathematics, probability and statistics. However the pedagogical approach to teaching seems to still make it challenging for the students that are already challenged by the subject. The same applies to computer programming courses (which most first year students would not have encountered prior to enrolling at the university) and other ancillary CS degree courses. Hence, the pedagogical approach is a challenge. Some lecturers would want to go the traditional way of teaching using the white/blackboard approach instead of practicing with students in the labs especially for practical courses. The issue of pedagogy is further complicated by the lack of sufficient CS degree programme lecturers as mentioned previously.
Challenge Eight: Problem-solving Skills. A prevailing challenge is that graduates struggle with abstract problemsolving capabilities. Computer scientists should do more than code because they need to be able to improve or design systems and communicate their solutions -a skill only possible through life-long learning. Most topics are covered only as introductory courses, meaning some students can hardly appreciate the domain-specific nature of their classes.
This issue remains difficult to address because while students can master the concepts introduced, many struggle to apply them concretely or consider them from multiple viewpoints. To address the funding challenge, African governments are currently searching for ways to mitigate this issue, possibly by way of student loans, for example in Uganda and Kenya. Universities have launched numerous initiatives to increase the intake of students, for example through the collaboration with international organizations, such as the Mastercard Foundation 39 , in Uganda and Kenya to provide scholarships to prospective and current CS students and their instructors. For instance, 20 years ago, it was challenging to convince instructors that investing their effort and time in learning computer systems for their learners' benefit was difficult [25]. However, numerous African university faculty members have obtained diverse international training as CS faculty. As a result, having numerous trained instructors has boosted teaching quality for CSE as the widely-trained faculty bring about a diverse range of teaching 38 https://www.careersportal.co.za/news/government-exploring-ways-to-fund-missing-middle-students 39 https://mastercardfdn.org/our-work/where-we-work-in-africa/kenya/ methods while also expanding research in CSE and other computing fields. The capacity challenge has been addressed through staff training in collaboration with international institutions [8,14] in addition to the in-country PhD training.

FUTURE DIRECTIONS OF CSE IN AFRICA
The presentation of case studies from selected countries and universities shows the trend and the current state of CSE in Sub-Saharan Africa. There are a number of common points that are worth noting. Most of the CS curricula are structured as three-year degree programmes, underpinning the need for a fast CSE delivery. Although different selected countries note that there are challenges around the deficiency of mathematical and computational knowledge at the entry-level. This challenge could inform continent-wide discussions to shape the future of pre-university CS education.
The other alternative is an exploration of four-year CS degree programmes as has been trialled in South Africa. CSE Over the past few decades, there has been an increase in the number of institutions offering CSE degree programmes.
There is also an increase in the number of enrolments across most of the institutions in the selected countries. This is linked to and driven by the growing demand for CS graduates from within and outside the continent. There are indications that some of the graduates from SSA are servicing the industry needs outside the continent. There is a need for further studies across the continent to understand the job categorisations and career trajectories of CS graduates. Despite the growing enrolment, the gender gap is noted in most of the institutions, with fewer female students compared to male students. Countries and institutions are taking different approaches to address this issue. For example, Makerere University has recently introduced initiatives aimed at increasing the enrolment of female students in STEM programmes.
This paper was limited to a few selected countries from Sub-Saharan Africa. In future, this landscape can be enriched by the inclusion more countries from the continent, providing more diverse perspectives of CSE.