College of Engineering

Software Engineering

Software Engineering

About The College

Software engineering is a process related to the systematic development of high-quality software systems. Software engineering is designed to apply engineering principles at every stage of software development; requirements analysis, design, certification, application, testing, and documentation. Software engineering is one of the most promising fields of engineering in a constantly growing sector of information technology. 


Our vision is to be distinguished as a center of academic, technological, and research excellence in the Kurdistan Region of Iraq (KRG), and to be ­recognized for its distinctive excellence in education. It is an institution of choice for students and prominent scholars, as well as a catalyst for the sustainable socio-economic development of Kurdistan and Iraq.


The main goal of this program is to graduate highly qualified software engineers with a solid background in computer engineering. This program mainly focuses on the modern methodologies utilized in software developments. During this program, the student studies several courses that unify together to graduate a qualified software engineer. The graduate of this program shall exercise technical leadership. The skills of the graduates of this program will lead to higher-level positions in software engineering projects leadership.

Course Learning Outcomes (CLOs)

At the end of this course, the students should have the ability to:

1. Define some aspects & analyze the algorithms.

2. Choose the appropriate data structure as applied to the specified problem definition

3. Handle operations like searching, Insertion, deletion, traversing mechanism, etc. on various data structures.

4. Represent various data structures into storage.

5. Use linear and nonlinear data structures like stacks, queues, linked lists, etc.

6. Implement strategies of various basic data structures.


Course Content

Principle concepts, implementation strategies of many data structures and their representation, insertion & deletion and other operation on many data structures, graph, traverse graph, Dijkstra algorithm, tree, binary search tree, traverse tree, searching and sorting methods, analyze the algorithms in the best, average and worst case.

Course Aims

The aim of this course is to give a feel for algorithms and data structures as a central part of what its to be a computer scientist. The student should end it appreciating that understanding the algorithm and data structures used for some problems is much more important than knowing the exact code for it in some programming language. And The student should be aware of the fact that there are often several algorithms for some problem, and one algorithm may be better than another, or one algorithm better in some circumstances and another better in others.


Share :