Software Engineering Ethics Competency Gap in Undergraduate Computing Qualifications within South African Universities of Technology

Computing graduates working as software engineers are expected to demonstrate competencies in various categories of software engineering ethics as a component of nontechnical skills that complement technical skills. Therefore, university programme offerings should provide opportunities for students to develop software engineering ethical competence. This study analyses curriculum documents to determine the extent to which entry-level undergraduate computing qualifications of Universities of Technology (UoTs) in South Africa provide opportunities to empower students with software engineering ethical competence. We used summative content analysis to analyze texts within the UoT computing undergraduate qualifications related to software development as retrieved from the South African Qualifications Authority database. ATLAS.ti text analysis tool was used to classify texts according to predetermined software engineering ethics categories to determine the extent to which the qualifications under study expose students to software engineering ethics. The results show that the coverage of the various categories of software engineering ethics by UoT computing qualifications for software development is insufficient, incomplete and superficial, providing only limited opportunities for prospective software engineers to develop software engineering ethical competence. Lack of adequate inclusion of software engineering ethics by UoT qualifications in South Africa deprives prospective software engineers an opportunity to develop ethical competence required to become ethically successful software engineers. Such limited exposure by software development graduates risks the development of potentially unethical software products in the software industry. Keywords—Software engineering ethics; software engineer; technical skills; knowledge; curriculum; professional ethics; general ethics; university of technology


I. INTRODUCTION
Software Engineers (SEs) are expected to possess technical capabilities, knowledge and skills [1] along with personal or non-technical capabilities [2] necessary to meet the demands and standards of their work in developing complex software solutions. The globalized, rapidly changing world of information and communication technology (ICT) further necessitates such an all-encompassing need [3], primarily with non-technical skills, for collaborative software development environments [4]. The need for soft skills to enable SEs to appreciate their professional ethical responsibilities towards society and the environment when applying technical skills, while serving as exemplary ethical leaders, is imperative [5]. An ICT professional should have the competencies, which consist of knowledge (what one knows), skills (what one can perform) and disposition (what personal qualities one possesses), as depicted by the competency model in Fig. 1 developed by [6].
As software engineering ethics is a critical knowledge area in today's computing world, it is important to recognize that application of hard or technical skills in software development requires a balance with soft or behavioral skills [7], [8]. In agreement, [9]- [11] assert that the possession and use of soft skills contributes more to an individual's success or failure than technical skills or intelligence. Given this, it is expected that computing qualifications for software development equip graduates with an amalgamation of the competencies as cited above, particularly those relating to personal behaviors of software engineering ethics, to escalate the ethical success of software development graduates. This is vital as an SE without a solid ethics education is a depersonalized and a mere technical instrument [12] with the potential to be misused. 579 | P a g e www.ijacsa.thesai.org However, in the recent past, based on certain reported incidents, the ethical behavior, or lack thereof, of SEs has been thrust into sharp focus. The notable unethical conduct involving SEs includes, amongst others: Volkswagen's emission scandal [13]; Uber's 'God View' app for tracking people [14]; Greyball's use of software to evade law enforcement officials [15]; Boeing's Manoeuvring Characteristics Augmentation System (MCAS) failure that led to catastrophic crashes of 737 Max 8 airplanes [16], [17]; and South Africa's Experian data breach of customer records [18]. Although popular media has reported incidents worldwide, evidence in literature to specifically provide a picture of ethical software engineering challenges in South Africa was not found by the authors.
It is evident that SEs need to increase awareness of ways that will appeal to their conscience when working in software development to ensure that the resulting software products intend good to human lives [19]. According to [20], at present, ICT professionals are not adequately empowered to competently handle ethical challenges at work, which, suggests lack of training on ethics. A worrying lack of ethics awareness as a consequence of a lack of exposure to ethics training during formal studies amongst information systems professionals in South Africa was identified by [21]. In a study on ICT graduate skill requirements, ethics, professional ethics and responsibility did not make the list of skills demanded by the South African market [22]. Furthermore, research revealed disheartening global trends of ethical breaches that have manifest in various forms of academic dishonesty and immoral behavior by computing students during their formal studies [23]- [27] despite policies and clear efforts to educate students about ethics. This suggests unethical behaviors in South African software development environments from a lack of ethical awareness, likely due to deficiencies in computing qualification curricula. While the extent of the risk stemming from a lack of ethical awareness cannot be quantified, it is likely in line with the size of software development activity in a particular country. The size of South Africa's software market in the ICT industry is briefly discussed in the next section. In South Africa, there are numerous possible causes for the dearth of software engineering ethical awareness: a lack of inclusion of ethics in the curriculum; insufficient pedagogical methods for teaching ethics; lack of ethical culture amongst academics; and industry not emphasizing ethics as a required soft skill because of an overall organizational culture devoid of ethics. Therefore, research on computing curriculum to determine the inclusion of software engineering ethics is necessary. This paper aims to establish the opportunities of entry-level computing programme offerings by UoTs to empower prospective software development graduates with software engineering ethics competency; and subsequently reduce ethical challenges in the software development industry, advancing the development of software products that prioritize the protection of society against harm. In an effort to meet this research study's aim, the following research question will be answered: To what extent do computing qualifications for software engineering graduates offered by UoTs include ethics? The study's research objectives are as follows: 1) To identify software development-related entry level computing qualifications offered by UoTs registered by South African Qualifications Authority (SAQA).
2) To investigate if ethics learning outcomes are included in the software development curricula in the UoTs.
3) To determine the extent to which UoTs include ethics learning outcomes to empower graduates with ethical analysis competency.
The remainder of this paper is structured as follows: Section II presents background to the study and Section III presents a literature review. The research methodology followed by this research study is discussed in Section IV. Sections V and VI present research results and a discussion of the results respectively. Section VII presents the conclusion and recommendations of the study, while the limitations of this study are presented in Section VIII.

II. BACKGROUND
The South African ICT sector is the largest on the African continent, with an 8.2% contribution to the country's GDP [28]. Gartner [29] forecasted the sector spending of R303.46 billion in 2019, an increase of 3.9% from 2018, and R306,644 billion in 2020, with software spending contributing R35,850 billion. In 2019, the sector recorded the highest employment demand (close to 25%) with software development being the highest sought-after skill [30], the fastest growing, well-paying job skill in the country [31].
In South Africa, various higher learning institutions, including universities (both traditional and universities of technology [UoT]), offer computing programmes to graduate potential SEs for work in the software development industry. According to [32], of the 26 public universities in South Africa between 2016 to 2018, the six UoTs graduated a combined total of 7860 computing graduates, including those in software development, in comparison to 9105 graduates from the remaining 19 universities. The difference between these two types of universities is that UoT programme offerings typically include certificates and diplomas that are practical and careeroriented [33] [34] generally with a technological approach [35]; while traditional universities are more theory-and science-oriented [35] in their mostly degree programme offerings. Given the differences, UoTs are likely to supply the industry with a high number of SEs. For example, Tshwane University of Technology's ICT Faculty graduated a total of 2592 computing graduates between 2016 and 2018, and this made it the highest supplier of computing graduates amongst the 26 South African public universities.
As the public becomes more dependent on software driven gadgets [36], this increases the need for higher learning institutions to produce software professionals who are ethically aware and competent. In contrast, however, UoT programmes are technological, practical and career-oriented, designed to meet practical industry needs, clearly different from the theoretically-oriented programmes offered by traditional universities. This practical orientation comes with the potential exclusion of theoretical and professional issues such as ethics in the curriculum. Focus on the teaching of practical aspects of technology may lead UoTs programmes to face the same 580 | P a g e www.ijacsa.thesai.org challenge, like traditional computing courses, that fail to expose students to non-technical skills [37]. The lesser entrance requirements for UoT diploma/certificate qualifications in South Africa as compared to those of degrees at traditional universities also suggests that certain topics such as ethics may not be relevant to the curriculum at diploma/certificate level, thereby depriving students of opportunities to develop ethical awareness and the associated ethical reasoning competencies. Curriculum guidelines for computing qualifications, including those listed in Table 1, are typically designed for degree courses. Therefore, UoTs in South Africa may not necessarily recognize the need to align their entry-level qualifications with the curriculum guidelines recommended by professional bodies, which emphasize technical and professional ethics skills. UoTs cannot be exempted from producing highly ethical computing graduates because they contribute a sizeable number of SEs to the ICT sector. Based on the advocacy of the competency model in Fig.  1, one would expect that computing curricula for software development in institutions of higher learning, UoTs included, emphasize all three components of well-rounded SEs, irrespective of the type of university from which they graduate.
Analyzing curriculum documents such as syllabi and curriculum descriptors [38]- [42] specifically using content analysis [43] has become critical in curriculum research. Very few studies have been undertaken to determine the coverage of ethics by computer science programmes [44]. Furthermore, analyzing computing curriculum to determine the coverage of ethics in technology courses is important [40]. Therefore, this study is important in that it will shed light on the coverage of software engineering ethics knowledge areas by software development-related qualifications offered by South African UoTs. Its findings are likely to influence future curriculation of South African UoTs' computer science programmes. Furthermore, the outcome of the study will be of interest to software engineering and computer science curriculum development practitioners of the UoTs concerned, as the training of ethical SEs is of paramount importance for ICT employers in particular and society at large.

III. LITERATURE REVIEW
Recent years have seen a proliferation in the use of software applications and software-controlled technological devices [45]- [47] because of the benefits society derives from these technologies [2]. These require SEs to become aware and behave in a professional, social and personally responsible and ethical manner [48] given that their work has a far reach, more than even the products of other engineers [47]. Therefore, the lack of ethical awareness and ethical responsibility by computing professionals as a result of the way universities teach ethics [49], [50] challenges higher learning institutions to include and increase the coverage of ethics in their curricula [47], [51]. The inclusion of ethics in educational endeavors such as undergraduate curriculum [49] influences ethical behavior in practice [52], [53] and helps learners to develop ethical competence needed to exercise ethical autonomy [54].
Competency is an important concept in the execution of work responsibility and decision-making, especially where the work environment requires professional and technical skills, agility, dynamism and the ability to take decisions under pressure, as in the software development environments. Competency is defined by [56] as "a dynamic representation of demonstrated knowledge, understanding/ insight/ comprehension, (subject specific and generic) intellectual, practical and interpersonal skills and (ethical) values". As SEs are confronted with decisions on competing technical, social and moral issues in the development of software, ethical competence is critical for the successful balancing of this competition. The cognitive ability which results in individual autonomy, that is, the understanding and proficient application of ethical skills at personal and organizational levels [57] in dealing with ethical problems and conflicts [55] is ethical competence. This epitomizes the actual competence required in SEs to act maturely, to responsibly apply the requisite ethical skills when confronted with ethical dilemmas, other than the humdrum regurgitation of theoretical ethical knowledge.
In recognition of the need for ethical awareness and subsequent ethical competence in software development, there has been a notable shift in computing curriculum design to recognize social, political and environmental implications of technology [58]. These changes are captured in the evolution of computing curriculum that has seen the inclusion of social, ethical and professional issues [59], observable in the pioneering CS1991 and subsequent curriculum guidelines for undergraduate degree programmes including CS2014, SE2004, SE2014 and IT2107. These curriculum guideline volumes (see Table 1) provide guidelines for the inclusion of the relevant learning outcomes on software engineering ethics by higher learning institutions. Furthermore, they clearly state that bachelor degree computing curriculum should equip students with ethical competencies [60], [61] and expose them to professional responsibilities towards society [62]. The teaching of ethics in computing has also extended to various domain specific areas such as cybersecurity, computer science and machine learning [40]. It has further translated into the inclusion of ethics as part of the professional practice knowledge area in the Software Engineering Body of Knowledge (SWEBOK) [63] which also guides the curriculum guideline volumes. In support, earlier researches, such as [48], [59], [64], [65] demonstrate various advances in promoting professional practice and ethics, including the accreditation of qualifications.
Several professional bodies -such as ACM [66] and IEEE [67] have developed SWECOE to provide ethical guidelines to SEs in an effort to develop the software engineering profession, including in the teaching [49], [68], [69]. However, in South Africa, the accreditation of SEs in the field of software development is not mandatory, thereby leaving the responsibility for training future SEs on ethical matters in the hands of institutions of higher learning. 581 | P a g e www.ijacsa.thesai.org The need for research on the inclusion of ethics in computing curriculum and how it is taught is paramount [40]. There are previous studies similar to this one that have been conducted. These studies revealed that university curricula were thin on software engineering ethics coverage [70], [71], variability on ethics topics covered [40] or ethics topics were poorly covered [72]. All these studies and several others, assessed software engineering curricula using informants' opinions [44], [73]- [75], while this study evaluated the actual curricula of each UoT in South Africa. Furthermore, the study by [72] considered ethics as a topic, separate from computer science, but rather as belonging to business studies. However, such approach contradicts the consideration that ethics is a significant knowledge area for software engineering [47], [76] and that software engineering ethics should be taught by educators that possess technical skills [36].
Given that the field of ICT evolves constantly and rapidly, the design of software engineering curricula should consider preparing SEs to be compatible with current and future technologies [6]. Considering that universities are perfectly positioned to educate students to develop the much needed ethical awareness [21], [52], this study seeks to assess the extent to which undergraduate computing programmes offered by South African UoTs give attention to software engineering ethics to allow learners to develop software engineering ethics required to competently deal with ethical dilemmas.

IV. RESEARCH METHODOLOGY
As indicated above, the objective of this paper is to establish the opportunities of entry-level computing programme offerings by South African UoTs to empower prospective SE graduates with software engineering ethics competency. That is, this study intends to determine whether or not South African UoT programmes include learning outcomes to expose students to software engineering ethical issues, but does not determine the effectiveness of the ethics awareness. To achieve this objective, the researchers used summative content analysis, which allows keywords and/or phrases to be determined upfront and during the data analysis process. As a qualitative research methodology, content analysis is suitable for analyzing text data from a naturalistic perspective [77]. The text data to be analyzed may come from various documents, such as research articles, magazines and newspapers [78], which in this case is programme descriptor documents. Table 2 depicts the key steps to be followed in content analysis and how these were applied in this study.
The following discussion outlines the procedure that was followed in analyzing the South African UoT curricula for the inclusion of ethics learning outcomes and assessment criteria.
The researchers conducted a search on the SAQA database (http://regqs.saqa.org.za/search.php) of selected computing undergraduate entry-level diplomas and degrees (National Qualification Framework [NQF] level 6 and 7) offered by UoTs in South Africa. SAQA is South Africa's statutory body that maintains a database of qualifications registered in line with the NQF and its sub-frameworks. The database contains qualification descriptors that specify the structure and content of each registered qualification including its purpose and learning achievements expressed as exit level outcomes and associated assessment criteria. The search criteria included Higher Education Qualification sub-framework aligned qualifications offered by the six public UoTs at NQF level 6 and 7 in the Information Technology and Computer Sciences learning subfield. The search retrieved sixteen documents that described computing qualifications offered by the six South African universities of technology: namely, Cape Peninsula University of Technology (CPUT); Central University of Technology (CUT); Durban University of Technology (DUT); Mangosuthu University of Technology (MUT); Tshwane University of Technology (TUT); and Vaal University of Technology (VUT). Of the sixteen retrieved documents, seven were excluded from consideration in this study because their specialization areas are computer networking, multimedia and computer systems engineering. The remaining nine documents describe qualifications that focus specifically on software development.
To classify the text data from the curricula, the researchers made use of categories of software engineering ethics suggested by Gotterbarn [79]. However, the researchers added an additional category entitled Structures to classify the material used as frame of reference for ethics, such as codes of ethics and codes of professional practice. The researchers considered the keywords and terms from IEEE-CS and ACM codes of ethics to search and categorize the text data from curricula documents. Some of the keywords or terms, such as reliable/reliability, best practice and professional competency, were discovered in the curriculum documents during the reading process by the researchers, justifying the use of summative content analysis in the study. The contextual use of a new keyword or phrase and its explicit description of ethics were the determinants of its inclusion in the list of keywords. Since a keyword or term may belong to more than one category, the grouping of these keywords was not restricted to 582 | P a g e www.ijacsa.thesai.org any specific category, but rather to all applicable categories, as seen from Table 3. Typically, however, the context within which a term was used in the text determined the category into which the text data would be classified.
The researchers made use of a text analysis tool, ATLAS.ti, for coding and analyzing the curricula for the inclusion of ethics learning outcomes and assessment criteria. Fig. 2 provides an example of a curriculum document coded using ATLAS.ti. Furthermore, the researchers carefully read the curriculum documents to ensure that no text was missed in the coding process and that each text was assigned to the correct category based on its contextual meaning and usage. This approach finds support from [80], who explains that qualitative researchers rely on reading the text data in the coding process.
Both authors of this article were involved in the creation of the procedure for analyzing the content of the curricula as well as the actual process of analysis. Each qualification document was coded and analyzed by each author separately. After this, the authors cross-compared their coding and analysis results to determine if there were any differences in their results. Any differences in the results were discussed to establish reasons for such, and based on the discussion a decision would be made. After the cross-validation process, a consolidated coded document and analysis results were produced for each qualification document considered. The analysis results were then used to answer the study's research questions and draw conclusions. Fig. 3 summarizes the research approach followed in this research study, as discussed above.

Define units and categories of analysis
The software development qualifications offered by the South African UoTs are the units of analysis of this study.
The categories of analysis are given in Table 3. 3. Develop a set of rules for coding 1. Only keywords/phrases that explicit describe code of ethics were considered. 2. We used the category description to categorize the search results because the keywords /phrases may not necessarily determine a category.

Code the text as the rules
The coding of text was done using ATLAS.ti and then verified manually to ensure that the results were placed in correct categories based on the context. We also manually went through the text to make sure that no synonyms of the keywords were missed in the search using ATLAS.ti.

Analyze the results and draw conclusions
The results of the search were analyzed and interpreted in order to answer this study's research question.

Category description Terms/Keywords
Structures Material for frame of reference to provide ethical guidelines such as code of ethics, code of professional practice, professional standards.
Code of ethics, code of practice, code of conduct, professional practice

General Ethics
Used to regulate human interaction through obligations voluntarily accepted by an individual. The primary goal is to achieve human and society well-being that is to protect humans/society against harms.

Professional Ethics
Prescribed by professional bodies to obligate practitioners to maintain standards of practice in line with specific level of knowledge for the benefit of the client and regulate behavior of practitioners in order to protect the profession. Specified in codes of ethics and professional practice. Similar in nature across professions, because a professional requires specialized skills to produce a product or deliver service that affect human lives, therefore use professional knowledge to cause no harm.

Technical Ethics
Profession specific. Technical standards agreed upon in the profession to direct the acceptable performance levels in the various activities of a practice domain with an aim to cause 'no harm'. In software engineering, they specify technical standards across the various activities of the software process. Failure to follow these standards leads to ethical issues. 583 | P a g e www.ijacsa.thesai.org

A. Cape Peninsula University of Technology
The search of the document with CPUT qualifications using the keywords, which appear in Table 2 produced the results shown in Table 4. As indicated by the results in Table 3, CPUT offers one software development-related qualification, a diploma in Information and Communication Technology in Applications Development. The search did not find any match for the following categories: Structures, Professional Ethics and Values & Other. There was one match related to General Ethics. The statement mentions that students are expected to consider ethical impact of ICT in modern business environments. However, there is no indication of an ethical reference frame, such as code of ethics or code of practice. Moreover, there is no mention of how the evaluation of ICT service or product affects human lives or society. There were three matches relating to Technical Ethics. Firstly, students are expected to implement a secure network following certain networking standards, thus the standards referred to in the qualification pertain to technical standards and not to professional standards. Secondly, the references to 'best practices' and 'standards' in the learning outcomes seem to be of a technical nature considering that the statements refer to the 'area of specialization'. Finally, the use of the term 'best practices' in the third match, as shown in Table 3, appears to indicate technical standards that apply to web-solutions, such as uninterrupted connection and secure data exchange. It is worth noting that the document does not indicate that human values be considered when deciding or applying technical standards.

B. Central University of Technology
The search of the curricula document of CUT using the keywords mentioned above yielded the results presented in Table 5. CUT offers one qualification related to software development, a Diploma in Information Technology. The search did not find any match for Structures, General Ethics, Technical Ethics and Values & Other categories. Two search results were categorized under Professional Ethics because the retrieved statements are more on 'professional competencies' of software engineers. In the first entry, as shown in Table 4, students are expected to demonstrate the level of professionalism in various ways during assessments, which include problem-solving, presentation and written examinations. However, the qualification does not clearly articulate under the learning outcomes the kind of professional ethical qualities expected from students. The second entry relates to 'environmental sensitivity'. In practice this concept relates to ethical responsibility towards the environment (natural resources), for example trees and water, through green computing. However, in this qualification there is no mention of how students will be evaluated and how they ought to demonstrate this. Therefore, the usage of an environmental sensitivity concept in the context of this qualification seems inadequate for ethical responsibility towards environment.

C. Durban University of Technology
DUT offers three software development qualifications, as shown in Table 6. The following discussion outlines the extent to which each ethics knowledge area is covered by the qualifications offered by DUT.

1) Diploma in information and communication technology in applications development (DAD):
This qualification does not appear to cover Structures and Technical Ethics, but does cover the other three knowledge areas, namely General Ethics, Professional Ethics and Values & Other. The two phrases -'ethical analysis in business situations' and 'ethical perspectives in business situations' -found during the document search were categorized under General Ethics as they refer to business situations in general. Similarly, the phrase 'ethics and social responsibility' is aimed at guiding students to behave ethically towards society in general and hence its categorization under General Ethics. The use of the phrase 'ethical self-awareness' in the document refers to an individual's internalized ethical awareness, and as a result, was classified under General Ethics. Similarly, the statement that refers to 'ethical perspectives in business' was classified 585 | P a g e www.ijacsa.thesai.org (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 12, No. 4, 2021 under General Ethics because the graduates are expected to exhibit ethical behavior in business generally. A statement relating to 'legal' issues of the customer/contractor relationship was classified in the Professional Ethics category because it relates to the regulation of legal issues surrounding the software development contract between the customer, which is the client company, and the software development company. However, the use of 'legal', especially in this context, does not necessarily relate to ethics. Lastly, the use of the terms quality and risk in the statement classified under the Values & Other category relates more to software project management than to software development, thus the classification.

2) Diploma in information and communication technology in business analysis (DBA):
Since the search of the keywords for this qualification returned similar results as the DAD qualification discussed in the preceding section, a similar classification process was followed. The only difference was that the search results found an entry in the DBA qualification document that relates to accounting professional practice. The statement is more aligned to accounting practice (professional ethical conduct in accounting), which is known for enforcing and demanding ethical behavior from its professionals. It is unclear what type of 'accounting practices' the statement refers to -legal or ethical. However, because the statement pertains to professional ethical conduct, although in accounting, the researchers classified it in the Professional Ethics category.

3) Bachelor of information and communication technology (BICT):
For this qualification, the search could not find any matches for Structures, Professional Ethics, Technical Ethics or the Values & Other category. However, there were three entries that matched the General Ethics category, as shown in Table 6. The first and second entries expect graduates to determine the 'impact of technology' on humans (project teams included), society and business at large, and thus should be categorized under General Ethics. Since the last entry requires that students develop secure systems to safeguard harm against human beings, society and business at large, it was then categorized under the General Ethics category.

Categories
Search results

Structures No match
General Ethics • Ethical analysis in business situations is conducted.
• Different ethical perspectives in business situations are presented.
• Ethics and social responsibility are demonstrated through case studies and projects.
• Ethical self-awareness is demonstrated.
• Different ethical perspectives in business situations are presented.

Professional Ethics
The legal aspects of customer and contractor relationship in projects are analyzed.

Technical Ethics No match
Values & Other Projects are managed in terms of scope, time, cost, quality, human resource, communications and risk.

Structures No match
General Ethics • Ethical analysis in business situations is conducted.
• Different ethical perspectives in business situations are presented.
• Ethics and social responsibility are demonstrated through case studies and projects.
• Ethical self-awareness is demonstrated.
• Different ethical perspectives in business situations are presented.

Professional Ethics
• Questionable accounting practices are identified, judgments are made, and a set of restated financials that are free of accounting concerns are produced. • The legal aspects of customer and contractor relationship in projects are analysed.

Technical Ethics
No match Values & Other Projects in terms of scope, time, cost, quality, human resource, communications and risk are managed.

Structures No match
General Ethics • Assess the impact of technology on individuals, organisations and society, including ethical, legal and policy issues.
• Assess the impact of technology on group work in project teams collaborating in IT-related projects.
• Implement the security features and the various levels of security in existing applications.

Professional Ethics
No match

Technical Ethics No match
Values & Other No match 586 | P a g e www.ijacsa.thesai.org

D. Mangosuthu University of Technology
There were no matches found in the document of keywords or phrases that describe software engineering ethics in the qualification for MUT. This indicates that the qualification is devoid of software engineering ethics coverage. The lack of coverage of ethics knowledge areas by this qualification means MUT produces software engineers who lack software engineering ethics.

E. Tshwane University of Technology
TUT offers two software development-related qualifications: a Diploma in Computer Science and a Diploma in Informatics. The search for the keywords given in Table 2 yielded no results for the Informatics Diploma qualification, indicating that the qualification does not cover software engineering ethics. Table 7 shows no entries found for two categories, Structures and Values & Other. The statements relating to 'security concerns' pertain to security issues in software solutions to deal with potential security threats to users in general; hence their classifications under General Ethics. The search results, which relate to software solution 'standard practices' were classified under Professional Ethics. The statement, which requires graduates to include 'quality' related factors in their software development process was classified under Technical Ethics as necessitated by the description of the category in Table 2. Table 8 shows the outcome of the search of the document related to the Information Technology Diploma qualification offered by VUT. The search did not yield any entries related to Structures, General Ethics, Professional Ethics and Values & Other categories. All four search results were classified under Technical Ethics because they are about technical issues such as technical skills and technical operations. However, the use of the term 'technical skill' here is too broad and is about the implementation of an 'effective' solution, which may not necessarily be an ethical one, or the professional might not have adhered to ethical behavior in the implementation.  This section discusses the research results to establish the inclusion of software engineering ethics by individual qualifications and the level of by the qualifications combined, which were presented in the previous section. A summary on the level of coverage of each ethics knowledge area is also presented.

A. Cape Peninsula University of Technology
The qualification offered by CPUT seems to be producing graduates who are more technically inclined but lean in other ethical knowledge areas, such as general ethics, professional ethics and ethical values. A lack of reference to structures of ethical aspects in curriculum deprives students of opportunities to learn from an organized and focused source of ethical guidelines.

B. Central University of Technology
This qualification only emphasizes professional ethicsrelated matters while ignoring other knowledge areas on ethics. These findings suggest that the qualification neglects to develop students with balanced knowledge in ethical issues. Even though the qualification seems to be focused on professional ethics, its focus area is still incomplete in that the expected professional ethical qualities are not clearly outlined and the qualification does not indicate how environmental sensitivity issues will be determined.

C. Durban University of Technology 1) Diploma in information and communication technology in applications development (DAD):
Even though this qualification does not cover all the knowledge areas of ethics, its coverage is still much fuller than the qualifications offered by CPUT and CUT in that it covers three of the five ethics knowledge areas. Secondly, the concept of ethics is clearly specified, especially in specific ethical concepts such as selfawareness, social responsibility, ethical perspectives and analysis, clarifying aspects of ethics to which students will be exposed. However, it does not specify the structures from which ethical knowledge and awareness will be derived. This potentially weakens the efforts of this qualification to instill ethics knowledge in students.

2) Diploma in information and communication technology in business analysis (DBA):
Since the search results are mirror images of the DAD qualification, this qualification's coverage of ethical issues is also better than the qualifications offered by CPUT and CUT.
3) Bachelor of information and communication technology (BICT): Unlike the other two qualifications offered by DUT, this qualification falls short in the coverage of ethical issues in four categories, as mentioned above. Although the qualification clearly states that impact of technology on individuals, organizations and society will be assessed, which is a plausible start in terms of high level intention of ethical and legal considerations, catered to better than in CPUT and CUT qualifications, it fails to identify the specific areas of ethics that relate to software engineering, thereby obscuring the direct exposure of students to the specific categories of ethics that can develop ethical competence and reasoning.
D. Tshwane University of Technology 1) Diploma in computer science: Although this qualification covers three of the five knowledge areas of ethics, its coverage is minimal. It neglects to include any ethical frame of reference, it lacks focus on the topics covered in ethics, and the identified ethics areas are narrow. Firstly, the non-inclusion of an ethics frame of reference, that is structures, exposes a gap in terms of guidelines that could potentially develop students' ethical competencies. Secondly, the ethics categories identified in the qualification focus only on three select items of the development of software technology: secure web/mobile applications; standards in designing databases; and quality enhancement in programming. Since this is applicable only on specific technical applications, it cannot be regarded as sufficiently full coverage of the three categories of software engineering ethics, let alone the rest of the categories. This then casts doubt on the ability of the inclusion of ethics in this qualification to develop ethical competence. If it does, it will only pertain to the three specified technologies, leaving students ethically incompetent on general activities of the software process.
2) Diploma in informatics: This qualification has no coverage of ethics matters. This is concerning because the qualification trains business and systems analysts who lack ethical awareness in these important ethical knowledge areas. Such a lack of ethical awareness may result in unethical conduct by programme graduates.

E. Vaal University of Technology
Generally, as all technical qualifications intend to impart technical knowledge, the mentioning of technical skills in this qualification does not necessarily refer to specific categories of ethics. The search results show that this qualification does not include any category of ethics to be learnt by students. Therefore, as students graduating from this qualification are at risk of graduating with only technical knowledge, their lack of ethical competence may jeopardize their contribution to the ethical success of software projects in which they work.

F. Level of Coverage of Knowledge areas by South African
UoTs Fig. 4 summarizes the level of coverage of ethics knowledge areas by South African UoTs qualifications. The following discussion summarizes the research results with regard to level of coverage of each ethics knowledge area.
• Structures in the form of a code of ethics or code of practice that provides ethical guidelines are not covered by any qualifications of the UoTs. This suggests that UoTs graduate software engineers who lack an organized and professional frame of reference about ethical issues. Teaching software engineering ethics requires reference to structures; therefore, it is worrying that the UoTs do not teach students about the various categories of software engineering ethics.
• General Ethics is covered by 55% of the qualifications (i.e., five qualifications cover this category). This means that the remainder, about 45% of the qualifications, are failing to cover this knowledge area. The coverage of general ethics by these qualifications is narrow; it is difficult to locate them within the major activities of the software process. In as much as this category is covered, it does not bring the necessary value to the qualification in terms of providing sufficient opportunities for students to learn the ethics aligned with the software process and to be justified as 'software engineering ethics'. The coverage of general ethics in the qualifications does not appear to lead to the advancement of human well-being as students are not taught personal responsibility of avoiding harm to humanity.
• Professional Ethics is covered by just over 40% of the UoT qualifications (only four qualifications cover this knowledge area), while a similar study by [40] found that this topic was covered by mere 22% of the qualification investigated. Our finding implies that the majority of South African UoT software development related qualifications do not train software engineers on professional ethical behavior. However, even some of these qualifications that cover this knowledge area (for example, DUT-DAD, DUT-DBA and TUT-DCS) do not cover it adequately or are ambiguous in their coverage, as discussed in subsections IV (c) (i), (c) (ii) and (e) (i). The lack of adequate coverage of professional ethics by South African UoTs may result in software engineers who are unable to fully understand their professional ethical responsibility towards clients, employers and society.
• Technical Ethics is covered by 33% (three) of the nine qualifications. This means a majority of the UoT qualifications in this regard produce professionals who are more likely to neglect to follow technical standards intended to guide them to avoid harm to individuals and society. In as much as some of the qualifications conservatively refer to 'standards of practice', they rarely refer to this or fail to cite examples of such standards.
• Values are covered by 22% of the qualifications. This means that almost 80% of the qualifications neglect to cover this knowledge area, graduating software professionals who lack a moral compass to guide them in technical ethical decisions.
Only three of the nine qualifications, namely DUT-DAD, DUT-DBA and TUT-DCS, cover three of the five ethics knowledge areas. CPUT's qualification covers two knowledge areas, while the two qualifications offered by CUT and VUT cover only one knowledge area each. The qualification offered by MUT and the DIM qualification offered by TUT do not address ethical issues whatsoever.
This study set out to meet the following research objectives:

1)
To identify software development-related entry level computing qualifications offered by UoTs which are registered by SAQA. This objective was met in Section IV, where nine entry-level computing qualifications were identified and retrieved from the SAQA website.
2) To investigate if ethics learning outcomes are included in the software development curricula in the UoTs. This objective was met in Sections V and VI as UoT qualifications were searched for coverage of ethics knowledge areas and results were presented and discussed in the preceding subsections of Section VI.
3) To determine the extent to which UoTs include ethics learning outcomes to empower graduates with ethical competency. The discussion in this section outlined the extent to which UoTs include software engineering ethics in their software development qualifications. The discussion also provided an answer to this study's research question.

VII. CONCLUSION AND RECOMMENDATIONS
The discussion in the preceding section points out that computing qualifications for software development offered by South African UoTs do not sufficiently cover the various categories of software engineering ethics. All the reviewed qualifications fell short of full coverage of the five categories of software engineering ethics and demonstrated only a superficial approach on the categories covered. Disturbingly, no frames of reference such as codes of ethics are used to guide their teaching of ethics. It is also not clear if the ethics learning outcomes are taught within a standalone module or are spread across the various modules. This potentially deprives students of opportunities for learning software engineering ethics in alignment to the various activities of the software process. Furthermore, this study's findings concur with the assertion of [47] that the attention given to software engineering ethics by curricula is inadequate. The suggestion by [50] that computing professionals are inclined not to assume ethical responsibility because of the way we teach software engineering ethics is in agreement with the findings of this study. Educational opportunities are well situated to assist prospective SEs in developing ethical competencies for ethical software development. The inclusion of ethics learning outcomes in software engineering curricula can: empower prospective SEs to act ethically, improve the software engineering profession and lead to the development of ethical software products. This is true, especially if the learning outcomes are organized to include (a) general, technical and professional ethics and values knowledge;(b) skills required to apply the knowledge; and c) personal behaviors that bring about excellence in applying skills and knowledge pertaining to software engineering ethics, in accordance with the applicable competency frameworks such as in Fig. 1.
Moreover, the picture painted by these findings on the coverage of ethics knowledge areas by South African UoTs has some implications for the software industry and society and is somewhat concerning because UoTs are the biggest suppliers of SEs in South Africa. The graduation of SEs with a lack of knowledge and skills in various areas of ethics deprives employers of multi-skilled employees, and warrant a concern for the software industry and the society. The unethical incidents mentioned in Section I of the study might not have hit South African shores at large scale yet, but the South African situation may soon escalate if worrying gaps in UoT curricula are not addressed as soon as possible. The inability of universities to produce graduates with suitable skills as identified by [22] and also confirmed by the results, continues to deprive society and the software industry in particular, of much-needed multi-skilled and ethical SEs.
Echoing the calls of [47] and [51], this study implores South African UoTs to increase the coverage of ethics in their curricula, especially within the identified categories of Structures, Professional Ethics, Technical Ethics and Values. Such coverage should be aligned to the knowledge areas that are required for the spectrum of activities in a software process, including software engineering management. This will not only ensure that curricula remain in step with competency models in terms of ethics coverage but will also produce graduates with balanced ethical knowledge for the benefit of society and 589 | P a g e www.ijacsa.thesai.org certainly the profession. Adoption of competency models can bring an organized approach to the inclusion of ethics learning outcomes in the curricula to facilitate the acquisition and development of such competencies by South African UoT students. The time has come for South African higher education, the South African software industry and South African professional bodies to synergize efforts to align software development curricula to professional bodies guidelines, accrediting courses for software engineers to bring alignment with other professional engineering disciplines as alluded to by [81] [81]. Qualifications accrediting bodies in South Africa, such as the Council on Higher Education, can contribute significantly by ensuring that computing qualifications for software development include software engineering ethics competency.

VIII. LIMITATIONS AND FUTURE STUDIES
Content analysis by its definition involves subjective interpretation [77] of the text under consideration and therefore possesses and inherent limitation. Furthermore, as there is substantive overlap between the ethics categories, the categorization of text was a subjective issue. Despite these limitations, however, this study has shown a spotlight on the insufficient coverage of ethics knowledge areas within the qualifications offered by South African UoTs. To address the abovementioned limitations, a future study could analyze study materials used by South African UoTs for the abovementioned qualifications to assess the level of coverage of ethics knowledge areas addressed in the material themselves similar to an international study by [40].