Software Engineering

Masters of Science in Software Engineering

Software engineering is the process of analyzing user needs and then designing, constructing, and testing end-user applications that will satisfy these needs through the use of software programming languages. It is the application of engineering principles to software development. In contrast to simple programming, software engineering is used for larger and more complex software systems, which are used as critical systems for businesses and organizations.

Typical formal definitions of software engineering are: “the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. Software engineering is relatively a new area of engineering though, but the scope of software engineering is extremely broad. Being one of the prominent branches of the field of Engineering, it’s growing among the fastest fields in the world today. It must be noted that the term software development can be used for every type of software development whether it’s as simple as visual basic for applications Modules for Microsoft Word, Excel or Access or developing large, expensive and complicated applications for businesses or creating software for gaming entertainment.

Software engineers are computer programming professionals. It’s worth mentioning that a software engineer is also a programmer, as he writes codes, but a programmer may not be called a software engineer, because in the former case, one needs to have a formal education. esides, a software engineer is the one who follows a systematic process that leads to understanding the requirements, working with teams and various professionals in order to create the application software or components or modules that fulfill the specific needs of the users successfully; whereas a computer programmer can work independently, as he understands algorithms and knows how to create codes following the specifications given by the software engineers.

Hosting Unit 
Faculty of Computing
Program Description:

The MSc in Software Engineering teaches the principles of modern software engineering, together with the tools, methods and techniques that support their application. 

Graduate outcomes:

Software Engineering Outcomes. Graduates of the program are expected to demonstrate: an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
Duration of the program
Two years
Medium of Instruction
Admission criteria

   The criterion for admission is based on the basic qualification criterion set by the Ministry of Education. The program requires participants to have a minimum of first degree in Computer Science,      Information Technology, Computer Engineering or related fields.

    Based on the above necessary requirements, the admission requirements are:

(1)   A Bachelor’s degree in a field of study related to Computer Science or approval of the graduation committee

(2)    The graduation committee from time to time decides the criteria based on the applications received. Entrance exam will be prepared and candidates are required to pass the exam. Selection will be based on both entrance exam and CGPA of the candidate. 

     To begin the application process, the prospective student must first apply to the Office of Research, postgraduate and Community service Studies of Bahir Dar University or she/he should be              placed to the program by an appropriate government authority. 

      Annual intake
25-30 students
Tuition fee
(2020/21 rate)
Contact person
Gebeyehu Belay, PhD.(Assoc.Professor)