Software Engineering (New)
Software Engineering (New)
July 2022
Addis Ababa
Ethiopia
Table of Contents
1 Introduction ........................................................................................................................................... 1
7 Conclusion ............................................................................................................................................ 6
1 Introduction
With the ever-changing demand of the software engineering professionals in various local and
international industries, it has become to produce graduates equipped with the required
knowledge, skill and attitude needed by the industries. This has necessitated the need to evaluate
the knowledge, attitude and skill set of the software engineering graduates using the identified
competencies and focus areas of the software engineering curriculum and against the ever-
increasing industry demands of this program.
Software engineering program, being one of the ever evolving and demanded program in this
era, should strive to align itself to this objective. The stakeholders who are taking part in this
program should mandate themselves in working towards ensuring the knowledge, attitude and
skill set of its graduates against these core competencies and quality objectives.
The benefit of evaluating and certifying the software engineering graduates against the identified
competencies and focus areas are manyfold. It helps to certify the graduates based on the
competency requirements of the software engineering, to win the trust of the industries to
consume and employee the graduates and to introduce a sense of hard work in the mindset of the
graduates early in their academic years thereby enabling them to explore and dig further for the
relevant skill sets of software engineering program that is needed by the market.
The intent of this draft document for software engineering is to provide a framework within
which to conceptualize the competency areas that should be covered and addressed by the exit
exam to be prepared in the future. This document comprises of list of core courses that are
expected to measure the student’s competency in the software engineering program. For
simplicity and better management of the competency areas, the courses have been clustered into
themes. Overall, the software engineering exit exam for Ethiopian higher institutions have been
prepared ultimately aiming to, maintain the program and graduates quality through evaluating
graduates against the curriculum objectives so as to increase local and international industries
trust on our graduates.
Overall, the software engineering exit exam for Ethiopian higher institutions have been prepared
with the following objectives in mind
1
2 Objectives of the Exit Examination
The national public administration exit exam shall have the following objectives
To set competencies that helps to assess the basic skills, knowledge and attitude of
graduating students;
To systematically identify the core courses which will be included the exit exam;
This exit exam is expected to measure the software engineering graduates knowledge, skill and
attitude so that they:
2
Use current techniques, skills, and tools necessary for software development, testing, and
maintenance.
Have the knowledge and innovative skills to plan, set up and run software related
businesses.
Understand best practices and standards of software engineering program and their
application.
Have the required software project management skill that enable them to manage
complex software projects
Understand professional, ethical, legal, security and social issues and responsibilities.
Have ability to apply knowledge of computing and mathematics to resolve on-hand and
upcoming problems.
Have recognition of the need for, and an ability to engage in, continuing professional
development and the knowledge and skills to act as research assistants or lecturers in
higher education institutions
Software engineering graduates are expected to demonstrate the following knowledge, skill and
attitudes:
Knowledge
Conduct investigation of complex problems using research-based knowledge and
research methods including design of experiments, analysis and interpretation of data,
and synthesis of information to provide valid conclusions
Adopt, innovate, select, and apply appropriate state of the art software design and
development tools, methodologies, resources, and emerging technologies including
simulation, prediction and modeling for complex business process with understanding
of their potential capabilities, limitations and associated risks.
Apply logical reasoning and informed decision to assess societal, health, safety,
privacy, security, legal and cultural issues, and the consequent responsibilities
relevant to software engineering application
Understand the impact of software applications in societal and environmental
contexts and apply the principle of green computing for sustainable development.
3
Identify, formulate, research literature, and analyze complex problems, reaching
substantiated (justifiable, validated) conclusions using software development
principles, methodologies, and tools.
Skill
Design integrated and efficient software solutions, component, or processes to
address complex problems and implement them to meet the specified needs with
appropriate consideration for public health and safety, cultural, societal (local and
international) and environmental considerations.
Communicate effectively on complex business and system activities with the software
engineering community and with a society at large; such as being able to comprehend
and write effective reports, articles and design documentations using various tools,
make effective presentations and give and receive clear instructions.
Demonstrate knowledge and skill on software project management principles and
apply these to manage software development processes and its resource requirements,
costs in multidisciplinary projects
Apply knowledge of mathematics, and software engineering specialization to address
complex and large-scale problems.
Attitude
Apply ethical principles and commit to professional ethics and responsibilities and
norms of software engineering practice.
Function effectively as an independent software engineer, as a member or as a leader
in a diverse team and multidisciplinary settings.
Recognize the need for and have the preparation as well as ability to engage in an
independent and lifelong learning in the information and knowledge economy.
4
Table 1: Courses categorization based on themes
S/N Themes Courses to be included in the Exit Exam ECTS
5
7 Conclusion
It is crystal clear that evaluating the graduates against the core competencies set out by the
curriculum and in line with the industry needs would be important to boost the trust of the
employers on the graduate’s skill. To realize this, it has become relevant to have a guideline that
could be used as reference to prepare a comprehensive exit exam that could address the relevant
focus areas of the software engineering program.
To this end, this document was prepared with the intent to highlight the core competency areas
of software engineering curriculum, taking in to account and anticipating the market demand of
the software engineering professionals sought by the local and international industries and to
assess the graduate’s knowledge, skill and attitudes towards that end.
Finally, it is assumed that the outcome from the software engineering exit exam could be used as
a feedback loop for policy makers. It is believed that the outcome from the exit exam would be
significant and be used as input for policy makers who are engaged in curriculum development
based on the exit exam outcomes of the graduates by modifying or incorporating new
competencies into the curricula and taking other remedial actions that might improve the
software engineering graduates skill set.
6
Appendix I. List of courses in Software Engineering program
7
22. Software Metrics 5
23. Software Engineering Tools and 5
Practices
24. Software Evolution and Maintenance 5
5 Operating system and 25. Operating System and System 5
computer organization Programming
26. Computer Organization and 5
Architecture
27. Real Time and Embedded System 5
28. Microprocessor and Assembly 5
Language
29. Principle of Compiler Design 5
6 Miscellaneous 30. Artificial Intelligence 5