0% found this document useful (0 votes)
288 views214 pages

National Level Harmonized SE Curriculum

Uploaded by

Firomsa Dine
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
288 views214 pages

National Level Harmonized SE Curriculum

Uploaded by

Firomsa Dine
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 214

Mizan Tepi University

School of Computing and Informatics


Software Engineering Program

NATIONAL LEVEL HARMONIZED MODULAR CURRICULUM

Revision Date October, 2021


Tepi Campus – MTU

October, 2021
Tepi, Ethiopia
Imprint
First Edition: October, 2021

Revised By
School of Computing and Informatics

Dr. M.K Kaleem

Mr. Kiros Shiferaw

Mr. Melkamu Debas

Mr. Mohammed Seid

Endorsement:
This curriculum document is endorsed by:

 AC of School of Computing and Informatics: Date of Endorsed: 10/03/2014


 The Senate of MTU: Date of Endorsed: 30/05/2014
EXECUTIVE SUMMARY

Name of the degree program: Software Engineering

Name of the degree to be awarded: Bachelor of Science Degree in Software


Engineering

Degree to be awarded by: Mizan Tepi University, Subjected to the Approval of the Senate

Standard period of study: 5 years or10 semesters

Commencement of the Curriculum: 2021/2022 (2014 E.C.) Academic Year

Fees/Charges: Cost-sharing/Sponsor

Total Credit Point (CP): 309


Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Table of Contents
EXECUTIVE SUMMARY ............................................................................................................. i

1. Introduction ............................................................................................................................. 1

1.1. Background of the Mizan Tepi University ....................................................................... 1

1.2. Background of the School of Computing and Informatics .............................................. 1

1.3. Background of Software Engineering .............................................................................. 1

1.4. Vision and Mission of Course .......................................................................................... 2

1.5. Rationale of the Program.................................................................................................. 3

1.6. Employment Areas ........................................................................................................... 5

1.7. Need Assessment Analysis............................................................................................... 6

2. Structure of Program ................................................................................................................... 6

2.1. Objectives of the Program .................................................................................................... 6

2.1.1. Basic Objective .............................................................................................................. 7

Objectives ................................................................................................................................... 7

2.1.2. Program objectives ........................................................................................................ 7

2.2. Program outcomes ................................................................................................................ 8

2.3. Knowledge and Understanding ............................................................................................ 8

2.4 Admission Requirements ...................................................................................................... 9

2.5 Duration of Study .................................................................................................................. 9

2.6 Teaching and Learning Approach ....................................................................................... 10

2.7 Mode of Delivery ................................................................................................................ 10

2.8 Assessment and Evaluation Mechanisms ............................................................................ 10

2.8.1. Mode of Assessment .................................................................................................... 11

2.8. Grading System .................................................................................................................. 12

2.10. Graduation Requirements ................................................................................................. 12

ii
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.11. Medium of Instruction ...................................................................................................... 12

2.12. Degree Nomenclature (in English and Amharic) ............................................................. 12

2.13. Course Coding .................................................................................................................. 13

2.14. List of Courses ................................................................................................................. 16

2.15. Course breakdown in semester ......................................................................................... 24

2.16. Course/Module Description and Objectives .................................................................... 26

. Quality Assurance ..................................................................................................................... 202

4. Staff profile ............................................................................................................................. 203

4.1 Resources .......................................................................................................................... 203

iii
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

List of Tables:
Table 1: Grading System ............................................................................................................. 12
Table 2: Course categories with their corresponding course number ........................................... 14
Table 3: List of compulsory courses ............................................................................................. 16
Table 4: List of common courses .................................................................................................. 17
Table 5: List of supportive courses ............................................................................................... 18
Table 6: List of Elective courses ................................................................................................... 18
Table 7: Summary of the total credit hours and ECTS for each course category ......................... 18
Table 8: Year I, Semester I ........................................................................................................... 24
Table 9: Year I, Semester II .......................................................................................................... 24
Table 10: Year II, Semester I ........................................................................................................ 24
Table 11: Year II, Semester II....................................................................................................... 25
Table 12: Year III, Semester I....................................................................................................... 25
Table 13: Year III, Semester II ..................................................................................................... 25
Table 14: Year IV, Semester I ...................................................................................................... 25
Table 15: Year IV, Semester II ..................................................................................................... 25
Table 16: Year V, Semester I ........................................................................................................ 26
Table 17: Year V, Semester II ...................................................................................................... 26

iv
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

1. Introduction
1.1. Background of the Mizan Tepi University
Mizan–Tepi University is a tertiary institution situated in Mizan Teferi. It is one of the public
universities in the country. Mizan Tepi University was inaugurated in May 2006, when Mizan -
Teferi Agricultural TVET College became the founding center of the university. Currently, Mizan
Tepi University comprises of Six Colleges and two Schools. The main campus is headquartered
in the Bench Sheko Zone, Mizan Aman town, which is situated at 583 km from the national capital
Addis Ababa. Tepi branch campus is located around 50 km from main campus in Tepi town and
the third campus is located at Aman.

1.2. Background of the School of Computing and Informatics


The School of Computing and Informatics was established in 2002 EC to cater the needs of
engineers trained to plan, design, develop and maintain the increasing ICT needs of the country.
The training was first started with B.Sc. Computer Science with three year graduation program
and later B.Sc. Information Technology was started in the year 2008-2009 GC. The Computer
Science Department has graduated its first batch in the year 2005E.C. The undergraduate degree
program in Computer Science was successful and many graduated students are employed in
various governmental and non-governmental organization. The department expanded rapidly by
extending undergraduate degree program for four years. All the programs were conducted
successfully and with great care in quality.

1.3. Background of Software Engineering


These days, it is difficult to mention any area of business, education and research that didn’t utilize
software. Software plays a central role in almost all aspects of daily life: in government, banking
and finance, education, transportation, entertainment, medicine, agriculture, and law. The number,
size, and application domains of computer programs have grown dramatically; as a result,
hundreds of billions are being spent on software development, and the livelihood and lives of most
people depend on the effectiveness of this development. Software products have helped us to be
more efficient and productive. They make us more effective problem solvers, and they provide us
with conducive environment for work and play that is often safer, more flexible, and less confining.

1
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

To make the above tasks more practical, software engineering plays vital role. It is a discipline or
field which involves with requirement capturing, analysis, specification, design, construction and
verification of large software systems. Generally it offers us well proven tools and techniques that
facilitates the production of complex software systems on top of the principles of computer science

Although the field of Software Engineering was established more than 40 years ago, Bachelor
degree programs in Software Engineering in Ethiopia came into existence in the last few years.
According to the GTP (Growth and Transformation Plan) goals and strategies set by the ministry
of Science and Technology, the ministry emphasizes the fact that it will work extensively towards
creating an enabling environment for ICT professionals to be engaged in innovation, creativity,
and research activities. The ministry can effectively support GTP reform to ensure sustainable
development, poverty eradication, human resource development and capacity development
through well-developed information communication technology involvement. In Ethiopia almost
more than 10 university are giving software engineering program for student. Hence, the School
of Computing and Informatics is planning to launch a new program in Software Engineering
aiming to produce skilled graduates in the field of Software Engineering to satisfy the demand of
manpower in the country.

The Software Engineering program has been planned to commence from 2022 academic year, with
a target of admitting students in the regular, Weekend and summer programs under the proposed
Department of Software Engineering in the school of Computing and Informatics. This degree
program is a Five years program designed for students who wish to pursue careers as professional
software engineers in industry and commerce. Graduates of this program may pursue career
opportunities in a variety of entry-level positions, including software developer, software tester,
web application developer, software engineer, software applications analyst, software project
manager, software tester and web applications analyst.

1.4. Vision and Mission of Course


Vision of the course: Committed to providing accessible and responsive programs of
education and research recognized internationally for their high quality. We intend to be the
institution of choice for regional students. Academic leadership and distinction in software
Engineering contributing to the development of the knowledge society locally and regionally.

2
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Mission of the Course: Based on the vision Mizan Tepi University strives to provide quality
education in both the theoretical and applied foundation of Computer Science and train the students
to effectively apply this education to solve real world problems thus amplifying their potential for
lifelong high quality careers and give them a competitive advantage in the ever changing and
challenging global work environment. The mission of the Software Engineering program is to
supply local and international markets with highly qualified competitive IT personnel as well as
prepare students for postgraduate studies and exploring research opportunities. In software
Eengineering program, we aim to ensure that after the completion of the academic programme, the
graduates are fully equipped with knowledge required for their future careers, their self-
improvement, and serving their communities and nation

1.5. Rationale of the Program


Software engineering is the process of analyzing user needs and 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. There is a vast growth in the
Information Communication Technology (ICT) industry throughout the world. Almost every day,
new technologies are emerging and new programming languages are practiced. The demand for
Network and Security Professionals is increasing drastically. Global opportunities are more for the
ICT professionals compared to other professionals. Even the developed countries like USA, UK,
Germany, etc. are hiring skilled computer professionals from all over the world.
The proposed Department of Software Engineering will be committed to inspire, nurture, and
educate leaders in tomorrow’s technology -centric environment while contributing to the solution
of the most challenging problems of local industries and businesses. Modern society depends upon
systems of increasing complexity to sustain our quality of life, and the engineered systems being
conceived and developed today have an increasing and significant percentage of their functionality
allocated to software. This requires our future engineers to be strongly rooted in the fundamentals
of engineering and science, while also being equipped with a strong capability to develop and
integrate software as a central feature in these systems. The software aspect of engineered systems
today is not just another component of the system. It also provides the overarching integration

3
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

framework, allowing systems to be both rich in functionality and capabilities, while being adaptive
to context and control.
Since modern industries and business systems are based on the application of digital technologies,
software systems are the driving force behind many exciting developments in a service-oriented
digital economy. The advent of Software Engineering is a natural result of the continuous quest
for software quality and reusability, and the maturing of the software development industry. As
software continues to transform society in dramatic and powerful ways, we must improve our
ability to reliably develop high-quality systems. From early incarnations as just an idea or set of
requirements to when software is actually built, deployed and customized in the field, many
challenges exist across the lifecycle that make creating software still a non-trivial endeavor today.
This undergraduate program in Software Engineering focuses on the best practices, current
methodologies, emerging technologies, and their applications in various industries. It teaches the
principles of modern software engineering, together with the tools, methods and techniques that
support their application. The program emphasizes key skills in requirements analysis,
architectural design, and construction that are needed in successful software project development
and management.
A preliminary observation and survey conducted by the School of Computing and Informatics for
proposing the Software Engineering Department shows most of the existing industries in Ethiopia
are based on manual systems and services, with very limited automated or semi-automated
components. In order to automate and modernize these traditional industries, the availability of
well-qualified software engineers is crucial. Currently, there is an increasing demand for software
engineers who can operate under very dynamic and challenging environments. To fill the gap in
qualified software engineers and information system developers, it becomes necessary to open an
accredited BSc Degree program in Software Engineering at Mizan Tepi University (MTU). In line
with the future strategic plan of MTU, the School of Computing and Informatics has developed a
proposal to introduce the Software Engineering program at undergraduate level in order to meet
the increasing demand of industries and business institutions. In particular, the School of
Computing and Informatics proposed Department of Software Engineering and developed a
curriculum for undergraduate program, which aims at producing well-skilled engineers and
professionals in the field of Software Engineering. The curriculum encompasses all important
aspects of software engineering, including requirements engineering, software architecture and

4
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

design, software construction, software testing and quality assurance, software maintenance, and
software project management.
Software engineers in Ethiopia can be engaged in professional works across a variety of industries
from tech startups and healthcare organizations to departments within the government and more.
Graduates of this program may pursue career opportunities in a variety of entry-level positions,
including Software Requirement Engineer, Software Architect or Designer, System Analyst,
software developer, software tester, web application developer, software applications analyst,
software project manager and web applications analyst As the minimum credential for many
positions in the field, earning a bachelor’s degree in software engineering can lead to greater
employment opportunities. A bachelor’s is also ideal for candidates who are considering pursuing
a master’s or a doctoral degree. Many specialized research and teaching positions require advanced
degrees, and earning a bachelor’s degree in software engineering is the first step toward graduate
and postgraduate study.
In Ethiopia approximately there are 51 universities and all these universities are offering
undergraduate courses in Computer Science, Information Technology and Information Systems.
Currently at the national level there are very few Institutions which are offering this program in
the domain as Bachelor of Science in Software Engineering. There is a great demand for the
teachers to teach in the old and new universities followed by private business sector and Industries.
Hence this said program (B.Sc. in Software Engineering) is vital and a must in the present scenario
for the national development.

1.6. Employment Areas


Below is a sample list of some future choices to explore following studies in Software Engineering.
This list is not exhaustive but it provides a solid idea of what fellow graduates have gone on to do
and what potential careers a Software Engineering degree can offer. Some options are more
directly associated with specific areas of Software Engineering than others.

 Code Developer  Embedded software engineer

 Communication specialist  Entrepreneur

 Corporate trainer  Financial analyst

5
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Fund manager  Media correspondent

 IT specialist  Mobile software engineer

 Market researcher  Modeling specialist

1.7. Need Assessment Analysis


The need assessment survey for launching the Bachelor Program in Software Engineering at the
Mizan Tepi University was successfully conducted by a team consisting of staff members who
were decided by the School of Computing and Informatics. During the need assessment the
following questions and answers were mostly identified:
 Do the courses have more or less the same level of academic standards as other Graduate
(B.Sc. degree) courses offered in other universities of the world?
 Will graduates suitably qualified to take positions of responsibility in the job environment?
 Will the courses be appropriately designed to provide a reasonable mixture of training and
education?
 Can the students involve in the emerging research areas of the country’s necessity?
Considering these questions, the curriculum has been designed to address the above issues. A copy
of need assessment report was submitted to the School of Computing and Informatics.
Note: A Copy of Questionnaire is been attached with this document for your perusal.

2. Structure of Program
2.1. Objectives of the Program
The main objective of this program is to educate students and to train them to address the complex
and integrated problems in the area of Software Engineering both academia and society based.
Further, the program aims to strengthen the educational, training and research capacities in the
region. This course helps to provide in-depth conceptual understanding and knowledge of the best
technology in Software Programming area. Exhibiting understanding and ability to apply software
engineering practices in their future careers, by possessing the basic professional skills and
knowledge to develop and innovate in developing high-quality software solutions in various

6
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

environments. The curriculum will be focus on enriching the employability skills of an individual
in context to the software industry.

2.1.1. Basic Objective


Software engineering is the systematic approach to the development, operation, maintenance and
retirement of software. Software Engineering is the application of science and mathematics by
which the capabilities of computer equipment are made useful to man via computer programs,
procedures, and associated documentations.
The software engineering program provides project-rich learning experiences to educate software
engineers for success in a rapidly evolving computing field. The program faculty help students lay
the foundation for achievement of the objectives and outcomes described below.

Objectives

 To introduce software engineering and to explain its importance

 To set out the answers to key questions about software engineering

 To introduce ethical and professional issues and to explain why they are of concern to
software engineers.

2.1.2. Program objectives


The program’s goal is to provide a professionally guided education in software engineering that
prepares graduates to transition into a broad range of career options: industry, government,
computing graduate program, and professional education.

 Demonstrates agility in solving software and system challenges with a comprehensive set
of skills appropriate to the needs of the dynamic global computing-based society.
 Capable of diverse team and organizational leadership in computing project settings.
 Demonstrates ethical principles in the application of computing-based solutions to societal
and organizational problems.
 Continually acquires skills and knowledge to support a professional pathway, including
(but not limited to) communication, analytic, and technical skills.

7
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.2. Program outcomes


The Program Outcomes express the goals the program has for student learning upon completion
of the degree.

 An ability to identify, formulate, and solve complex engineering problems by applying


principles of engineering, science, and mathematics.
 An ability to apply engineering design to produce solutions that meet specified needs with
consideration of public health, safety, and welfare, as well as global, cultural, social,
environmental, and economic factors.
 An ability to communicate effectively with a range of audiences.
 An ability to recognize ethical and professional responsibilities in engineering situations
and make informed judgments, which must consider the impact of engineering solutions in
global, economic, environmental, and societal contexts.
 An ability to function effectively on a team whose members together provide leadership,
create a collaborative and inclusive environment, establish goals, plan tasks, and meet
objectives.
 An ability to develop and conduct appropriate experimentation, analyze and interpret data,
and use engineering judgment to draw conclusions.
 An ability to acquire and apply new knowledge as needed, using appropriate learning
strategies.
 An ability to use the techniques, skills, and modern engineering tools and processes
necessary for software engineering practice.
 An ability to apply software engineering perspective through software design and
construction, requirements analysis, verification, and validation, to develop solutions to
modern problems such as security, data science, and systems engineering.

2.3. Knowledge and Understanding


Software Engineering graduates must:

 Have strong analytical and critical thinking skills, which help them understand complex
software and related systems.

8
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Demonstrate intellectual competency and articulate them effectively;


 Have in depth understanding of relevant theories, practices, languages and tools that may
be deployed for the specification, design, implementation and evaluation of software
systems.
 Capitalize such knowledge in modeling and design of automated systems.
 Designed implement software system solutions that enhance organizational performance
by demonstrating skill in understanding and modeling organizational processes and data,
defining and implementing technical and process solutions, managing projects, and
integrating systems.
 Assist and participate in research

2.4 Admission Requirements


Admission Requirements for Undergraduate Regular Program

The requirements for admission to the program are as per the Ministry of Education & Universities
admission requirement. Hence, admission to the undergraduate programs of Software Engineering
shall be based on the completion of the preparatory and obtaining the necessary pass marks in the
Ethiopian Higher Education Entrance Examination (EHEE) or equivalent academic achievements
from foreign countries as well as obtaining pass mark in the entrance examination to be set by the
Ministry and/ or MTU. Moreover, the student may require to take entrance exam set by the
department and obtain pass mark.

Admission requirement for undergraduate Continuing Education Program

The admission requirements for the undergraduate continuing education program are as stated
according to the senate legislation. However, admission to the undergraduate continuing education
program of MTU shall be based on obtaining the necessary pass mark in the MTU entrance
examination.

2.5 Duration of Study


The duration for study of the undergraduate programs in Software Engineering shall be as stated
in the university senate legislation of MTU. Accordingly, under normal circumstances, Five and

9
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Six years of study are required to complete the program in regular and continuing education
program delivery respectively. However, if the program is not completed and extended for some
reason; the extension for completing the program does exceed twice the normal duration of study.

2.6 Teaching and Learning Approach


The basic teaching approach is a student centered supported by lecture, tutorial, group discussion,
supervised study, student presentations, demonstration and hands-on activities, practical
laboratory exercises, seminar, workshop, project work, problem based learning, research design,
simulation, invited speakers, independent studies, lectures by industry professionals, a
combination of these and others. E-learning and audio-visual supports are also used to aid lectures
and tutorials. Students are assigned to work on projects to enable them enhance innovative and
independent working ability. The industry internship is also an integral part of the
teaching/learning process.

2.7 Mode of Delivery


The proposed BSc program will be delivered both in regular and continuing education program in
parallel learning mode.

2.8 Assessment and Evaluation Mechanisms


The different abilities that graduates of this program must acquire are assessed as followed.

 Cognitive Abilities: Cognitive abilities are assessed by a combination of traditional written


examinations and continuous assessment, including marked essays, class tests and
computer programming problems.
 Practical Abilities: Practical Abilities are assessed mostly by continuous assessment. Some
of practical abilities are assessed as part of group project module.
 Transferable skills: some skills, like the use of software tools and ability to communicate
orally and in written form are directly assessed, in assignments or projects, other skills are
not directly assessed but their effective use will enhance the students overall performance.
 Evaluation will be done based on the continuous assessment (assignments, laboratory
sessions demonstrations, Project work) and final exam.

10
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.8.1. Mode of Assessment


Mode of assessment has to be treated as followed:
For any course having lecture, laboratory/practice and tutorial, continuous assessment shall be
used for each of them.

 A student shall not score less than 50% in each lecture, laboratory/practice and tutorial
assessments. If a student scores less than 50%, the instructor shall give additional
assignment. However, if a student fails to score the pass mark according to the fixed scale,
the instructor shall convert the grade into “F”.
 For courses having lecture, laboratory and practicum, each will be evaluated out of 100%.
The relative weight for each of these methods shall be proportional to their credit point.
Such course shall be assessed by at least 3 assessments.
 For courses having laboratory and practical activities, each will be evaluated out of 100%.
The relative weight for each of these methods shall be proportional to their credit point.
Such course shall be assessed by at least 3 assessments.
 For courses having lecture, laboratory, practical and tutorial each will be evaluated out of
100%. The relative weight for each of these methods shall be proportional to their credit
point. Such course shall be assessed by at least six assessments.
 For a course to be delivered by lecture method only; 50% shall be assessed by continuous
assessment constituting four assessments; while 50% shall be allotted for final exam

11
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.8. Grading System


The grading system of the B.Sc. program in Software Engineering is fixed scale and indicated in
Table below.

Table 1: Grading System


Scale Letter grade Number grade Status
[90 – 100] A+ 4
[85 - 90) A 4 Excellent
[80 - 85) A- 3.75
[75 - 80) B+ 3.5 Very Good
[70 - 75) B 3
[65 – 70) B- 2.75 Good
[60 – 65) C+ 2.5
[50 – 60) C 2 Satisfactory
[45 – 50) C- 1.75 Unsatisfactory
[40 – 45) D 1.00 Poor
[0 – 40) F 0 Fail

2.10. Graduation Requirements

The major graduation requirements of the program include:


 Fulfilling the graduation requirements set by Mizan Tepi University Tepi Campus.
 Successful completion of a total of 309 credit points as per this curriculum;

2.11. Medium of Instruction


The medium of instruction for the program is ENGLISH.

2.12. Degree Nomenclature (in English and Amharic)


A degree will be awarded for a student after successfully completing all the courses and Project
Work. The name of the degree will be:

In English

“Bachelor of Science Degree in Software


Engineering”

12
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

In Amharic

2.13. Course Coding


Every course shall be identified by a four-digit code preceded by four letters “SEng” without
any hyphen or space which has the form “SEngabcd”.
1. The first digit (a) represents the year (level) in which the course is given,
2. The second digit (bc) indicates the category number to which the course belongs,
3. The last digits (d) indicate the semester in which the course is given. All courses given in
the first semester and second semester represent by number 1 and 2 respectively (in case
odd number represents 1st semester and even number represents 2nd semester when
courses have the same category).

13
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Table 2: Course categories with their corresponding course number

Course Category Code Courses Under Category


Common and Supportive Courses Basic Mathematics for Natural Sciences
General Physics
General Psychology and Life Skills
Physical fitness
Geography of Ethiopia and the Horn
Communicative English Skills I
Critical Thinking
Introduction to Emerging Technologies
Computer Programming
Anthropology of Ethiopian Societies and
01 Cultures
Applied Mathematics
Moral and Citizenship Education
Communicative English Skills II
Discrete Mathematics and Combinatory
Entrepreneurship and Business Development
Global trends
Inclusiveness
Introduction to Economics
Probability and Statistics
Programming Fundamentals 02 Computer Programming II
Data structures and Algorithms
Hardware, and Systems Programming 03 Computer Organization and Architecture
Operating Systems and System Programming
Microprocessor and Assembly Language
Principles of Compiler Design
Real time and Embedded System

Database Management System 04 Fundamentals of Database System


Advanced Database Systems
Software Engineering Core 05 Fundamentals of Software Engineering
Requirements Engineering
Software Architecture and Design
Software Engineering Tools and Practices
Software Testing and Quality Assurance

14
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Software Evolution and Maintenance


Software Metrics
Advanced Programming 06 Object Oriented Programming
Advanced programming
Mobile Application Development
Computer Networking and Security 07 Fundamental of Networking
Web Design and Programming
Fundamental of Cloud Computing and IoT
Fundamental of Distributed System
Fundamental of Security
Graphics and Human Computer 08 Human Computer Interaction
Interaction Computer Graphics and Multimedia
AI, Machine Learning, Big Data 09 Fundamental of Machine Learning
Fundamental of Artificial Intelligence
Fundamental of Big Data Analytics and
Business Intelligence
Industry Practice and Holistic Exam 10 Holistic Exam
Internship
Research and Project Works 11 Software Project Management
Selected Topics in Software Engineering
Project I
Project II
Electives 12 Software Agent
Software Risk Management
Software Process Improvement
Event Driven Programming
WEB Service
Distributed Database Management Systems
Parallel Computing
Design and Analysis of Algorithms
Social Networks
Software Component Design

15
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.14. List of Courses


Table 3: List of compulsory courses
Course Cr. ECTS Pre-request
No Course Name (Course Title)
Code Hr.
1. Computer programming II SEng2021 3 5 CoSc1012
2. Fundamental of Database SEng2041 3 5
Fundamental of Software
3.
Engineering SEng2051 4 7
4. Data structure and algorithm SEng2022 3 5 SEng2021
Computer organization and
5.
Architecture SEng2032 3 5
6. Operating Systems SEng2034 4 7 SEng2032
7. Advanced database system SEng2042 3 5 SEng2041
8. Fundamental of networking SEng2072 4 7
9. Micro processer and assembly SEng3031 3 5
10. Object oriented programming SEng3061 3 5 SEng2021
11. Requirement engineering SEng3051 3 5
Software engineering tools and
12.
practice SEng3053 3 5
13. Web design and programming SEng3071 4 7
14. Fundamental of software security SEng3073 3 5
15. Software architecture and design SEng3052 3 5 SEng2051
16. Advanced Programming SEng3042 3 5 SEng3061
17. Cloud computing SEng3072 3 5
18. Compiler design SEng3032 3 5 SEng3031
19. Fundamental of machine learning SEng3092 3 5
20. Software project management SEng3112 3 5 SEng3051
21. Distributed system SEng4071 3 5 SEng3061
22. Real time and embedded system SEng4031 3 5 SEng3061
Software testing and quality SEng3051
23.
assurance SEng4051 4 7
24. Mobile application development SEng4061 3 5 SEng3062
25. Artificial intelligence SEng4091 3 5 SEng3061
All courses that
Holistic Exam SEng4102 1 2 given up to 4th
26. Internship SEng4104 17 28 year 1st
semester
27. Software evolution and maintenance SEng5051 3 5 SEng4051

16
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

28. Software metrics SEng5053 3 5


Stat2012 &
29.
Fundamental of big data SEng5091 3 5 SEng2041
30. Project phase I SEng5111 4 7 SEng3112
31. Human computer interaction SEng5082 3 5 SEng5084
32. Computer graphics and multimedia SEng5084 4 7 SEng2021
Selected topic in software All core courses
33.
engineering SEng5112 2 4
34. Project phase II SEng5114 4 7 SEng5111
Total 124 210
Table 4: List of common courses

Cr. Pre-
No Course Title Course No ECTS
hrs. request
Communicative English Language None
1 FLEn1011 3 5
Skills I
2 Introduction to emerging EmTe1012 3 5 None
3 General Psychology Psch1011 3 5 None
4 Critical Thinking LoCT1011 3 5 None
5 Physical Fitness SpSc1011 P/F(2) P/F(0)/(3) None
6 Geography of Ethiopia and the Horn GeES1011 3 5 None
Communicative English Language Enla1011
7 FLEn1012 3 5
Skills II
8 Social Anthropology Anth1012 2 4 None
9 Moral and Civic Education MCiE1012 2 4 None
10 Economics ECON2011 3 5 None
11 Inclusiveness Incl2011 2 4 None
Entrepreneurship & Business None
12 MGMT1012 3 5
Development
13 Mathematics for natural science Math 1011 3 5 None
14 Global trends GITr 1012 2 4 None

Total 37 64

17
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Table 5: List of supportive courses


Course Pre-request
No Course Title Cr. hrs. ECTS
No
1 General physics Phys1011 3 5
2 Computer programming CoSc1012 3 5
3 Applied Mathematics Math1012 3 5 Math1011
4 Discrete Mathematics Math2011 3 5
5 Probability and statics Stat2012 3 5

15 25
Total
Table 6: List of Elective courses

Cr.
No Course Title (Course Name) Course Code ECTS
Hrs
1. Software agent SEng5121 3 5
2. Software risk management SEng5123 3 5
3. Software process improvement SEng5125 3 5
4. Event driven programming SEng5127 3 5
5. Web service SEng5129 3 5
6. Distributed database system SEng5122 3 5
7. Parallel computing SEng5124 3 5
8. Design and analysis of algorithm SEng5126 3 5
9. Social network SEng5128 3 5
10. Software component design SEng512a 3 5
Total 6 10
Table 7: Summary of the total credit hours and ECTS for each course category
No Course Category Cr. Hr. ECTS
1 Compulsory 124 210
2 Elective 6 10
3 Supportive 15 25
4 Common 37 64
Total 182 309

18
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Table 7: Module name and distribution

Module Module Course Course Title Status CP Le Lab Tut H/S


No Title No c
01 Common Basic Mathematics for Common
Math1011
And Natural Sciences 5 3 0 2 5
Supportive Phys1011 General Physics Supportive 5 3 0 2 5
Courses
General Psychology and Common
Psyc1011
Life Skills 5 3 0 2 5
SpSc1011 Physical fitness Common 2 0 2 0 2
Geography of Ethiopia Common 3 0 2 5
GeES1011
and the Horn 5
Communicative English Common 3 0 2 5
EnLa1011
Skills I 5
LoCT101 Critical Thinking Common 3 0 2 5
1 5
EmTe101 Introduction to Common 5 3 0 2 5
2 Emerging Technologies
CoSc1012 Computer Programming Supportive 5 2 3 0 5
Anth1012 Anthropology of Common 4 2 0 2 4
Ethiopian Societies and
Cultures
Math1012 Applied Mathematics Supportive 5 3 0 2 5
MCiE101 Moral and Citizenship Common 4 2 0 2 4
2 Education
EnLa1012 Communicative English Common 5 3 0 2 5
Skills II
Math2011 Discrete Mathematics Supportive 5 3 0 2 5
and Combinatory
MGMT1012 Entrepreneurship and Common 5 2 0 3 5
Business Development
GiTr1012 Global trends Common 4 2 0 2 4
INcl2012 Inclusiveness Common 4 2 0 2 4
Econ- Introduction to Common 5 2 0 3 5
2011 Economics
Stat2012 Probability and Supportive 4 2 0 2 4
Statistics
Total 85 46 3 36 85

19
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Module Course Course Title Status CP Le Lab Tu H/S


No Title No c t

02 Programming SEng2021 Computer Compulsory 5 2 3 0 5


Fundamental s Programming II
SEng2022 Data structures Compulsory 5 2 3 0 5
and Algorithms
Total 10 4 6 0 10

Module Module Course Course Title Status C Lec Lab Tut H/S
No Title No P
03 Hardware, and Computer
Systems SEng203 Organization
Compulsory 5 2 0 3 5
Programming 1 and
Architecture
Seng2032 Operating Compulsory
Systems and
7 3 3 1 7
System
Programming
Microprocessor Compulsory
Seng303 1 5 2 3 0 5
and Assembly
Language
Seng3032 Principles of Compulsory
Compiler 5 2 3 0 5
Design
Real-time and Compulsory
Seng403 1 5 2 0 3 5
Embedded
System
Total 27 11 9 7 27

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
04 Database Seng2041 Fundamentals of Compulsory 5 2 3 0 5
Management Database Systems
Systems Advanced Database Compulsory
Seng2042 5 2 3 0 5
Systems
Total 10 4 6 0 10

20
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
05 Software Seng205 1 Fundamentals of Compulsory 2 0 3 5
Engineering Software 5
Core Engineering
Seng305 Requirements Compulsory 3 0 3 6
6
1 Engineering
Seng305 2 Software Compulsory 3 3 0 6
6
Architecture and
Design
Software Compulsory
Seng305 3 Engineering Tools
5 2 3 0 5
and
Practices
Software Testing Compulsory
Seng405 1 and Quality
6 3 3 0 6
Assurance

Software Evolution Compulsory


Seng505 1 6 3 0 3 6
and
Maintenance
Seng505 Software Compulsory 3 0 2 5
5
3 Metrics
Total 39 19 9 11 39

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
06 Advanced Object Oriented Compulsory 2 3 0 5
Seng3061 5
Programming Programming
Seng3062 Advanced Compulsory 2 3 0 5
5
programming
Seng4061 Mobile Compulsory 5 2 3 0 5
Application
Development
Total 15 6 9 0 15

21
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
07 Computer Seng207 Fundamental of Compulsory 2 3 0 5
5
Networking 2 Networking
and Seng307 Web Design and Compulsory
Security 5 2 3 0 5
1 Programming
Fundamental of Compulsory
Seng307 2 5 2 3 0 5
Cloud Computing
and IoT
Seng407 Fundamental of Compulsory 5 2 3 0 5
1 Distributed Systems
Seng307 Fundamental of Compulsory 5 2 3 0 5
3 Security
Total 25 10 15 0 25

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
08 Graphics Human Computer Compulsory
Seng5082 5 2 0 3 5
and Human Interaction
Computer Seng5081 Computer Graphics and Compulsory 3 3 1 7
Interaction Multimedia 7

Total 12 5 3 4 12

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
09 AI, Seng309 Fundamental of Compulsory
5 2 3 0 5
Machine 2 Machine Learning
Learning, Fundamental of Compulsory
Seng409 1 5 2 3 0 5
Big Data Artificial
Intelligence
Fundamental of Big Compulsory
Seng509 2 Data Analytics and
5 2 3 0 5
Business
Intelligence
Total 15 6 19 0 15

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
10 SEng4102 Holistic exam Compulsory 2 0 2 0 2
Seng4104 Internship Compulsory 28 0 28 0 28

Total 30 0 30 0 30

22
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
11 Research and Seng3112 Software Project Compulsory 5 2 0 3 5
Project Works Management
Selected Topics in Compulsory
SEng51122 Software 3 2 0 1 3
Engineering
SEng511 Project I Compulsory 5 0 0 5 5
1
Seng511 Project II Compulsory 5 0 0 5 5
4
Total 18 4 0 14 18

Module Module Course Course Title Status CP Lec Lab Tu H/S


No Title No t
12 Electives SEng5121 Software Agent Elective I 5 2 0 3 5
SEng5123 Software Risk Elective I 5 2 0 3 5
Management
SEng5125 Software Process Elective I 5 2 0 3 5
Improvement
SEng5127 Event Driven Elective I 5
2 3 0 5
Programming
SEng5129 WEB Service Elective I 5 2 3 0 5
Distributed Database Elective II
5 2 3 0 5
Management
SEng5122
Systems
SEng5124 Parallel Computing Elective II 5 2 3 0 5
Design and Analysis Elective II 5 2 3 0 5
SEng5126 of Algorithms
SEng5128 Social Networks Elective II 5 2 0 3 5
SEng512A Software Component Elective II 5 2 0 3 5
Design
Total 50 20 15 15 50

23
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.15. Course breakdown in each semester


This section catalogs the list of courses sequence in each semester indicating the Credit Hour
(Cr.hr) and European Credit Transfer System (ECTS) equivalent. The course breakdown in
semesters is presented as follow.

Year I Semester I
Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
Math1011 Basic 3 5 3 0 2 5 none parallel
Mathematics for
Natural Science
Phys1011 General Physics 3 5 3 0 2 5 none parallel
Psyc1011 General 3 5 3 0 2 5 none parallel
Psychology
SpSc1011 Physical Fitness 2 3 0 2 0 2 none parallel
GeES1011 Geography of 3 5 3 0 2 5 none parallel
Ethiopia and the
Horn
EnLa1011 Communicative 3 5 3 0 2 5 none parallel
English I
LoCT1011 Critical Thinking 3 5 3 0 2 5 none parallel
Total 20 33 18 2 12 32

Year I Semester II

Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
EmTe1012 Introduction to 3 5 3 0 2 5 none parallel
emerging
Technology
CoSc1012 Computer 3 5 2 3 0 5 none parallel
Programming-I
Anth1012 Anthropology 2 4 2 0 2 4 none parallel

Math1012 Applied 3 5 3 0 2 5 Math1011 parallel


Mathematics
MciE1012 Moral and 2 4 2 0 2 4 none parallel
Citizenship
Education
EnLa1012 Communicative 3 5 3 0 2 5 EnLa1011 parallel
English-II
MgMt1012 Entrepreneur and 3 5 2 0 3 5 none parallel
Small business
Total 19 33 17 3 13 33

24
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Year II Semester I

Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng2021 Computer 3 5 2 3 0 5 CoSc1012 parallel
Programming-II
SEng2041 Fundamental of 3 5 2 3 0 5 none parallel
Database Sys.
SEng2051 Fundamental of 4 7 2 0 3 5 none parallel
Software
Engineering
GlTr2011 Global Trend 2 4 2 0 2 4 none parallel

SEng2031 Computer 3 5 2 0 3 5 none parallel


Organization
and Architecture
Econ2011 Introduction to 3 5 2 0 3 5 none parallel
Economics
Total 18 31 12 6 11 24

Year II Semester II
Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng2022 Data Structure 3 5 2 3 0 5 SEng2021 parallel
and Algorithm
Incl2012 Inclusiveness 3 5 2 0 2 4 none parallel
SEng2032 Operating 4 7 3 3 1 7 SEng2031 parallel
System
Math2012 Discrete 3 5 3 0 2 5 none parallel
Mathematics’
SEng2042 Advanced 3 5 2 3 0 5 SEng2041 parallel
Database System
SEng2072 Fundamental of 4 7 2 3 0 5 none parallel
Networking
Total 20 34 14 12 5 31

25
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Year III Semester I

Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng3031 Microprocessor 3 5 2 3 0 5 none parallel
and Assembly
SEng3061 Object-Oriented 3 5 2 3 0 5 SEng2021 parallel
Programming
SEng3051 Requirement 3 5 3 0 3 6 none parallel
Engineering
SEng3053 Software 3 5 2 3 0 5 none parallel
Engineering Tool
and Practice
SEng3071 Web Design and 4 7 2 3 0 5 none parallel
programming
Stat3011 Probability and 3 5 2 0 2 4 none parallel
Statics
Total 19 32 13 12 5 30

Year III Semester II

Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng3052 Software 3 5 3 3 0 6 SEng2051 parallel
Architecture and
Design
SEng3062 Advanced 3 5 2 3 0 5 SEng3061 parallel
Programming
SEng3072 Cloud 3 5 2 3 0 5 none parallel
Computing
SEng3032 Compiler Design 3 5 2 3 0 5 SEng3031 parallel

SEng3092 Fundamental of 3 5 2 3 0 5 none parallel


Machine
Learning
SEng3072 Fundamental of 3 5 2 3 0 5 none parallel
Software
Security
Total 18 30 13 18 0 31

26
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Year IV Semester I

Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng4111 Software Project 3 5 2 0 3 5 SEng3051 parallel
Management
SEng4071 Distributed 3 5 2 3 0 5 SEng3061 parallel
System
SEng4031 Real Time and 3 5 2 0 3 5 SEng3061 parallel
Embedded
System
SEng4051 Software testing 4 7 3 3 0 6 SEng3051 parallel
and Quality
Assurance
SEng4061 Mobile 3 5 2 3 0 5 SEng3062 parallel
Application
Development
SEng4091 Artificial 3 5 2 3 0 5 SEng3061 parallel
Intelligence
Total 19 32 13 12 6 31

Year IV Semester II
Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng4102 Holistic Exam 1 2 0 2 0 2 All course parallel
up to 4th
year 1st sem.
SEng4104 Internship(IndustrialPractice) 17 28 0 28 0 28 SEng4102 parallel
Total 18 30 0 30 0 30

Year V Semester I

Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng5051 Software 3 5 3 0 3 6 SEng4051 parallel
Evolution and
Maintenance
SEng5053 Software Metrics 3 5 3 0 2 5 none parallel

SEng5081 Computer 4 7 3 3 1 7 SEng2021 parallel


Graphics and
Multimedia
SEng5111 Project Phase-I 4 7 0 0 5 5 SEng4111 parallel

SEng512X Elective-I 3 5 ----- --- ----- ----- -------- parallel

Total 17 29 9+## 3+# 11+## 23+## ######

27
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Year V Semester II

Course Course Title Cr.Hr. ECTS Lec.Hr. Lab Tut.Hr. Home Prerequisite Delivery
Code Study
SEng5082 Human 3 5 2 0 3 5 SEng5081 parallel
Computer
Interaction
SEng5092 Fundamental of 3 5 2 3 0 5 SEng2041 parallel
Big Data
SEng5112 Selected Topic in 2 4 2 0 1 3 All core parallel
Software courses
Engineering
SEng5114 Project Phase-II 4 7 0 0 5 5 SEng5111 parallel

SEng512X Elective-II 3 5 ------ --- ------ ------ -------- parallel

Total 15 26 6+## 3+# 9+## 18+# ######

28
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.16. Course/Module Description and Objectives

Course Title Basic Mathematics for Natural Sciences


Module Title Common and Supportive Courses
Module Number 01 Course Number:Math1011
CP 5
Study Hour Lecture: 3 Laboratory: 0 Tutorial: Home St. 5
2
Mode of Delivery Semester wise
Course The course intends to prepare natural science students with the basic concepts and
Description materials from mathematics that necessitate a good foundation to treat
fundamental mathematical tools in science. This course rigorously discusses the
basic concepts of logic and set theory, the real and complex number systems,
mathematical induction, least upper bound and greatest lower bound, functions
and types of functions, polynomial and rational functions, logarithmic and
exponential functions, trigonometric functions, hyperbolic functions and their
graphs and analytic geometry.

29
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Objectives/ After completion of the course, students will be able to:
Learning  apply propositional logic in reasoning,
Outcomes  use quantifiers in open propositions in mathematical logic
 understand concepts of sets and set operations,
 understand the fundamental properties of real numbers use mathematical
induction in proofs,
 analyze least upper bound and greatest lower bound,
 understand the fundamental properties of complex numbers
 express complex numbers in polar representation
 explain different types of functions, their inverses and their graphs
 evaluate zeros of polynomials
 Understand basic properties of logarithmic, exponential, hyperbolic, and
trigonometric functions
 Understand basic concept of analytic geometry
 derive equations of conic sections
Course Contents
Topics and
Duration
1-2 Chapter 1: Propositional logic and Set Theory (14 hrs)
1.1. Definition and examples of proposition
1.1.1 Logical connectives 1.1.2Compound (or complex) propositions
1.1.3 Tautology and contradiction
1.1.4 Open proposition and quantifiers
1.2. Set theory
1.2.1 The concept of a set
1.2.2 Description of sets
1.2.3. Set operations and Venn diagrams
3-5 Chapter 2: The real and complex number systems (14 hrs)
2.1 The real number system
2.1.1. The natural numbers, Principle of mathematical induction and the Well
Ordering Principle
2.1.2. The integers, rational numbers and real numbers.
2.1.3. Upper bound and lower bound: least upper bound and greatest lower bound;
Completeness property of real numbers
2.2. Complex number system
2.2.1. Definition of complex numbers and their operations
2.2.2. Polar representation of complex numbers and the De-Moivere’s formula
2.2.3. Extraction of roots
6-9 Chapter 3: Functions (14 hrs)
3.1. Review of relations and functions
3.2. Real-valued functions and their properties
3.3. Types of functions and inverse of a function

30
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3.4. Polynomials, zeros of polynomials, rational functions, and their graphs


3.5. Definitions and basic properties of logarithmic, exponential, trigonometric
and hyperbolic functions, and their graphs.
10-14 Chapter 4. Analytic Geometry (14 hrs)
4.1 The straight-line: Division of segments and various forms of equation of a line.
4.2. Circles
4.2.1. Definition of circle and examples
4.2.2. Equation of a circle center at the origin and different from the origin.
4.2.3. Intersection of a circle and alien
4.3. Parabola
4.3.1. Definition of parabola and standard form of equation of parabola.
4.3.2. Equation of parabola parallel to the x-axis (the y-axis)
4.4. Ellipse
4.4.1. Definition of Ellipse and examples
4.4.2. Equation of ellipse center at the origin and different from the origin
4.5 Hyperbola
4.5.1. Definition of circle and examples
4.5.2. Equation of hyperbola of center at the origin transverse axis to x-axis (the
y-axis
Teaching Strategy This course will be delivered based on learner centered approach. Therefore, the
main instructional strategies of the course are pair & group discussions; interactive
teaching; brainstorming; icebreaker; debating & role-play.
Assessment Criteria As per the academic regulation.
Attendance Lecture: 85%, Laboratory: 100%
Role of Instructor(s) Delivers lectures, prepares reading assignments and topics for group discussion,
prepares projects by discussion with student, gives consultation and advises
students on project works and assignments, prepares and evaluates quiz,
assignment, midterm and final examination.
Role of Students Attend lectures and presentation, work in team on group work, participate in group
discussion, discusses with the instructor on topics of interest for project work,
delivers and presents project work, attend quiz, midterm and final examination.
References 1. Abera Abay, An Introduction to Analytic Geometry, AAU,1998 2.
2. Alemayehu Haile and Yismaw Alemu, Mathematics an Introductory Course,
Department of Mathematics, AAU

31
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Title Applied Mathematics


Module Title Common and Supportive Courses
Module Number 01 Course Number:Math1012
CP 5
Study Hour Lecture:3 Laboratory:0 Tutorial:2 Home Study:5

32
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Mode of Delivery Semester wise


Course Description This course contains the following contents: Vectors, Matrices, Determinants
and system of Linear equations, Derivative and its applications, some
transcendental functions with inverses, Integration and its applications.
Course Objectives At the end of this course students should be able to:
 Understand the concept of vectors and matrices.
 Find the equation of lines and planes in space.
 Find the distance between two lines (two planes).
 Solve system of linear equations by using an appropriate method.
 Determine eigenvalues and eigenvectors of a matrix.
 Appreciate the applications of eigenvalues and eigenvectors in real
problems.
 Interpret physical and Geometrical meaning of derivative of function at a
given point.
 Find the global or relative extreme values of a function.
 Sketch the graph of a function.
 Evaluate the limits of functions by using L’Hopital’s Rule.
 Find the derivative of a function defined implicitly.
 Evaluate the integral of a function by using an appropriate method.
 Evaluate the improper integral.
 Find the volume of solid region generated by revolving a plane region
about a certain suitable axes.
 Find the arc length of a curve determined by a function
 Find the surface area of solid region.

Course Contents Chapter 1: Vectors


1.1 Definition
1.2 Operations on vectors
1.3 Cartesian Coordinates in space
1.4 Vector in space
1.5 Norm of a vector
1.6 Scalar and Cross product
1.7 Equations of lines and planes in space
Chapter 2: Matrices and Determinants
2.1 Definition
2.2 Matrix operations and their properties
2.3 Elementary row operations and Echelon forms
2.4 Rank of a Matrix
2.5 Inverse of a Matrix

33
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.6 Determinant of a square matrix


2.7 Inverse using determinant
2.8 System of linear equations (Gauss Jordan method and Cramer’s rule)
2.9 Eigenvalues and eigenvectors
Chapter 3: Derivatives and its applications
3.1 Definition
3.2 Differentiable function
3.3 Derivatives of differentiable function
3.4 Derivatives of combination of Functions
3.5 Chain rule
3.6 Higher derivatives
3.7 Implicit differentiation
3.8 Applications of derivatives
3.8.1 Max.& Min. value
3.8.2 Mean value theorem &its application
3.8.3 Derivative test (1st& 2nd tests)
3.8.4 Extreme values
3.8.5 Concavity and inflection pts
3.8.6 L’Hopital’s rule
Chapter 4: Some Transcendental unction’s with inverses
4.1 Definition of inverse of a function &their properties
4.2 Derivative of inverse function
4.3 Trigonometric functions
4.4 Hyperbolic functions
Chapter 5: Integrals
5.1 The indefinite integral and integration rules
5.2 Techniques of integration
5.2.1 Integration by substitution
5.2.2 Integration by parts
5.2.3 Integration by partial fraction
5.2.4 Integration by Trigonometric substitution
5.3 Trigonometric integrals
5.4 Definite integral and its properties
5.5 Fundamental theorem of Calculus
5.6 Improper integrals
5.7 Applications of integrals
5.7.1 Volume5.7.2 Arc length 5.7.3 surface Area
Assessment Criteria As per the academic regulation.
References Reference Materials:
1. R. Ellis and D. Gulick: Calculus with Analytic Geometry 5th edition

34
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2. Leslie Hogben: Elementary Linear Algebra


3. Howard Anton: Elementary Linear Algebra
Howard Anton: Calculus with Analytic Geometry 5th edition

Course Title Discrete Mathematics and Combinatory


Module Title Common and Supportive Courses
Module Number 01 Course Number: Math2011
CP 5
Study Hour Lecture:3 Laboratory:0 Tutorial:2 Home Study:5
Mode of Delivery Semester wise
Course Description Topics include Mathematical logic, set theory, relations and functions, Boolean
algebra, machine languages, fundamental principles of counting, principle of
Inclusion-Exclusion, generating functions, recurrence relation, introduction to
graph theory, trees.
Course Objectives At the end of this course the students will be able to:
 Illustrate by examples the basic terminology of functions, relations, and sets
and demonstrate knowledge of their associated operations.
 Learn various counting methods to solve complex problems.
 Demonstrate in practical applications the use of basic counting principles of
permutations, combinations, inclusion/exclusion principle and the pigeonhole
principle.
 Establish and solve recurrence relations that arise in counting problems
 Illustrate by example basic terminology of graph theory and model problems
in computer science using graphs and trees

Course Contents Chapter 1: Introductory logic (8 hrs)


1.1 Logiciel connectives
1.2 Tautology, contradiction and logiciel équivalence
1.3 Quantifie propositions
1.4 Argument and validity
1.5 Methods of proofTutorial
Chapter 2: Set theory (12 hrs)
2.1 Introductory examples
2.2 Set operations
2.3 Relations and functions
2.4 Equivalence relations
2.5 Partially ordered sets
2.6 Introduction to Boolean Algebra
2.7 Formal machines and language Tutorial
Chapter 3: Counting Methods (12hrs)

35
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3.1 Sum and product Rules


3.2 Permutations
3.3 Combinations
3.4 Binomial Theorem
3.5 Pigeon hole principle
3.6 Generating functionsTutorial
Chapter 4: Advanced counting methods (8 hrs)
4.1 Inclusion-exclusion principle
4.2 Recurrence relations
4.3 Methods of solving recurrence relationsTutorial
Chapter 5: Introduction to graph theory (16 hrs)
5.1 Definition and Examples5.2 Matrix representation of graphs
5.3 Paths & connectivity
5.4 Planar Graphs
5.5 Graph coloring and chromatic polynomials
5.6 Eulerian and Hamiltonian graphs5.7 Trees
5.8 Minimum spanning trees
5.9 Prim’s and Kreskas’s Algorithm
5.10 Dijkstra’s shortest path Algorithm Tutorial
Assessment Criteria As per the academic regulation
References 1. Grimaldi, R.P. Discrete and Combinatorial Mathematics: an applied
introductory, Addison-Wesley publishing company, Inc., 1994, US America
2. Biswal, P.C., Discrete Mathematics & Graph Theory, Prentice Hall of India
PVT LTD, 2005, New Delhi

Course Title Probability and Statistics


Module Title Common and Supportive Courses
Module Number 01 Course Number: Stat 2012
CP 4
Study Hour (per Lecture:2 Laboratory:0 Tutorial:2 Home Study:4
week)
Pre-requisites None
Course Description History of statistics, Meaning of statistics; Methods of data collection; Methods
of data presentation; Measures of location; Measures of variation; Moments,
skewness and kurtosis; Sampling techniques; Simple linear regression,
correlation and rank correlation.
Objectives • To introduce students to the basic statistical knowledge (data collection and
presentation methods, measures of central tendency and variation, regression
and correlation).
• To demonstrate the importance and usefulness of statistics in real life.

36
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

• To show how to present data informatively and clearly.


Learning Outcomes At the end of the course students are expected to:
 have a basic understanding of statistical techniques demonstrated through
principles of data collection, descriptive statistics, linear regression,
correlation, computation and data analysis;
 identify different techniques of sampling and understand the methods of data
collection, organization, presentation, analysis and interpretation;
 Differentiate among common types of data
Course Content
Contents/Chapters Number of Method of Teaching
hours
needed
Chapter 1. Introductions 6 hours
1.1 Definition & classifications 3 hours  Lecture Method
 Discussion Method
1.2 Method of data collection and 3 hours  Lecture Method
organization  Discussion Method
1.3 Method of data representation 3 hours  Lecture Method
 Discussion Method
Chapter 2. Measures of Central 7 hours 
Tendency
2.1 Mathematical measures. 3 hours  Lecture Method
 Discussion Method
2.2 Positional measures. 3 hours  Lecture Method
 Discussion Method
2.3 The mode. 1 hours Preparing worksheet & distribute to students
and discussion on the prepared worksheet
Chapter 3.Measurs of Variation 7 hours
3.1 Positional measures 2 hours  Lecture Method
 Discussion Method
3.2 Mathematical Measures 2 hours  Lecture Method
 Discussion Method
3.3) Relative measures of variation 3 hours 
Solving all worksheets about three 2 hours  Lecture Method
chapters  Discussion Method
Test one 1 hour  -
Chapter 4. Elementary 6 hours 
Probability theory.
4.1 Introduction 3 hours  Lecture Method
 Discussion Method
Mid –Exam 2:30 hours -Distribute exam papers to each student.

37
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

-Controlling each student not copy one from


another
4.2 Counting Rules. 3 hours  Lecture Method
 Discussion Method
4.3 Probability 2 hours  Lecture Method
 Discussion Method
4.4 Total of probability and Baye‘s 3 hours  Lecture Method
thoerem.  Discussion Method
4.5 Random variables and 2 hours  Lecture Method
probability distribution  Discussion Method
Chapter 5. Discrete Probability 4 hours
Distributions
5.1) Mean & Variance of discrete 1 hour  Lecture Method
probability distributions.  Discussion Method
5.2) The binomial distribution 1 hour  Lecture Method
 Discussion Method
5.3) The Poisson distribution 2 hours  Lecture Method
 Discussion Method
Chapter 6. Continuous 4 hours 
probability distribution.
6.1. Mean & variance of continuous 1 hour  Lecture Method
variable  Discussion Method
6.2. The normal distribution. 2 hours  Lecture Method
 Discussion Method
Tutorial Class about chapter 5. 1 hour Show the way how to solve the problems and
invite students to solve problems
Chapter 7. Sampling Theory. 2 hours  Show the way how to solve the problem.
 Solve some of the difficult problems by
tutors.
7.1. Introduction to sampling theory 2hrs  Lecture Method
 Discussion Method
Chapter 8. Statistical Inference 8 hours 
8.1. Statistical Estimation of mean ( 2 hrs  Lecture Method
one sample mean & proportion)  Discussion Method
8.2. Test of hypothesis ( one sample 4 hrs  Lecture Method
mean & proportion)  Discussion Method
8.3. Tests of Association of 2 hrs  Lecture Method
attributes  Discussion Method
Methodology The methodologies that will be used for the course are:
1. Lecture: Most of the definitions and Theorems of the chapters in the course
will be delivered by lecture method. However, most of the concepts are

38
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

supported by examples that needs the participation of students.


2. Tutorial: worksheets will be prepared and given to the students at the time
when a chapter is nearly completed. Every student is expected to do the
exercises given in the worksheet within a week. After a week there will be
tutorial periods that give chances to the student to show their work to their
instructor and their classmates, and this task will be checked by the time.
Assessment Criteria As per the academic regulation
References 1. David, S.M., McCabe, P. and Craig, B. (2008). Introduction to the Practice of
Statistics (6th edition). W.H. Freeman.
2. Freund, J.E and Simon, G.A. (). Modern Elementary Statistics (9th Edition).

Course Title General Psychology and Life Skills


Module Title Common and Supportive Courses
Module Number 01 Course Number: Psyc1011
CP 5
Study Hour Lecture:3 Laboratory:0 Tutorial:2 H/S: 5
Mode of Delivery Semester wise
Course This introductory course will provide students with an overview of the current body
Description of knowledge and the science of psychology. This course examines the role of
environmental factors and the interaction of nature and nurture in determining
behaviors and mental processes. Areas to be discussed will include; the essence
psychology, human development, theories of learning, memory and forgetting,
motivation and emotion, psychological disorder and treatments. The course will also
focus on how to develop life skills based on the theories and principles of psychology
where self-development, academic and social skills shall be given due attention.
Course The course General Psychology and Life skills encompasses the fundamental
Rationale concepts and principles of psychology which have immense application to human
life problems. Hence, this course is intended to introduce students to the basic
concepts of psychology and acquaint them with how to apply psychological
knowledge, principles, and theories to real life situation and problems. So it is of
paramount importance for students of any field of study to be effective in their
personal, social, and professional life. Apart from that, it is to introduce students to
the core set of life skills, which are important in realizing holistic development of
students (i.e sense of well-being, confidence and academic performance) so that they
can lead happy, healthy, successful, and productive life.
Learning Up on the completion of this course, students will be able to:
Outcomes  Describe basic psychological concepts.
 Compare and contrast the major theoretical perspectives in psychology.
 Discuss different aspects of human development
 Compare and contrast different learning theories
 Summarize motivational and emotional processes

39
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Demonstrate social and interpersonal skills in everyday life.


 Set an adaptive goal and plan for future.
 Apply knowledge of psychology to one’s own life & to develop life skills.
 Explain ways how self-confidence, self-esteem, self-efficacy, assertiveness,
responsible behaviors, interpersonal skills will be strengthened.
 Apply different stress coping mechanisms.
Course Contents
Week Content Assessment Techniques
Week 1 Chapter One: Essence of Psychology
1.1. Definition of Basic Concepts
1.2. Goals of Psychology
1.3. Historical Background of Psychology
1.4. Theoretical Perspectives in Psychology
1.5. Branches of Psychology
1.6. Research Methods in Psychology
1.7. Applications of Psychology
Week 2-3 Chapter Two: Human Development
2.1. Definition and Concepts of Human
Development
2.2. Facts and Principles of Human Development
2.3. Aspects of Human Development
2.4. Theories of Human Development
2.4.1. Cognitive Theories
2.4.2. Psychosexual Theory
2.4.3. Psychosocial Theory
2.4.4. Moral Development Theory
2.5. Personality Development
2.5.1. Meaning of Personality
2.5.2. Trait theories of Personality
2.5.3. Humanistic theories of Personality
Week 4-5 Chapter Three: Learning and Theories of
Learning
3.1 Definition, Principles and Characteristics of
Learning
3.2 Factors Influencing Learning
3.3 Theories of Learning and their Applications
3.3.1. Behavioral Theory of Learning
3.3.2. Social Learning Theory
3.3.3. Cognitive Learning Theory
Week 6 Chapter Four: Memory and Forgetting
4.1. Memory

40
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

4.1.1. Meaning and Process of Memory


4.1.2. Stages of Memory
4.1.3. Factors Affecting Memory
4.2. Forgetting
4.2.1. Meaning and Concepts of Forgetting
4.2.2. Theories of Forgetting
4.3. Improving Memory
Week 7-8 Chapter Five: Motivation and Emotion
5.1. Motivation
5.1.1. Definition and Types of Motivation
5.1.2. Theories of Motivation and their
Applications
5.1.3. Conflict of Motives and Frustration
5.2. Emotion
5.2.1. Definition of Emotion
5.2.2. Components of Emotion
5.2.3. Theories of Emotion and their Applications
Week 9 Chapter Six: Psychological Disorders and
Treatment Techniques
6.1. Nature of Psychological Disorders
6.2. Causes of Psychological Disorders
6.3. Types of Psychological Disorders
6.4. Treatment Techniques
Chapter Seven: Introduction to Life Skills
7.1. Nature and Definition of Life skills
7.2. Goals of Life Skills
7.3. Components of Life Skills
Week 10-12 Chapter Eight: Intra-personal and Personal
Skills
8.1. Self-Concept and Self-Awareness
8.2. Self-Esteem and Self-Confidence
8.3. Self-Control
8.4. Emotional Intelligence and Managing
Emotion
8.6. Resilience and Coping with Stress
8.7. Anger Management
8.8. Critical and Creative Thinking
8.9. Problem Solving and Decision Making
Week 13 Chapter Nine: Academic Skills
9.1. Time Management

41
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

9.2. Note-taking and Study Skills


9.3. Test-Taking Skill
9.4. Test Anxiety and Overcoming Test Anxiety
9.5. Goal Setting
9.6. Career Development Skill
Week 14-15 Chapter Ten: Social Skills
10.1. Understanding Intercultural Diversity and
Diversity Management
10.2. Gender and Social Inclusion
10.3. Interpersonal Communication Skills
10.4. Social Influences and Peer Pressure
10.5. Assertiveness
10.6. Conflict and Conflict Resolution
10.6. Team Work
10.7. Overcoming Risky Behavior
Week 16 Reserved for Final Examination
Teaching Classroom lessons will be mainly lectures preceded by activities (leading questions
Learning followed by brainstorming) and pair or group discussions followed by presentations
Methods with amendments by the instructor. Students will be given cases in light of the
theories covered and asked to analyze cases form the perspectives of the course
objectives and make presentations. At the start of every lesson, students will be
requested to give brief summaries of the previous lesson. At the end of each unit,
they will be requested to prepare exit slips where they reflect on what they have
learned and what aspects of the unit need further consideration. In this way
continuous assessment of students’ understanding will be held and remedial actions
taken. Whatever so, below is listed some general approaches:
 Gapped Lecturing
 Brainstorming
 Collaborative learning
 Discussion
 Independent learning
 Reading assignment and presentation
 Role play
Assessment As per the academic regulation.
Criteria
Course Policy Responsibilities of the Students
All students are expected to abide by the code of conduct of students as per the
Legislation of the respective university throughout the course. Academic dishonesty,
including cheating, being late, fabrication and plagiarism will not be tolerated and
will be reported to the concerned bodies for disciplinary action. Regular attendances,

42
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

class activities (questions), doing assignments and submitting them on time are
indispensable vehicles for the successful accomplishment of the course. Moreover,
mobile cell phones are to be switched off so as to avoid distractions in the teaching
learning activities including examination time. Lastly, but not least, note that all
issues discussed in the class will be incorporated in quiz, tests or final exams.
Responsibilities of the Instructor
 Planning learning activities needed for the successful accomplishment and
realization of the course objectives
 Running classes according to the official instructional schedule for successful
coverage of the designed course contents within the planned instructional time
 Regularly planning assessment activities and designing relevant (reliable, valid,
and usable) assessment tools to realize the objectives of continuous assessment

 Providing timely and constructive feedbacks on students’ performance on every


assessment activities
 Being good role model for the students in the issues like punctuality, objectivity,
honesty, transparency, fairness, humbleness, tolerance, devotion to one’s duty,
mercy, dressing/neatness etc.
References  Coon, D. & Mitterer, J.O. (2008). Introduction to psychology: Gateways to mind
and behavior (12th ed). New York, NY: McGraw Hill.
 Feldman, R.S. (2018). Essentials of understanding psychology (13th ed). New
York, NY: McGraw Hill.
 Gray, P. & Bjorklund, D.F. (2017). Psychology (7th ed). New York, NY: Worth
Publishers.
 Kalat, J.W. (2013). Introduction to psychology (13th ed). New York, NY:
McGraw Hill.
 Lahey, B.B. (2008). Psychology: An introduction (10th ed). New York, NY:
McGrawHill.
 Lilienfeld, S.O., Lynn, S.J., Namy, L.L. & Woolf, N.J. (2017). Psychology: From
Inquiry to understanding (3rd ed). Upper Saddle River, NJ: Pearson Education.
 Meyers, D.G. & DeWall, C.N. (2016). Exploring psychology in modules (10th
ed). New York, NY: Worth publishers.
 Weiten, W. (2014). Psychology: Themes and variations (briefer version, 9th ed).
Belmont, CA: Wadsworth Publishing.
 ………….
 Burnard, P. (1989). Teaching interpersonal skills: A handbook of experiential
learning for health professionals. London, UK: Chapman and Hall.
 Cotnell, S. (2013). The study skills handbook. New York, NY: Palgrave
MacMillan.
 Haddon, P.F. (1990). Mastering personal and interpersonal skills: Key
techniques and personal success. London, UK: Thorogood Ltd.
 Hays, J. (2002). Interpersonal skills at work (2nd ed). New York, NY: Routledge.
 Pavord, E. & Donnely, E. (2015). Communication and interpersonal skills (2nd
ed). Banbury, UK: Lantern publishing.

43
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Peace Corps (2001). Life skills manual. Washington, DC: Author. Skills You
need (2018). Personal development. Author. .
 Sultmann, B. & Burtpn, T. (2003). People skills: Guiding to effective
interpersonal behavior. Bowen Hills, Australis: Australian Academic Press.

Course Title Anthropology of Ethiopian Societies and Cultures


Module Title Common and Supportive Courses
Module Number 01 Course Number: Anth1012
CP 4
Student Work Lecture Tutorial, class Continuous Private Total
Load discussions& Assessments (test, Study
presentations term paper, home
taken exam/case
studies & final exam)
48 hrs. 36 hrs. 15 hrs. 26 hrs. 125 hrs.
Mode of Semester wise
Delivery
Course This course is designed to introduce the anthropology of Ethiopian societies and
Description cultures to first year students of Higher Learning Institutions (HLIs). It covers basic
concepts of anthropology such as culture, society and humanity. It also discusses
themes including unity and diversity; kinship, marriage and family; indigenous
knowledge systems and local governance, identity, multiculturalism, conflict,
conflict resolution and peacemaking system; religion and rituals; intra and inter-
ethnic relations of Ethiopian peoples. In addition, the course explores culture areas
of Ethiopia such as plough culture, inset culture and pastoralism. The course further
covers marginalized, minority and vulnerable groups in terms of age, gender,
occupation and ethnicity by taking ethnographic case studies into account.
Course  Intended Learning Outcome:
Objectives  Up on the successful completion of the course, students will be able to
 Develop an understanding of the nature of anthropology and its broader scope in
making sense of humanity in a global perspective;
 Understand the cultural and biological diversity of humanity across the world;
 Analyze the problems of ethnocentrism against the backdrop of cultural
relativism;
 Realize the socially constructed nature of identities & social categories such as
gender, ethnicity, race and sexuality;
 Explore the various peoples and cultures of Ethiopia;
 Understand the social, cultural, political, religious& economic life of different
ethnolinguistic & cultural groups of Ethiopia;
 Understand different forms marginalization and develop skills inclusiveness;

44
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Appreciate the customary systems of governance and conflict resolution


institutions of the various peoples of Ethiopia;
 Know about values, norms and cultural practices that maintain society together;

 Recognize the culture area of peoples of Ethiopia and the forms of interaction
developed over time among themselves; and
 Develop broader views and skills to deal with people from a wide variety of
socioeconomic and cultural backgrounds.
Course Contents and Time Allocation
Topics Duration
1. Introducing Anthropology and its Subjects Two & ½ Weeks- 7.5
1.1. What is anthropology – a Mirror for Humanity? Hrs Lecture
 Sketching the subject matter, scope and concerns of anthropology
 Anthropological imagination: asking questions and seeing the world
anthropologically. Q- What does it mean by using
the anthropological lens when looking at the world?
 Defining Features of Anthropology- holism, relativism & comparative
perspectives
 Methods of Research in anthropology: ethnography & ethnographic
methods
1.2. Sub-fields of Anthropology: Four Mirrors for Understanding Humanity
1.3. The relation between anthropology and other disciplines
2. Human Culture and Ties that Connect Three Weeks- 9 Hrs
2.1. Conceptualizing Culture: What Culture Is and What Culture Isn’t? Lecture
2.2. Characteristics features of culture: what differentiates culture from other
traditions?
2.3. Aspects of Culture –Material & Non-material (values, beliefs & norms)
2.4. Levels of culture: universality, generality and particularity (cultural
diversity)
2.5. Ethnocentrism, Cultural relativism, and human rights
 Discussion- Debating cultural relativism: Human rights law and the
demonization of culture and anthropology along the way
2.6. Cultural Change: what is cultural change?
 Cultural Diffusion versus Cultural Assimilation
 Innovation
Discussion - Contesting culture as sharply bounded versus unbounded
‘cultural flows’ or as ‘fields of discourse’ in the context of globalization.
Ties that Connect: Marriage, Family and Kinship
 Marriage -rules, functions and forms of Marriage Family -types and
functions of Family
Q. How families and marriage differ in different societies?

45
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Kinship System -types of kin groups and rules of descent


 Kinship and Gender Across Cultures
 Sex and Gender: Mapping differences in cross cultural perspective
 Gender –as power relations
3. Making Sense of Humanity and Human Diversity Two Weeks- 6 Hrs
3.1. Human Beings & Being Human: What it is to be human? – (a biocultural Lecture
animal?)
3.2. Origin of the Modern Human Species: Homo sapiens sapiens (that’s you!)

 Religious, biological & evolutionary (paleo-anthropological)


explanations
3.3. The Kinds of Humanity: human physical variation Q. Why isn’t
everyone the same?
Q. Why do people worldwide have differences in their phenotypic attributes?
3.4. Human Races: the history of racial typing
 The Grand Illusion: Race, turns out, is arbitrary
Q. What can we say for sure about human races?
3.5. Why is Everyone Different? Human Cultural Diversity - anthropological
explanations
Q. Why don’t others do things the way we/I do?
4. Religion and Ritual: Looking into Humanity’s Supernatural/ethereal One Week- 3 Hrs
Worlds Lecture
4.1. Religion –what is it?
4.2. Origin of Religion: emic & etic perspectives- (anthropological
explanations)
4.3. Functions of Religion
Q. Why does a religious belief system become a significant factor of human
life?
4.4. Why religion is so powerful?
Q. Where do religious systems of belief get their power? Q. Why do people
believe them so fervently that many are devoted & quite willing to pay the
ultimate price in the name of their religion?
4.5. Ritual and religion: communication of religion’s ultimate scared
postulates
4.6. Types of religion: Shamanic, Communal, Olympian &
Monotheistic/ecclesiastic
Q. Few things are as volatile as the friction between religious or political
ideas. Why is this? And,
Q. why does such a diversity of beliefs exist in the first place?
Discussion: Contesting religious fundamentalism –Is it a threat or delight for
peaceful coexistence in religiously diverse societies like Ethiopia?

46
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

5. Marginalized, Minorities, and Vulnerable Groups. Four Weeks -12 Hrs


5.1. Gender based marginalization; Lecture
5.2. Occupational cast groups;
5.3. Vulnerable group; age-based vulnerability
5.4. Religious and ethnic minorities
6. Theories of inter-ethnic relations and multiculturalism in Ethiopia
6.1. The Scales of Human Identity: Who AM I? - Understanding ‘self’ &
‘other’
Q- What are the ways we tell for others who we are?
6.2. Ethnicity and Race: What’s in a name?
6.3. Ethnic Groups & Ethnic Identity
Q. What is the basis of one’s ethnic identity?
Q. Is ethnicity a fundamental aspect of human nature & self-consciousness,
essentially unchanging and unchangeable identity? Or
Q. Is it, to whatever extent, socially constructed, strategically or tactically
manipulable, and capable of change at both the individual and collective
levels?
6.4. Race –the social construction of racial identity Q. Do the claims of
some people/groups about superior & inferior racial groups have any scientific
validity? 6.5. Primordialism; Instrumentalism; Social constructivism
6.6. Debates on inter-ethnic relations and identities
7. Customary and local governance systems and peace making
7.1. Indigenous knowledge systems and local governance 7.2. Intra and inter-
ethnic conflict resolution institutions Ethnographic cases: commonalities
and shared practices (e.g., Oromo and Somali, Afar and Tigray; Gedeo and
Oromo; Guraghe and Siltie; Amara and Tigray)
7.3. Customary/Local governance systems
Ethnographic cases: Oromo Geda; Somali-Gurti; Gamo, Gofa, Wolayita-
Woga; Guraghe-Sera
7.4. Legal pluralism: interrelations between customary, religious and state
legal systems
8. Culture areas and cultural contacts in Ethiopia
8.1. Plough culture area
8.2. Enset culture area
8.3. Pastoral societies culture area
8.4. Historical and social interactions between culture areas
Course (Classroom, resources, and other inputs required to deliver the course will be listed)
Requirements:
Grading Policy (Legislation of the concerned university will be adopted by departments/schools
handling the common course across the country)

47
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Assessment and Based on the progressive understandings of the course, students will be evaluated
Evaluation continuously through both non-graded assignments/activities, like (reading
Criteria assignments) and graded assignments/activities and assessments including class
discussion & participation, Test, Term Paper & presentation, Home Taken
Exam/case studies and Final Exam.
References  Asmarom Legesse (2006). Oromo Democracy: an Indigenous African Political
System. The Red Sea Press, Inc.
 Cameron, M. Smith and Evan T. Davies (2008). Anthropology for Dummies.
Wiley Publishing, Inc., Indianapolis, Indiana.
 Clifored Geertz . (1973). The Interpretation of Cultures. A division of Harper
Collins Publishers.
 Donald Donham . (1986). Marxist Modern. The Ethnographic History of Marxist
Ethiopia.
 Donald N. Levine. (1974). Greater Ethiopia: The Evolution of A Multiethnic
Society. Chicago & London., University of Chicago.
 Dunif-Hattis and Howard C. (1992). Anthropology: Understanding Human
Adaptation. New York: Harper Collins, Inc.
 Eriksen, T. H. (2001). Small Places, larger Issues: An introduction to social and
cultural anthropology. London: Pluto Press.
 Eriksen, T. H. (2004). What is anthropology? London: Pluto Press.
 Eriksen, T. Hylland. (2002). Ethnicity and Nationalism. London; Pluto Press.
 Eriksen, T.H. and Nielsen, F.S. (2001). A History of Anthropology. London: Pluto
Press.
 Hallpike, Christopher R. (1972). The Konso of Ethiopia: A Study of the Value of
a Cushitic People. Oxford: Clarendon Press.
 Hamer, John. (1970). TheSidama Generational Class Cycles: A Political
Geronotocracy. Africa 40,I (Jan,1970): 50-70.
 13. Haviland, WA, (1999).Cultural Anthropology (9th ed.). Fort Worth: Harcourt
and Brace College Pub.
 14. Kottak, C. P. (2004) – Anthropology: the Exploration of Human Diversity
(10th ed.). McGraw Hill, New York.
 15. Lavenda, R. and Emily S. (2015). Anthropology. What Does It Mean to Be
Human?. (3rded.). Oxford. Oxford University Press.
 16. Pankhurst. R.(2001). Historic Images of Ethiopia. Shamans Books. Addis
Ababa, Ethiopia.
 17. Richard Jenkins. (2006). Rethinking Ethnicity. London Sage Publication.
 18. Rosman, A., Rubel, P.G. and Weisgrau, M. (2009). The Tapestry of Culture:
an Introduction to Social Anthropology. Lanham: Rowman and Little field.
 19. Scupin and DeCorse (1988). Anthropology: A Global Perspective (2nd ed.).
New Jersey: Prentice Hall.
 20. Shack, William S. (1966). The Gurage: A People of the Enset Culture.
London: Oxford University Press.
 21. Triulzi et al. (2002). Remapping Ethiopia Easer African Studies:. Addis
Ababa: AAU

48
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Title General Physics


Module Title Common and Supportive Courses
Module Number 01 Course Number: Phys1011
CP 5
Study Hour Lecture:3 Laboratory: 0 Tutorial:2 H/Study:5
Mode of Delivery Semester wise
Course Goal By the end of this course the student will able to:
(Learning outcome)  Develop knowledge and skills in basic measurement and uncertainty.
 Understand the basic concepts of physics and the relations between them
(Laws).
 Describe and explain natural phenomena using the basic concepts and laws.

 Apply the basic concepts and laws to practical situations.


 Develop the algebraic skills needed to solve theoretical and practical
problems.
 Appreciate the applicability of physics to a wide range of disciplines.
Course Description This algebra-based course provides science students with the basic concepts of
physics that enable them to understand describe and explain natural phenomena.
Emphasis is laid on general principles and fundamental concepts in
measurements, mechanical and thermal interactions, fluid mechanics,
electromagnetism, oscillations and waves with applications of physics in
various fields of science.
The course is organized into 7 chapters. The chapters on mechanics introduces
the principles and laws governing the motion of objects and the interaction
between them as well as conservation laws. The chapter on heat and temperature
discusses the interaction between systems through energy transfer and describes
some basic thermal properties of such systems. The chapters on oscillations,
waves and optics provide basic concepts of periodic motions, how waves
transfer energy from one place to the other, and use the concepts of light rays to
explain image formation by mirrors and lenses. Electromagnetism and
electronics introduces the basic electric and magnetic phenomena using the
concept of field and treats elementary concepts of semiconductors. Cross-
cutting applications of physics explain the roles of physics in Agriculture,
Industries, Medicine, Archeology, Power Generation, Earth and Space
Sciences.
Lesson Sequence Plan
Chapter Title Detailed Content Week
1 Preliminaries (2  Physical Quantities and Units of 1
hrs) Measurement

49
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Uncertainty in Measurement and Significant


Digits
 Vectors: composition and resolution
 Unit Vectors
2 Kinematics and  Kinematics in One and Two Dimensions (4 2-5
Dynamics of hrs)
Particle (13 Hrs) o Displacement, Velocity and Acceleration
in 1D and 2D
o Motion with Constant Acceleration
o Free Fall Motion O Projectile motion
 Particle Dynamics and Planetary Motion
(6hrs)
o The Concept of Force as a Measure of
Interaction
o Types of forces o Newton’s Laws of
Motion and Applications O Circular
Motion o Newton’s Law of Universal
Gravitation and Examples
o Kepler’s laws, satellites motion and
weightlessness
 Work, Energy and Linear Momentum (3 hrs)
o Work and Energy o Linear Momentum
o Conservation of Energy and Linear
Momentum / Collisions o Power
o The Concept of Center of Mass

3 Fluids Mechanics  Properties of Bulk Matter /Stress, Strain/ 6-7


(4 hrs)  Density and Pressure in Static Fluids
 Buoyant Forces, Archimedes’ principle
 Moving Fluids and Bernoulli’s Equation
Mid Exam 8
4 Heat and  The Concept of Temperature: Zeroth Law of 9-10
Thermodynamics Thermodynamics
(5Hr)  The Concept Heat and Work
 Specific Heat and Latent Heat
 Heat Transfer Mechanism
 Thermal Expansion
 Energy Conservation: First Law of
Thermodynamics

50
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

5 Oscillations,  Simple Harmonic Motion 10-12


Waves and Optics  The Simple Pendulum
(5 hrs)  Wave and Its Characteristics
 Resonance
 Doppler Effect
 Image formation by thin lenses and mirrors
6 Electromagnetism  Coulomb’s Law and Electric Fields 12-13
and Electronics (6  Electric Potential
hrs)  Current, Resistance and Ohm’s Law
 Electrical Power
 Equivalent Resistance and Kirchhoff’s Law
 Magnetic Field and Magnetic Flux
 Electromagnetic Induction
 Insulators, Conductors, Semiconductors
 Diodes / Characteristics Curve
 Transistor
7 Cross Cutting  Application in Agriculture 14-15
Applications of o Energy balance concept, energy balance in soils,
Physics (4 hrs) moisture content, soil densities, soil moisture
characteristics,
 Physics and Industries
o Principle of Motor and generator
 Physics in Health Sciences and Medical
Imaging
o Radiation and its biological effect, x-ray, MRI,
Ultrasound
 Physics and Archeology
o Radioactive Dating
 Application in Earth and Space Sciences
o Geothermal Energy, Seismometer, Radio and
TV communications
 Application in Power Generation
o Solar and Wind Energy, Nuclear Power Plants,
Hydroelectric power
Final Exam 16
Teaching Methods Lecture, Tutorial, Seminar /Demonstration …
Assessment Criteria As per the academic regulation.
Attendance and Class Students must attend above 80% of the lecture classes and 100% of
Participation Lab/Demonstration.

51
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

References 1. Serway, R. A. and Vuille, C., 2018, College Physics, 11th ed.,
Cengage Learning, Boston, USA
2. University Physics with Modern Physics by Young, freedman and
Lewis Ford
3. Physics for Scientists and Engineers with Modern Physics by
Douglas C. Giancoli
4. Fundamentals of physics by David Halliday, Robert Resnick and
Gearl Walker
5. College Physics by Hugh D. Young Sears Zemansky, 9th edition

6. Herman Cember and Thomas A. Johnson, Introduction to Health


Physics, 4th ed., (2008).
7. William R. Hendee and E. Russell Ritenour, Medical Imaging
Physics, 4th ed., (2002).
8. Tayal D.C. Basic Electronics. 2nd ed. Himalaya Publishing House
Mumbai, (1998).
9. Theraja B.L., R.S. Sedha. Principles of Electronic Devices and
Circuits, S.Chand and Company Ltd, New Delhi, (2004).
10. Introduction to Space Physics, M. G. Kivelson and C. T. Russell,
Cambridge University Press, 1995.
11. Stacey, Frank D.: Physics of the earth. 2nd Ed.,Wiley, 1977.

Course Title Communicative English Skills I


Module Title Common and Supportive Courses
Module Number 01 Course Number: EnLa1011
CP 5
Study Hour Lecture:3 Laboratory: 0 Tutorial: 2 Home Study:5
Mode of Delivery Semester wise
Course Description -
Learning Outcomes -
Course Contents
Topics Duration
References -

Course Title Communicative English Skills II


Module Title Common and Supportive Courses
Module Number 01 Course Number:EnLa1012
CP 5
Study Hour Lecture:3 Laboratory: 0 Tutorial: 2 Home Study:5

52
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Mode of Delivery Semester wise


Course Description -
Learning Outcomes -
Course Contents
Topics Duration
- -
References -

Course Title Moral and Citizenship Education


Module Title Common and Supportive Courses
Module Number 01 Course Number:MCiE1012
CP 4
Study Hour Lecture:2 Laboratory:0 Tutorial:2 Home Study:4
Mode of Delivery Semester wise
Course Description -
Learning Outcomes -
Course Contents
Topics Duration
- -
References -

Course Title Introduction to Economics


Module Title Common and Supportive Courses
Module 01 Course Number: Econ-2011
Number
CP 5
Course Lecture
Discussion Group & Home Assessment Total number of
Information with Peers Individual Study/Self hours per semester
& Assignment Study/
instructor
48 hrs. 30 hrs. 15 hrs. 40 hrs. 25 hrs. 158 hrs.
Mode of Semester wise
Delivery
Course This course provides a general introduction to economics combining elements of
Description micro and macro fundamentals. The first part of the course focuses on theories of
consumers’ and producers’ behavior. Besides the course will also cover the
neoclassical theory of product and/or service pricing for perfectly competitive market
and provide brief introduction to monopoly, monopolistic competition, and oligopoly

53
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

market structures. The second major part of the course will discuss elements of
macroeconomics such as macroeconomic goals, national income account and its
measurement, macroeconomic problems and policy instruments. In offering the
course, the real contexts Ethiopia will be thoroughly considered.
General The course will introduce students to the fundamental economic concepts and
Objective principles.
Specific This course is aimed at:
Objectives of  Describing the major economic agents and their respective roles and objectives,
the Course
 Introducing the concepts of demand and supply and their interactions.
 Introducing students to the neoclassical theory of consumer preferences and utility
maximization approaches,
 Discuss short- run behavior of production and the related cost structure,
 Introduce the different market structures and their real-world applications, and
 Equipping students with macroeconomic goals, national income accounting,
economic problems and policy instruments in light Ethiopian context.
Expected After completing introduction to economics, students will be able to:
Learning  Describe the major economic agents and their corresponding roles and objectives;
Outcomes  Understand the concepts of demand and supply and their interactions;
 Explain the objective functions of consumers and producers’ behaviour in the
short run,
 Differentiate the various types of market structures,
 Understand the fundamental macroeconomic concepts, problems and policy
instruments in the context of Ethiopia.
Units and content
Lecture Topic & Sub Topics of the Course
Chapter One: Introduction
6 Hours 1. Introduction
1.1. Definition and Meaning of Economics
1.2. Rationale of Economics
1.3. Scope and methods of economic analysis
1.3.1. Micro and macro economics
1.3.2. Positive and normative economics
1.3.3. Inductive and deductive reasoning in economics.
1.4. Scarcity, choice, opportunity cost and production possibilities frontier
1.5. Basic economic questions,
1.6. Economic systems
1.7. Decision making units and the circular flow model
Chapter Two: Theory of Demand and Supply
8 Hours 2. Theory of Demand and Supply
2.1. Theory of Demand
2.1.1. Demand function, demand schedule and demand curve

54
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.1.2. Determinants of Demand 2.1.3. Elasticity of Demand


2.2. Theory of Supply
2.2.1. Supply function, supply schedule and supply curve
2.2.2. Determinants of supply 2.2.3. Elasticity of supply
2.3. Market equilibrium
Chapter Three: Theory of Consumers’ Behavior
9 Hours 3. Theory of Consumers’ Behavior
3.1. Consumer preferences
3.2. The concept of utility
3.3. Approaches of measuring Utility
3.3.1. The cardinal utility approaches
3.3.1.1. Assumptions of cardinal utility theory
3.3.1.2. Total and marginal utility
3.3.1.3. Law of diminishing marginal utility (LDMU)
3.3.1.4. Equilibrium of the consumer
3.3.2. The ordinal utility approaches
3.3.2.1. Assumptions of ordinal utility approach
3.3.2.2. Indifference curve and map
3.3.2.3. Properties of indifference curves
3.3.2.4. The marginal rate of substitution (MRS)
3.3.2.5. The budget line or the price line
3.3.2.6. Equilibrium of the consumer
Chapter Four : The Theory of Production and Costs
8 Hours 4. Theory of Production and Costs
4.1. Theory of production in the short run
4.1.1. Definition of production 4.1.2. Production function
4.1.3. Total, average, marginal product
4.1.4. The law of variable proportions 4.1.5. Stages of production
4.2. Theory of costs in the short run
4.2.1. Definition and types of costs
4.2.2. Total, average, marginal costs in the short run
4.2.3. Relationship between short-run production and cost curves
Chapter Five: Market structure
6 Hours 5. Market structure
5.1. The concept of market in physical and digital space
5.2. Perfectly Competitive market
5.2.1. Assumptions 5.2.2. Short run equilibrium of the firm
5.2.3. Short run equilibrium of the industry
5.3. Monopoly market
5.3.1. Definition and Characteristics 5.3.2. Sources of Monopoly

55
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

5.4. Monopolistically competitive market


5.4.1. Definition and characteristics
5.5. Oligopolistic market
5.5.1. Definition and characteristics
Chapter Six: Fundamentals of macroeconomics (with stylized facts from Ethiopia)
11 Hours 6. Fundamentals of macroeconomics
6.1. Goals of Macroeconomics
6.2. The National Income Accounting
6.2.1. Approaches to measure national income (GDP)
6.2.2. Other income accounts (GNP, NNP, NI, PI and DI)
6.3. Nominal versus Real GDP
6.4. The GDP deflator and the Consumer Price Index(CPI)
6.5. The Business Cycle
6.6. Macroeconomic Problems
6.6.1. Unemployment 6.6.2. Inflation
6.6.3. Trade deficit and budget deficit
6.7. Macroeconomic Policy Instruments
6.7.1. Monetary policy 6.7.2. Fiscal policy
Course The course will involve deploying different teaching methods that attempt to make the
teaching teaching learning process as effective as possible. For most part of the course, delivery
methodology method will be arranged as to make the process student-centered. There shall be full
and active participation
from students and they are strongly encouraged to ask questions, to reflect on brain-
storming queries, and be involved actively and attentively in take-home assignments
and peer discussions that appear during the semester both within and outside class-
room sessions.
While there is no limit to the imagination and flexibility of the instructor, the course
delivery
techniques will generally involve the following items:
 Lecture
 Brain-storming sessions
 Group discussions
 Individual and group assignments
Assessment As per the academic regulation
Course policy o Attendance: it is compulsory to come to class on time and every time. If students
are going to miss 85% of the class during the term, they shall not be allowed to
sit the final exam,
o Assignments: students must do their individual and group assignments and
submit on time. Assignments shall be submitted on or before the due date as
specified by the instructor,
o Tests/Quizzes: instructors should give short quizzes and tests as appropriate.

56
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

o Cheating: students must do their own work and should not copy answers from
someone else.
o Acts and mannerisms: When students are in class, they are strictly forbidden
from chewing gum, consuming any addictive substances, listening to recorders
or CD players, or being involved in acts that interrupt the normal teaching-
learning process. Besides, students are required to switch off their cell phones
before class and exam sessions. Students who attempt to disobey these rules and
regulations will be subject to disciplinary measures accordingly to the Senate
Legislations of the University.
Commitments o Preparedness: students must come to class prepared by bringing the appropriate
of instructor & materials like handouts, worksheets, exercises given, text books and assignments.
students Students must plan their own learning through reading various course related
materials and chapters in books. They are expected to work a lot individually to
meet the requirement of the course. They have to use their time for group work
and home study effectively.
o Participation: students are expected make active participation during class
sessions.
o Coordination: instructors shall play a pivotal role in facilitating the teaching and
learning processes both in the class room and outside the class rooms.
Readings and 1. A. Koutsoyiannis, Modern Microeconomics
texts 2. D.N.Dwivedi, 1997, Micro Economic Theory, 3rd edition., Vikas Publishing
3. R.S. Pindyck& D.L. Rubinfeld, Microeconomics.
4. Hal R. Varian, Intermediate Microeconomics: A Modern Approach, 6th edition.
5. C.L.Cole, Micro Economics: A Contemporary Approach.
6. Ferguson & Gould’s, 1989, Microeconomic Theory, 6th edition.
7. N. Gregory Mankiw, 2007, Macroeconomics, 4th edition.
8. P. Aghion and P. Howitt ,2009, The Economics of Growth, The MIT Press. 9. A.
B. Abel and B.S. Bernanke, 2017, Macroeconomics, 9th edition, Pearson.
10. Ayele Kuris, Introduction to Economics, 2001.
11. Begg, Fisher &Dornbusch, 2005, Macroeconomics, 8th Ed.
12. Liberman, Marc and Hill, Robert E, 2005, Introduction to Economics 2nd Ed.
13. Richard E. Carmichael, 2006, Economics for Everyone: An introduction to
Economics.

Course Title Entrepreneurship and Business Development


Module Title Common and Supportive Courses
Module Number 01 Course Number: MgMt4011
CP 5

57
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Lecture Discussion Group Home Assessment Total Number


Information with peer Project and Study/Self of Hours Per
& Individual Study semester
Instructors assignment
48 30 15 40 25 158
Mode of Delivery Semester wise
Course Description This interdisciplinary course is designed to introduce students the meaning and
concept of entrepreneurship, creativity, innovation and their manageable
processes that can be applied across careers and work settings. It focuses on
building entrepreneurial attitude and behavior that will lead to creative solution
within community and organizational environments. The Course topics include
the history of entrepreneurship, the role of entrepreneurs in the globalized
economy and the identification of entrepreneurial opportunities. The
development of a business ideas, products and services, marketing and
developing new ventures, the examination of feasibility studies and the social
and ethical implications of entrepreneurship are incorporated. Besides, issues
related to starting and financing a new venture are included. Finally, managing
growth, transition and sustainability of the venture are considered. And forms
of business organizations, legal and regulatory frameworks of governing the
whole system are also encompassed in the course syllabus.
Course Objectives Upon the completion of this course, students will be able to:
 Define entrepreneurship within the context of society
 Identify business opportunities
 Prepare business plan
 Distinguish forms of business ownership
 Comprehend intellectual property rights in business practices
 Define basic marketing concepts
 Formulate context-based marketing strategies
 Identify and evaluate sources of financing new ventures
 Manage business growth and transition
 Practice ethical business with all stakeholders
Expected Learning The expected learning outcomes of this course are to produce innovative,
Outcomes creative, entrepreneurial team players, ethical and calculated risk-taking
students who can run their own businesses efficiently and effectively.
Course As the intension of the course entrepreneurship is preparing University students
Competence for self-employment, the curriculum is designed focusing on changing the
behavior of students. It is designed in such a way that graduates will be more of
“job creators than job seekers”. Much should be done on the behavioral aspects
than the technical aspects of entrepreneurship. Students are expected to develop
the basic competencies that successful entrepreneurs should possess.

58
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Contents
Week Topics and subtopics Course Objectives and Competences to
be Acquired
Week Chapter The Nature of Entrepreneurship After completing this chapter, students
1&2 1 1.1. Definition and philosophy of will be able to:
Entrepreneurship Vs  Define the term entrepreneurship and
Entrepreneurs entrepreneur
1.1.1. Historical origin of  Identify types of entrepreneur
entrepreneurship  Recognize the role of
1.2. Type of Entrepreneurs entrepreneurship in the economy
1.3. Role within the economy 1.4.  Analyze the entrepreneurial
Entrepreneurial Competence and competences
Environment  Differentiate the term creativity and
1.4.1. Entrepreneurial Mindset innovation
1.4.2. Demographic Factors
1.4.3. Entrepreneurial
Environment
1.5. Entrepreneurship, creativity
and innovation
Activities
Teacher Activity Student Activity
 Introducing objectives to the  Define the term entrepreneurship and
students entrepreneur
 Asking brain storming  Discuss the role of entrepreneurship
questions within the economy
 Giving brief introduction to  Explain the entrepreneurial
the sub topics competences
 Giving class room and home-
based works
 Checking, evaluating, and
giving feedback to student’s
work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group discussion and
reflection
Assessment As per the academic regulation
Week Chapter Business Planning Course Objectives and Competences to
3,4&5 2 be Acquired
2.1. Opportunity Identification and After completing this chapter, students
Evaluation will be able to:
2.2. Business Idea Development  Identify opportunity in the
2.2.1 Business Idea Identification environment

59
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.2.2 Sources of Business Ideas  Evaluate the opportunities in the


2.2.3 Methods for generating environment
Business Ideas  Generate business idea
2.3. The Concept of Business  Explain the concept of business
Planning planning
2.4. Business Feasibility  Identify components of business
2.5. The Business plans plan
2.6. Developing a business plan  Develop business plan
Activities
Teacher Activity Student Activity
 Introducing objectives to the  Discuss business opportunities in the
students environment
 Asking brain storming  Generate business idea
questions
 Synthesize the components of
 Giving brief introduction to the
sub topics business plan
 Giving class room and home-  Develop business plan
based works
 Checking, evaluating, and
giving feedback to student’s
work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group discussion and
reflection
Assessment As per the academic regulation
Week Chapter Business Formation Course Objectives and Competences to
6&8 3 be Acquired
3.1. The Concept of Business After completing this chapter, students
Development will be able to:
3.2. Forms of Business (a short  Explain the concept of business
explanation) development
3.3. Definition and Importance of  Identify the forms of business
SMEs ownership
3.4. Setting up small scale  Define SMEs
business 3.5 Roles of SMEs  Analyze the importance of SMEs
3.6. Business failure and success  Set Up small scale business
factors.  List role of SMEs
3.6.1 Problems of small-scale  Distinguish the failure and success
business in Ethiopia factors of SMEs
3.7 Organizational structure and  Identify the problem of small-scale
entrepreneurial team formation business in Ethiopia
 Develop organizational culture

60
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Activities
Teaching Activity Student Activity
 Introducing objectives to the  Discuss the concept of business
students development
 Asking brain storming  Brainstorm the importance of SMEs
questions  Discuss the failure and success factors
 Giving brief introduction to of SMEs
the sub topics
 Giving class room and home
based works
 Checking, evaluating, and
giving feedback to student’s
work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group discussion and
reflection
Assessment As per the academic regulation
Week Chapter Product or Services Course Objectives and Competences to
8&9 4 Development be Acquired
4.1. The Concept of product or After completing this chapter, students
service technology will be able to:
4.2. Product or service  Describe the concept of product and
development Process services
4.3 Legal and regulatory  List product or service development
frameworks process
4.4 Intellectual Property  Discuss the intellectual property
Protection/Product or service protection
protection
4.4.1 Patent 4.4.2 Trademarks
4.4.3 Copyrighting
Activities
Teacher Activity Student Activity
 Introducing objectives to the  Describe the concept of product and
students services
 Asking brain storming  Analyze Product or service process
questions  Recognize legal and regulatory
 Giving brief introduction to the
sub topics frameworks
 Giving class room and home  Describe intellectual property
based works protection
 Checking, evaluating, and
giving feedback to student’s
work

61
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Summarizing the chapter


Delivery Methods Interactive Lecture, group discussion and
reflection
Week Chapter Marketing Course Objectives and Competences to
11&12 5 be Acquired
5.1. The Concept and philosophy After completing this chapter, students
of marketing will be able to:
5.2. Marketing Mix and Strategies  Define marketing
5.3 Marketing Information System  Identify Marketing mix and strategies
5.3.1 Marketing intelligence  Analyze components of marketing
5.3.2 Marketing research information system
5.5. Competitive analysis  Explain competitive environment
5.6 Selling and Customer Service  Describe customer service and selling
process
Activity
Teaching Activity Student Activity
 Introducing objectives to the  Define marketing concept
students  Discuss marketing mix strategies
 Asking brain storming
questions  Differentiate components of
 Giving brief introduction to the marketing information system
sub topics  Explain competitive environment
 Giving class room and home
based works
 Checking, evaluating, and
giving feedback to student’s
work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group discussion and
reflection
Assessment As per the academic regulation
Week Chapter Financing the new venture Course Objectives and Competences to
13&14 6 be Acquired
6.1 Overview of Business After completing this chapter, students
Financing will be able to:
6.2 Source of financing  Know business financing Identify
6.2.1 Equity financing the sources of finance
6.2.2 Debt financing  Understand with traditional financing
6.2.2.1 Trade credit techniques
6.2.2.2 Lease financing  Familiarize with crowd funding

62
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

6.3 Traditional Financing  Know Ethiopian micro finance system


(Equip/Eder, etc.)
6.4 Crowd Funding
6.5 Micro finance in Ethiopia
Activity
Teaching Activity Student Activity
 Introducing objectives to the  Discuss business financing
students  Identify the sources of finance
 Asking brain storming  Explore traditional financing
questions techniques
 Giving brief introduction to the  Aware about crowd funding
sub topics  Examine Ethiopian micro finance
 Giving class room and home system
based works
 Checking, evaluating, and
giving feedback to student’s
work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group discussion and
reflection
Week Chapter Managing Growth and Course Objectives and Competences to
15&16 7 Transition be Acquired

7.1. Managing business growth After completing this chapter, students


7.2. New venture expansion will be able to:
strategies  Know how to manage business growth
7.3. Business Ethics and Social  Understand business expansion
Responsibility strategies
 Know & Internalize business ethics &
social responsibilities
Activity
Teacher Activity Student Activity

63
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Introducing objectives to the  Discuss business growth & its


students management
 Asking brain storming  Identify new venture expansion
questions strategies
 Giving brief introduction to the  Examine business ethics & social
sub topics responsibility issues
 Giving class room and home
based works
 Checking, evaluating, and
giving feedback to student’s
work
 Summarizing the chapter
Delivery Methods Lecture, group discussion and reflection ,
Discussion with Real World Entrepreneurs
Course Teaching Listen to a lecture and take notes on the lesson treated, take part in reading
Learning Methods assignment, Group Discussion, Individual reflection, Debate among groups,
Case study discussion and analysis, Assignment presentation
Assessment Methods As per the university academic regulation (Quiz, Test, Individual Assignment,
Business Plan Preparation, Presentation, Final Exam,)
Commitment of Preparedness: You must come to class prepared by bringing with you the
Instructors and appropriate materials like handouts, worksheets and exercises given, text books
Learners and completed assignments. Complete the individual and group assignments
and other activities on time. You must plan your own learning through reading
various course related materials and chapters in books. You are expected to
work much individually to meet the requirement of the course. You have to use
your time for group work and home study effectively.
Participation: Make active participation during discussions (you must
participate in class). You are not participating if you are simply talking to a
friend, doing homework, daydreaming, or not doing what the rest of the class is
doing. If you are working in a group or with a partner, you must talk to your
group members or partner and be a part of the group. Always be ready and
willing to give constructive feedback to partners’/group members and to listen
to their comments on your work
Medium: Use only English, which is the medium of instruction, especially in
the class room
Policy of University Attendance: It is compulsory to come to class on time and every time. If
learners are going to 85% during the term, they should not take this course
Assignments: Learners must do their individual and group projects and submit
on time. Any assignments will be submitted on and before the specified
deadline.

64
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Tests/Quizzes: Learners have short quizzes and tests almost every unit. If they
miss the class or, are late for class, they will miss the quiz or test and no makeup
test or quizzes will be given for late arrivals. Therefore, learners are expected to
comply with the rules and the regulations of the University as well.
Cheating: Learners must do their own work and not copy and get answers from
someone else. When learners are in class, there are strictly forbidden from
chewing gum, consuming any addictive substances, listening to recorders or CD
players, or being involved in acts that interrupt the normal teaching-learning
process. Besides, learners are required to switch off their cell phones before
class and exam sessions. Learners who attempt to disobey these rules and
regulations will be subject to disciplinary measures accordingly to the Senate
Legislations of the University.
Reference & Texts Recommended Text book
Hirsh Robert. and D. and Peters MichaelP. “Entrepreneurship” Fifth Edition,
Tata McGraw Hill Edition, 2002.
Further References
 Justin G. Longenecker and Carlos W. Moore, Small Business
Management 12th edition, College Division South Western Publishing
Co. Dallas, 2003
 Holt David H. “Entrepreneurship – New venture Creation “Eastern
Economy Edition, 2000.
 DonaldF.Kutatko and RichardM.Hodgetts, “Entrepreneurship: A
Cotemporary Approach” Fourth Edition.
 HailayGebretinsae, Entrepreneurship and Small Business Management,
2nd Edition.
 Hodgetts, RichardM.Kurakto, DonaldF. “Entrepreneurship: A
contemporary approach “. Fourth Edition, the Dryden Press, 1998.

Course Title Inclusiveness


Module Title Common and Supportive Courses
Module Number 01 Course Number: Incl2012
CP 4
Study Hour Lecture:2 Laboratory: Tutorial:2 H/ Study:4
Mode of Delivery Semester wise
Course Description Development efforts of any organization need to include and benefit people with
various types of disabilities, people at risks of exclusion/discrimination and
marginalization, through providing quality education and training, creating
equity, accessibility, employability, promoting prosperity, reducing poverty and

65
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

enhancing peace, stability and creating inclusive society. Unfortunately, this has
not been the practice for the majority of people with disabilities and vulnerable
groups, due to unfavorable attitude, negligence, inaccessibility and exclusion
from all development endeavors. It is obvious that people with disabilities are
the large stand most disadvantaged minority in the world. They are about 15
percent of the global population (about one billion people), and 17.6 million in
Ethiopia, with most extended families including someone with a disability
(World Health Organization and World Bank and 2011). An exclusion practice
of this large number of persons with disabilities in Ethiopia is an indicator of
violating fundamental human rights that undermines their potential/ability to
contribute to poverty reduction and economic growth within their household,
their community and the country. It is clear that it is not impairment, but, the
exclusion practices that has contributed for insecurity (conflict), poverty
aggravation for persons with disabilities and vulnerabilities, that has highly
demanding inclusive practices. Exclusion practices of persons with disabilities
have a long history, affecting the life of people with disabilities and the society
at large. In the past and even today people have been discriminated due to their
disabilities.
Inclusiveness promotes effective developments through full participation of all
members of a population, people with disabilities and vulnerabilities, where all
are equal contributors of development and equitable beneficiaries. Through
inclusive practices, it is possible to identify and remove social and physical
barriers so that people with disabilities and vulnerabilities can participate and
benefit from all developments. Genuine inclusion of people with disabilities and
vulnerabilities allow of them to actively participate in development processes
and eliminate dependence syndrome, leads to broader benefits for families and
communities, reduces the impacts of poverty, and positively contributes to a
country ‘s economic growth, development and ultimately create inclusive
society. All stages of development processes of any organization should be
inclusive through creating equal access to education, health care services, work
and employment, social protection and all development center of human being.
Hence, in this course, the higher education students will learn how to assess,
understand and address the needs of persons with disabilities and vulnerabilities;
and provide relevant support or seek extra support from experts. He/she also
learns how to adapt and implementing services for an inclusive environment
that aimed to develop holistic development such as affective, cognitive and
psychosocial skills of the population with disabilities and vulnerabilities.
Identification and removal/management of environmental barriers would find a
crucial place in the course. The students learn how to give more attention and
support for persons with; hearing impairments, visual impairment, Deaf-Blind,

66
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

autism, physical and health impairments, intellectually challenged, emotional


and behavior disorders, learning difficulty, communication disorders,
vulnerable persons including gifted and talented, and those at risk due to
different reason (persons who are environmentally and culturally deprived,
abused, torched, abandoned, and orphaned. Etc.). All University students should
be given the chance to study the specific developmental characteristics of each
group of persons with disabilities and vulnerabilities. Furth more, they also
identify the major environmental and social barriers that hinder the development
of individuals; and come up with appropriate intervention strategies in inclusive
settings of their respective professional environment and any development
settings where all citizens are equally benefited.
Course Objective The objective of this course is to develop knowledge, skill and attitude of the
and Expected learners so that they can provide appropriate services, the tools and strategies
Learning Outcomes that help to create a convenient inclusive environment. This course encourages
learners exploring the benefits of collaborating with colleagues to design and
implement inclusion an all sphere of life. It also guides the discovery of ways to
modify environment as well as services and practices to meet the needs of all
persons with disabilities and vulnerabilities in inclusive environment. As a
result of reviewing various reading materials, completing the assignments,
engaging in related discussions, and strongly workings on activities, towards the
completion of the course, the students will be able to:
 Identify the needs and potentials of persons with disabilities and
vulnerabilities.
 Identify environmental and social barriers that hinder the needs,
potentials and full participations, in all aspects of life of person’s
disabilities and vulnerabilities
 Demonstrate desirable inclusive attitude towards all persons with
disabilities and vulnerabilities in full participations
 Apply various assessment strategies for service provisions for evidence-
based planning and implementation to meet the needs of persons with
disabilities and vulnerabilities
 Adapt environments and services according to the need and potential of
the persons with disabilities and vulnerabilities
 Utilize appropriate assistive technology and other support mechanisms
that address the needs of persons with disabilities and vulnerabilities
 Respect and advocate for the right of persons with disabilities and
vulnerabilities
 Collaboratively work with special needs experts and significant others
for the life success of all persons with disabilities and vulnerabilities in
every endeavors and in all environments.

67
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Create and maintain successful inclusive environment for persons with


disabilities and vulnerabilities
 Promote the process of building inclusive society
Course Contents
Topics Time allotted
Chapter 1: Understanding Disabilities and Vulnerabilities 10 hours
1.1 Definitions of disability and vulnerability
1.2 Types of disabilities and vulnerabilities
1.3 Causes of disability and vulnerability
1.4 Historical movements from segregation to inclusion
1.5 The effects of attitude on the move towards inclusion
1.6 Models of disability
Chapter 2: Concept of Inclusion
Chapter 3: Identification and Differentiated services
Chapter 4: Promoting Inclusive Culture 5 Hours
Chapter 5: Inclusion for Peace, Democracy and Development
Chapter 6: Legal frame work
Chapter 7: Resources Management for Inclusion
Chapter 8: Collaborative (Cooperative) Partnerships with 5 Hours
stakeholders
Approach/Methods/ This section is flexible to involve the instructor ‘s creativity in identifying
Strategies of learning selecting and adapting the instructional method to the context of the learner.
and Teaching Some general approaches are listed below. The instructor can select among this
and add his own that he/she feels appropriate.
Approach/Methods/ This section is flexible to involve the instructor ‘s creativity in identifying
Strategies selecting and adapting the instructional method to the context of the learner.
Some general approaches are listed below. The instructor can select among this
and add his own that he/she feels appropriate.
 Interactive lectures
 Cooperative learning
 Brainstorming
 Discussion
 Role play
 Independent/Self learning
 Field visits
 Individual and group assignments and presentation
 Seminars
 Individual and group presentations
 Special needs/inclusive education expert consultancy
Assessment As per the academic regulation

68
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Policy Responsibilities of Instructors:


Profile of instructors in this course must be the right professional in Special
needs/inclusive education. In order to produce quality teachers, this course
should be offered only instructor, MEd/MA or PhD in special needs/inclusive
education. To meet the learning outcome aforementioned and enhance teachers
‘quality, the special needs/inclusive education instructors will have the
following major responsibilities.
 Advise students on all the aspects of the course
 Provide the students with the syllabus and other materials well ahead of
the delivery of it
 Conduct the interactive lectures as per the plan
 Facilitate students ‘individual assignments, group assignments, field
works, practicum, seminars, presentations, and collaborative learning
 Periodically assess the students ‘work Provide the students with timely
feedbacks on their graded and ungraded academic works
 Follow on students ‘progress and communicate to the students
 Keep student records on the whole work of the students
 Design and execute students ‘consultation program
Responsibilities of Students:
This course is designed for would teachers after completion of Bachelor degree
in various fields. For successful completion of this course the teacher candidates
would have the following responsibilities
 Students are expected to actively and fully attend as per the university
legislation and participate all the in class and outclass learning activities.
Missing a single class will cost students 2 points.
 Carry out individual assignments, group assignments, field works,
practicum as per the details and deadlines
 Students are expected to read given materials before class
 Students are expected to read selected books and ten articles
 Actively participate in the planning, organizing and conducting of all the
seminars and presentations
 Reflect on feedbacks and initiate actions on them
 Passing the exams successfully
References

Course Title Global Trends


Module Title Common and Supportive Courses
Module 01 Course Number: GiTr1012
Number
CP 4

69
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Student Lecture Tutorial 2 Library Assign. Home Total W. L.


Work Load 2 and Group Report Study 4
Work
48hrs. 08hrs. 20hrs. 17hrs. 50hrs. 143hrs.
Mode of Semester wise
Delivery
The course is designed to familiarize learners on the nature and development of
international relations and global issues. It deals with nations, states, national interest,
cooperation and conflict among states, and the role of state and non-state actors in the
international system. Additionally, it explains the nature of international law, global
political economy and the nexus between regionalism and globalization. It also
critically examines the contemporary global issues and how the international
Course Description

community is trying to address them. It is organized to systematically examine


international issues by employing different theories and providing concrete examples
from different parts of the world. Last but not least, after providing rigorous
understanding of how the international system functions, it will equip learners to
consciously observe and critically understand the Ethiopia’s Relations with the outside
world. As the saying goes “Think globally act locally!”
We live in an exciting yet challenging period in history. The world seems to
dominantly progress in constantly opposing directions. On the one hand, because of
globalization, the world is getting closer and becoming interconnected in ways never
experienced before generating more wealth, scientific innovation, and cross-national
cooperation. On the other hand, the challenges of war, terror, arms trade, money
laundering, disease, poverty, environmental problems, human and drug trafficking
still generate an aura of uncertainty for the present and future generations. As such,
decisions made by states, multinational corporations, non-governmental
organizations, and terrorists have a direct impact on our life. Thanks to global flow of
information, there may be a multitude of individuals who know the events that are
occurring in the world. But some still do not understand why events happened the way
Course Purpose

they have happened; and what consequences they may bring. In light of this, this
course is designed to equip students with a necessary knowledge and skill which
enable them to understand the political, economic and social dynamics of the global
system, how it works, its actors, its influence and ways to cope up global issues from
theoretical and practical point of view.

70
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

At the end of the course, students will be able to:


Course Objectives and Expected Learning
 Understand nations, nationalism and states
 Explain the nature and historical development of international relations
 Gain basic knowledge of the major theories in the discipline of International
Relations and develop the ability to critically evaluate and apply such theories
 Elucidate national interest, foreign policy and diplomacy
 Explicate the nature and elements of international political economy and
international law
 Examine the extent and degree of influence of state and non-state actors in the
international system
 Examine the roles major international and regional institutions play in world
politics
 Critically evaluate the major contemporary global issues
Outcomes

 Assess the overriding foreign policy guidelines of Ethiopia in the past and
present
 Explore Ethiopia’s role in regional, continental and global institutions and affairs
COURSE CONTENTS AND SCHEDULES
Contact Chapters, Sections and Sub-sections
Hours
Chapter One: Understanding International Relations
1.1 Conceptualizing Nations, Nationalism and States
1.2 The Nature and Evolution of International Relations
1.3 Actors of International Relations - State Actors - Non-State Actors
06 Hours

1.4 Levels of Analysis in the International Relations


1.5 Power, Anarchy and Sovereignty in the International System
1.6 The Structure of International System
Chapter Two: Contending Theories of International Relations
2.1 Realism and Neo-Realism
2.2 Liberalism and Neo-Liberalism
2.3 Marxism and Neo-Marxism
06 Hours

2.4 Critical Theory


2.5. Constructivism
2..6. Modernism and Post-Modernism
Chapter Three: Foreign Policy and Diplomacy
3.1 Conceptualizing National Interest, Foreign Policy and Diplomacy
3.2 National Interest and Foreign Policy
08 Hours

- Determinants of National Interest and Foreign Policy


- Objectives of Foreign Policy
- Foreign Policy Orientations

71
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

- Instruments of Foreign Policy


3.3 A Survey of Foreign Policy and Diplomacy of Ethiopia
- Foreign Policy of Ethiopia during the Reign of Emperor Manila II
- Foreign Policy of Ethiopia during the Reign of Emperor Hailesillassie
- Foreign Policy of Ethiopia during the Derg Regime
- Foreign Policy of Ethiopia during the EPRDF
Chapter Four: The International Political Economy (IPE)
4.1. Meaning and Nature of IPE
- The Nexus between Politics (State) and Economics (Market)
4.2. Theoretical Perspectives on IPE
- Classical Mercantilism and Economic Nationalism
- Classical Liberalism and Adam Smith
- Comparative Advantage and David Ricardo
- Neoliberalism and Keynesianism
- Marxism and Dependency Theory
08 Hours

- Hegemonic Stability Theory


- Developmental State Model
4.3. The Political Economy of North-South, South-South: Conflict and Cooperation
Chapter Five: International Law
5.1 Meaning, Nature and Areas of International Law
08 Hours

5.2 Sources and Subjects of International Law


5.3 Law Making and Enforcement process at International and Domestic level
5.4 Formation, Recognition and Responsibility of State under International Law
Chapter Six: Regionalism and Globalization
6.1. The Concept, Nature and Development of Regionalism and Regional Integration
- The Old and New Regionalism
6.2. Major Theories of the Regional Integrations
- Functionalism
- Neo-functionalism
- Inter- govern mentalism
- Supra-nationalism - Selected Cases of Regional Integration (EU, AU...)
6.3. Definition and Evolution of Globalization
- Aspects of Globalization
- Actors of Globalization
- Pros and Cons of Globalization
- Ethiopia in a globalized World
6.4. Regionalization versus Globalization and State
06 Hours

- The Convergence, Divergence and Overlapping relations of Regionalization and


Globalization
- The Hypocrisy of Sovereignty

72
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Chapter Seven: Major Contemporary Global Issues


7.1 Conceptualizing Global Issues
7.2 Survey of Global Issues
- Security Issues
 Terrorism, Religious Fundamentalism and political Extremism
 Weapons of Mass Destruction and The Nuclear Power paradox
 Illicit Human Trafficking, Drug Trafficking, Firearms Trafficking
- Environmental Issues
 Climate Change and Global warming
- Technology Related Issues
 Cyber Crime and Cyber Security
- Other Social, Economic and Political Issues
 Human Rights
06 Hours

 Migration and Refugee


 Trade War
 Aid, Debt Relief
Teaching Lectures, Group discussions, debates & Reflections
Methodology
Assessment As per the academic regulation.
Instructor’s The course instructor is expected to provide timely lectures, demonstrate students to
Commitments understand and analyze the issues pertaining to central theme of the course, suggest
available reading materials, and evaluate students’ performance regularly.
Course Policy Meaningful participation during class, group work and presentation is important for
the success of this course. Since each class builds on the one before it, attendance is
mandatory.
Academic The department expects from its students a high level of responsibility and academic
Integrity honesty. Because the value of an academic degree depends upon the absolute integrity
of the work done by the student for that degree, it is imperative that a student
demonstrate a high standard of individual honor in his or her scholastic work. If you
cheat on an exam you will receive a failing grade, and most likely will be dropped
from the class. Academic dishonesty of any type by a student provides grounds for
disciplinary action by the instructor or department. In written work, no material may
be copied from another. The work that you submit must be your own, for both moral
and legal reasons.
Recommended Altinay, Hakan (2011) Global Civics: Responsibilities and Rights in an
Reading Interdependent World. The Brookings institution: Washington
Materials Armstrong, David(ed.) (2009). Routledge Handbook of International Law. London:
Routledge
Bayles, J. and Smith, S. (eds.) (1997). The Globalization of World Politics. Oxford:
Oxford University Press.

73
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Browlie, Ian (2003). Principles of Public International Law. (6th ed.). New York:
Oxford University
Copson, Raymond w. (2007) The United States in Africa: Bush policy and beyond in
association with International African Institute Royal African Society of Social
Science Research Council, Zed Books: London
Crane, George T. and Abal Amawi (1997). The Theoretical evolution of International
Political Economy: A Reader (2nd Edition). Oxford University Press: New York.
Crawford, Robert (2000) Idealism and Realism in International Relations: Beyond the
Discipline. Routledge: USA
DeLombaerde, Philippe(ed.) (2008) Governing Regional Integration for
Development: Monitoring Experiences, Methods and Prospects. As hgate Publishing
Company: England
Demelo, Jaime and Arvind Panagariy(eds.) (1993)ANew Dimensions in Regional
Integration, Centre forEconomic PolicyResearch 1993, Cambridge University
Press:USA
Demelo, Jaime and ArvindPanagariy(eds.)(1993)ANew Dimensionsin Regional
Integration, Centre forEconomic PolicyResearch 1993, Cambridge University,
Press:USA
Der, James D. (2009) Critical Practices in International Theory: Selected
Essays,Routledg, Abingdon, Oxon Farrell,Mary(ed.)
(2005)GlobalPoliticsofRegionalism:Theoryand Practice. Pluto Press: London Genest,
Mark A. (1996). Conflict and Cooperation: Evolving Theories of International
Relations. Fourth Worth: Harcourt Brace and Co. Goldestein, Joshua S. and John C.
Pevhouse (2006). International Relations brief 3rd ed. PrisscillaMcGreehon.
Goldstein J. S. (2003) International Relations. 5th edition. Washington, D.C. Pearson
Education Press, Inc Griffiths, Martin (Ed.) (2007). International Relations Theory for
the Twenty-First Century:An introduction. New York: Routledge Griffiths, Martin
and Terry O’Callaghan (2002) InternationalRelations: The Key Concepts. Routledge:
London Griffiths, Martin, et al. (2008). International Relations: The Key Concepts
(Second Edition). New York: Routledge Griffiths, Martin, Steven C. and M. Scott
(2009), Fifty Key Thinkers in International Relations (2nd edition) Hancock,
KathleenJ.(2009)RegionalIntegration;ChoosingPlutocracy,
PalgraveMacmillan:United States Henderson, Conway W.(1998) International
Relations: Conflict and Cooperation at the Turn of the 21 st Century. Guilford:
McGraw-Hall. Hollis, Martin and Steve Smith (1990) Explaining and Understanding
International Relations. United States: Oxford University Press. Holsti, K.J. (1995)
International Politics: A Framework for Analysis. 7th ed. New Jersey:Prentice Hall.
J.M. Biswaro. (2012) The Quest for Regional Integration in the Twenty First Century:
Rhetoric versus Reality - A Comparative Study, MkukinaNyota Publishers Ltd, Dar
es Salaam: Tanzania Macdonald, David B.et.al (ed.)(2007)The Ethics of Foreign

74
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Policy. Ashgate Publishing Limited: England Malm, Endreas and ShoraEsmailian


(2007). Iran on the Brink Rising Workers and Threats of War. Pluto Press
Mintz, Alex and Karl De Rouen (2010) Understanding Foreign Policy Decision
Making, Cambridge University Pres: Cambridge Rengger,N.J.(2000) International
Relations,Political Theory and theProblem of Order: Beyond International Relations
theory?Routledge: London Rourke, John T. and Mark A. Boyer (1998). World
Politics: International Politics on the world Stag., brief. 2nd ed. Guilford:
Dushkin/McGraw-Hall.
Salmon, Trevor C. (Ed.) (2005). Issues in International Relations. New York:
Routledge
Steans, Jill and LloyndPettiford (2005). Introduction to International relations:
Perspectives and Themes. 2nd ed. Harlow: Pearson Prentice Hall.
Sutch , Peter and Juanita Elias (2007 ) International Relations, the basics. Taylor &
Francis.
Todaro, Michael P. and Stephen Smith (2003).Economic Development (8thed).
Trevor S. Salmon and Mark F. Imber (ed) (2008). Issues in International Relations.
Routledge Publishing, 2nd Edition
Vinay Bhargava (2006). Introduction to Global Issues.
Walts, Kenneth N. (2003) Progress in International Relations Theory. Belfer Center
for Science and International Affairs John F. Kennedy School of Government,
Harvard University Cambridge, Massachusetts
Weber,Cynthia (2001) International Relations Theory: A Critical Introduction(2nd
edition) Routledge: London

Course Title History of Ethiopia and the Horn


Module Title Common and Supportive Courses
Module 01 Course Number: Hist1012
Number
CP 5
Student Work Lecture:3 Tutorial:0 Laboratory:0 Home Study:7
Load
Mode of Semester wise
Delivery
Course This course is a common course given to Higher Learning Institutions Students/HLIS.
Description Students will learn about the role of history in human life and goals of studying
history. Students will also learn the importance of history in nation building and the
making of identity in time and space. This course covers the major historical processes
in Ethiopia and the Horn. The course is also concerned with how the sociocultural,
religious, economic and political experiences of the past are interwoven in the making
of the current Ethiopia and the Horn. It is useful to know how personalities helped

75
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

change the scenario, and how societies, peoples and the world that we live in have
changed over time and its implication for history of Ethiopia and the Horn. It is helpful
to understand history as a base for shaping and bettering of the future.
Course The general objective of the course is to acquaint students with historical processes in
Objectives Ethiopia.
Specifically, after completing the course, students will be able to:
 distinguish meaning, nature and uses of history
 identify pertinent sources for the history of the peoples of Ethiopia and the Horn
 describe changes & continuities that unfolded in Ethiopia and the Horn
 elucidate the causes, courses and consequences of events happened in the region
 explain the nature of the region’s external contacts and their effects
 appreciate peoples‟ achievements, heritages and cultural diversities of the region
Expected This course enables students to:
Learning  comprehend the general concepts of history
Outcomes  analyze relevant sources for History of Ethiopia and the Horn
 understand Ethiopia and the Horn in relation to human evolution and Neolithic
Revolution
 assess the various socio-cultural and political achievements in civilizations of the
region
 trace the origin and developments of states in the region during the ancient period
 examine the long-term effect of the „‟Solomonic‟‟ dynasty in the region
 scrutinize the dynamics of the territorial expansion of the Christian kingdom and
rivalry between the Christian Kingdom and Muslim Sultanates in the region
 know the role of foreign relations and interventions from ancient to modern times
in Ethiopia and the Horn
 appreciate the interplay between local developments and foreign influences
 examine the role of population movements in shaping the modern Ethiopia and the
Horn
 appreciate the major socio-economic, religious & political achievements of
Gonder period
 understand salient characteristic features and effects of “Zemene Mesafint”
 assess developments in Eastern, Central, Southern & Western parts of Ethiopia &
the Horn
 analyze the political process for formation of Modern Ethiopia and the Horn
 identify the social and economic developments from 1800-1941
 appreciate the move towards modernization and the challenges encountered
 trace legacies of major battles, victories and the roles of patriots
 elaborate the socio-economic and political progresses of the post 1941 imperial
period
 analyze the major changes, and challenges that led to the demise of the monarchy

76
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 analyze the political momentum, reforms and oppositions during the Derg period
 understand historical developments from 1991-1994
Units and Contents
Topics Duration
Unit 1: Introduction 1
1.1. Concepts of History: Meaning, Nature and Uses
1.2. Sources & Methods of Historical Study
1.3. Origin and Development of Historiography of Ethiopia and the Horn
1.4. Introducing and Understanding Ethiopia and the Horn
Unit 2: Peoples and Cultures in Ethiopia and the Horn 2-3
2.1. Human Evolution
2.2. Neolithic Revolution
2.3. The Peopling of the Region
2.3.1. Languages and Linguistic Processes: Afro-Asiatic Super Family (Cushitic,
Semitic & Omotic Families) and Nilo-Saharan (Chari-Nile & Koman families)
2.3.2. Settlement Patterns 2.3.3. Economic Formations
2.4. Religion and Religious Processes 2.4.1. Indigenous
2.4.2. Judaism 2.4.3. Christianity 2.4.4. Islam
Unit 3: Polities, Economy & Socio-Cultural Processes in Ethiopia & the Horn 4-6
to end of 13th Century
3.1. Evolution of States
3.2. Ancient Polities
3.2.1. North and Northeast
3.2.1.1. Punt
3.2.1.2. Damat
3.2.1.3. Axum
3.2.1.4. Zagwe
3.2.2. East, Central, Southern and Western
3.2.2.1. Agaw, Bizamo, Damot, Enaraya, Gafat.
3.2.2.2. Muslim Sultanates (Shewa, Ifat, Dawaro, Fatagar, Bali, Hadiya,
Arebabani, Shirka, Dera…)
3.3. External Contacts
3.4. Economic Formations (Agriculture, Handicraft, Trade…)
3.5. Socio-cultural achievements (Architecture, Writing …)
Unit 4: Politics, Economy & Socio-Cultural Processes from Late 13th – the 7-8
beginning of 16th Century
4.1. “Restoration” of the “Solomonic‟‟ Dynasty
4.2. Power Struggle, Consolidation, Territorial and Religious Expansion of the
Christian Kingdom
4.2.1. Succession Problem and the Establishment of Royal Prison

77
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

4.2.2. Territorial Expansion towards Agaw, Bizamo, Damot, Red Sea, Bete-
Israel/“Falasha…”
4.2.3. Evangelization and Religious Movements
4.3. Social, Economic and Political Dynamics of Muslim Sultanates
4.3.1. Political Developments in the Muslim Sultanates and the Rise of Adal
4.3.2. Trade and the Expansion of Islam
4.4. Rivalry between the Christian Kingdom and the Muslim Sultanates
4.5. External Relations
Unit 5: Politics, Economy & Socio-Cultural Processes from Early 16th–the 9-10
End of the 18th Century
5.1. Interaction and Conflicts of the Christian Kingdom and the Sultanate of Adal
5.2. Foreign Interventions and Religious Controversies
5.3. Population Movements
5.3.1. Population Movements of the Afar, Somali and Argobba
5.3.2. Gadaa System and Oromo Population Movement (1522- 1618)
5.4. Interaction and integration across ethnic and religious diversities
5.5. Peoples and States in Eastern, Central, Southern and Western Regions
5.5.1. Kushitic: Afar, Somali, Oromo, Sidama, Hadya, Kembata, Konso, Gedeo,
Burji…
5.5.2. Semitic: Harari Emirate, Shewa Kingdom, Gurage Polity…
5.5.3. Omotic: Kaffa, Wolayita, Gamo Gofa, Dawro, Konta, Yem…
5.5.4. Nilotic: Anuak, Nuer, Berta, Gumuz…
5.6. The Period of Gondar (1636-1769) and “Zamana Mesafint/Era of Princes”
(1769-1855)
5.6.1. The Revival of the Christian Kingdom
5.6.2. Gondar achievements: architecture, painting, music, literature, urbanization,
trade etc.
5.6.3. Gondar Political Developments: “Close Door Policy,” Reforms, “Byzantine
Politics”…
5.6.4. Major Features of Era of Princes (1769-1855) and Yejju Dynasty (1786-
1853)
Unit 6: Internal Interactions and External Relations from the 1800–1941 10-12
6.1. The Nature of Interactions among peoples and states of Ethiopia and the Horn
6.1.1. Peoples and sates of Kafa, Wollaitta, Gibe, Leqa, Qabena, Shawa...
6.1.2. The Role Trade and Trade Routes in the interaction
6.2. Power Rivalry
6.3. The Making of Modern Empire State (Territorial Expansion, Centralization
process…)
6.4. Modernization Attempts: administration, military, innovation, education, road
construction, railway, transportation & communication, constitution…

78
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

6.5. Socio-Economic Issues/Processes: agriculture, disease & famine, trade,


slavery, manufacturing…
6.6. External Relations, Challenges and Threats
6.6.1. External Diplomatic Relations and Treaties
6. 6. 2. The Major Battles (Meqdela, Gundet, Gura, Dogali, Mattama, Adwa,
Maychew…)
6. 6. 3. Italian Occupation and the Patriotic Resistance
Unit 7: Internal Interactions and External Relations from the 1941–1994 13-14
7.1. Post 1941 Imperial Period
7.1. 1. Political Scene: Restoration & Consolidation of Imperial Power and
External Relations
7.1. 2. Socio-economic Conditions: agriculture & tenancy, famine, factories,
education, health, transportation, religion, welfare institutions (idir, iqub…)
7.1.3. Opposition: Conspiracies, Revolts and Downfall of the Monarchical Regime
7.2. The Derg Regime (1974-1991) .
7.2. 1. The Rise of Derg and the Political Momentum
7.2.2. Attempts at Reforms: Land Reform, Development through Cooperation
Campaign, Collectivization, Agricultural Marketing Corporation, Resettlement,
Villagization, Literacy…
7.2. 2. Internal oppositions, Ethio-Somali War, International Changes & End of the
Derg
7.3. Historical Developments, 1991-1994 (transitional charter: language & identity
issues…)
Unit 8: Cross-Cutting Issues in History of Ethiopia and the Horn 15-16
8.1. The Role of Women in Ethiopian History (economic, political, cultural and
social)
8.2. Environmental Dynamics: changes and continuities (deforestation, drought,
pollution…)
8.3. Indigenous Knowledge: education, folk medicine, conflict resolution
mechanisms (Makabanto, Shimigilinna, Yejoka, Samugnit, Guma, Luwa, Byto,
Heer, Seera… )
Instructional This course will be delivered based on learner centered approach. Therefore, the
Methods and main instructional strategies of the course are pair & group discussions;
Strategies interactive teaching; brainstorming; icebreaker; debating & role-play.
Instructor An instructor of this course is expected to be honest to the content, policies and
Commitments guidelines of this course. He/she is also expected to be well prepared on the
course as well as prepare course outlines & teaching materials, follow up and
assess students as per the guidelines.
Assessment Criteria As per the academic regulation.

79
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Attendance Students are expected to attend regularly. If students miss more than 20% of the
classes, he/she will not sit for final exam. Punctuality is mandatory and late
coming student should not be allowed to enter the class.
Academic Honesty All students are expected to be abided by the code of conduct of
and University Academic Legislation throughout this course. Academic
Integrity/Course dishonesty including cheating, fabrication and plagiarism will not be tolerated.
and University Class activities will vary day to day ranging from lectures to discussions.
Policy Students should be active participants in the course. Students need to ask
questions and raise issues. They are required to do all the assignments they are
supposed to accomplish, submit and present it according to the time table
indicated. All issues discussed the in class or derived from other sources may be
the subject of the assignments, quiz, test and exam question items. Finally, cell
phones must be turned off before getting into classes and sitting for exams as
they are disruptive.
References Abir, Mordechai. Ethiopia and the Red Sea: The Rise and Decline of the
Solomonic Dynasty and MuslimEuropean Rivalry in the Region. Frankcass,
1980.
. Ethiopia: The Era of The Prince; The Challenge of Islam and
The Re-unification of The Christian Empire 1769-1855. Institute of Asian
& African Studies the Hebrew University, 1968.
Alberto, Sbacchi. Ethiopia under Mussolini: Fascism and the Colonial
Experience. 1985.
Alemayehu Haile et al. History of the Oromo to the Sixteenth Century. Finfinne:
OCTB, 2006.
Andargachew Tiruneh. The Ethiopia Revolution 1974-1987: Transformation
from Aristocracy to Totalitarian Autocracy. Cambridge University Press, 1993.
Asmarom Legesse. Gada: Three Approaches to Study of African Society.
London: Free Press.
Bahru Zewde. A History of Modern Ethiopia, 1855-1991. Addis Ababa
University Press.
. Society, State and History, Selected Essays. Addis Ababa: AAU
Pres, 2008.
Bender, M. L. and et al. Eds. The Languages of Ethiopia. London, 1976.
Clark, J.D. The Prehistoric Cultures of the Horn of Africa. Cambridge University
Press, 1954.
Crabtree J Pam &Campana V. Douglas. Archaeology and Pre-history.
Gebru Tareke. Ethiopia Power and Protests: The Ethiopian Peasants Revolts in
the 20th Century. Cambridge University Press, 1991.
Gadaa Melbaa. Oromia. Minneapolis, 1999.

80
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Haberland, Eike. “Notes on the History of Southern Ethiopian Peoples.” Paris,


1975. Marcus, Harold G. A History of Ethiopia. University of California Press:
Berkeley, 1992.
Mohammed Hassen. The Oromo of Ethiopia 1570-1860. Cambridge, 1990.
Pankhrust, Richard. 1997. The Ethiopian Borderlands: Essays in Regional
History from Ancient Times to the end of the 18th Century. Red Sea Press.
Rubenson, Sven. Survival of Ethiopian Independence. 1972.
Sergew Hable Selassie. Ancient and Medival Ethiopian History to 1270. Addis
Ababa, 1972.
Shiferaw Bekele. Economic History of Modern Ethiopia: Imperial Era 1941-
1974. Vol. I. Dakar, 1995.
Taddesse Tamrat. Church and State in Ethiopia, 1270-1527. Oxford, 1972.
Teshale Tibebu. The Making of Modern Ethiopia, 1855- 1974. The Red Sea
Press, 1995.
Trimingham, J.Spencer. Islam in Ethiopia. London: Frankcass and Company
LTD, 1965.
NB: Historical Maps of Ethiopia, relevant historical documents, relevant internet
web pages, museums and other relevant materials can also be used.

Course Critical Thinking


Title
Module Common and Supportive Courses
Title
Module 01 Course Number: LoCt1011
Number
CP 5
Study Lecture:3 Laboratory: 0 Tutorial:2 H/ Study:5
Hour
Mode of Semester wise
Delivery
Course Logic and Critical Thinking is an inquiry that takes arguments as its basic objects of
Description investigation. Logic is concerned with the study of arguments, and it seeks to establish
the conditions under which an argument may be considered acceptable or good. Critical
thinking is an exercise, a habit, a manner of perception and reasoning that has principles
of logic as its fulcrum, and dynamically involves various reasoning skills that ought to
be human approach to issues and events of life. To think critically is to examine ideas,
evaluate them against what you already know and make decisions about their merit. The

81
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

aim of logic and critical thinking course is to maintaining an ‘objective’ position. When
you think critically, you weigh up all sides of an argument and evaluate its validity,
strengths and weaknesses. Thus, critical thinking skills entail actively seeking all sides
of an argument evaluating the soundness of the claims asserted and the evidence used to
support the claims. This course attempts to introduce the fundamental concepts of logic
and methods of logical reasoning. The primary aim of this course is to teach students
essential skills of analyzing, evaluating, and constructing arguments, and to sharpen their
ability to execute the skills in thinking and writing.
Learning At the end of the course, students should be able to:
Outcomes  Understand the relationship of logic and philosophy,
 Recognize the core areas of philosophy,
 Appreciate the necessity learning logic and philosophy,
 Understand basic logical concepts, arguments,
 Understand deductivness, inductiveness, validity, strength, soundness, and cogency,
 Develop the skill to construct sound argument and evaluate arguments;
 Cultivate the habits of critical thinking and develop sensitivity to clear and accurate
usage of language;
 Differentiate cognitive meanings from emotive meanings of words,
 Apply symbols to denote standard forms of categorical propositions to form further
logical assertions among them.
 Develop logical and open-mind that weighs ideas and people rationally;
 Develop confidence when arguing with others ,
 Demonstrate logical argumentative ability,
 Develop logical reasoning skill in their day to day life, and
 Appreciate logical reasoning, disproving mob-mentality and avoid social prejudice.
 Understand the basic concepts and principles of critical thinking.
 Understand the criterion of good argument.
 Identify the factors that affect critical thinking.
 Apply critical thinking principles to real life situation.
Course Contents
Topics Duration
Chapter 1: Logic and Philosophy 1-2
1.1 Introduction.
1.2 Meaning and Definition of philosophy
1.3Core Branches of Philosophy.
1.4Importance of Learning Logic and Philosophy
Chapter 2: Basic Concepts of Logic 3-4
2.1Introduction 2.2Basic Concepts of Logic
2.3Techniques of recognizing arguments.
2.4Types of Arguments

82
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.4.1Deductive Arguments
2.4.2Inductive Arguments
2.5Evaluation of Arguments
2.5.1Evaluating Deductive Argument
2.5.2Evaluating Inductive Arguments
Chapter 3: Logic and Language 5-6
3.1Introduction 3.2Logic and Meaning
3.2.1Cognitive and Emotive Meaning of Words
3.2.2Intensional and Extensional Meaning of Terms 3.3Logic and Definition
3.3.1Types and Purposes of Definition 3.3.2Techniques of Definition
3.3.2.1Extensional Techniques of Definition
3.3.2.2Intensional Techniques of Definition Comment [G1]: added Comment
[G2]: modified
3.4Criteriafor Lexical Definitions
Chapter 4. Basic Concepts of Critical Thinking 7-9
4.1. Introduction
4.2. Meaning and Definition of Critical Thinking.
4.3. Principles of Critical Thinking.
4.4. Criterion/Standard of Argument Good Argument.
4.5. Factors Affecting Critical Thinking. 4.6. Relevance of Critical Thinking.
Chapter 5: Logical Reasoning and Fallacies 10-13
5.1.1Induction
5.2. Types of Fallacies: Formal and Informal
5.3 Categories of Informal Fallacies
5. 4.1 Fallacies of Relevance
5.4. 2 Fallacies of Weak Induction
5. 4. 3 Fallacies of Presumption 5.6. 4.3.4Fallacies of Ambiguity
5. 4..4 Fallacies of Grammatical Analogy
Chapter 6: Categorical Propositions 14-16
6.1. Introduction
6.2. Categorical Propositions
6.3. The Components of Categorical Propositions
6.4. Attributes of Categorical Propositions: Quality, Quantity, and Distribution
6.5. Representing Categorical Propositions
6.6. Venn Diagrams
6.7. Boolean and Aristotelian Square of Oppositions
6.8. Evaluating Immediate Inferences: Venn Diagrams and Square of Oppositions
6.9. Logical Operations: Conversion, Obversion, and Contraposition
Teaching The course will be delivered in the form of lectures, demonstration, student presentations,
Strategy group discussions, and individual and group project works.

83
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Assessment As per the academic regulation.


Course As a student of this university, you are expected to abide by the code of conduct of
Policy students enshrined in the university’s legislation. Academic dishonesty including
cheating (exam or attendance), fabrication and plagiarism will not be tolerated and will
be reported to concerned bodies for appropriate action. Moreover, you are expected to
actively participate in classroom discussions through asking and answering questions,
raising issues, giving constructive feedbacks, accomplishing and submitting assignments
according to the program schedule. You are also expected to attend class regularly.
Attendance will be taken regularly and any absenteeism without tangible reasons will
severely affect your performance and grade. Side talks, moving chairs and creating all
sorts of disturbance are intolerable. If you miss 20% of the class attendance, you will be
cancelled from the course. You should come to the class in time. You are also supposed
to come to class with your appropriate learning materials like note book, handouts and
other reference materials.
References Reference
1. Hurley, Patrick J. (2014) A Concise Introduction to Logic,12th Edition, Wadsworth,
Cengage Learning.
2. Hurley, Patrick J. (2012) A Concise Introduction to Logic,11th Edition, Wadsworth,
Cengage Learning.
1. Books Copi, Irving M.and Carl Cohen, (1990) Introduction to Logic,New York:
Macmillan Publishing Company.
2. Damer, Edward. (2005). Attacking faulty reasoning. A practical guide to fallacy free
argument.
3. Wadsworth Cengage learning, USA. Fogelin, Robert, J, (1987) Understanding
Arguments: An Introduction to Informal Logic,New York: Harcourt Brace Jvanovich
Publisher.
4. Guttenplan, Samuel: (1991) The Language of Logic. Oxford: Blackwell Publishers
Stephen, C. (200) The Power of Logic. London and Toronto: Mayfield Publishing
company.
5. Mimico, N.D and G.G James. (1983) Elementary Logic, Belmont, Ca: Wadsworth
Publishing Company.Walelign, Emuru, (2009) Freshman Logic, Addis Ababa.

Course Title Physical fitness


Module Title Common and Supportive Courses
Module 01 Course Number: SpSc1011
Number
CP 2
Study Hour Lecture: 0 Laboratory:2 Tutorial: 0 Home Study:2
Mode of Semester wise
Delivery

84
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course This course will provide the students with basic concepts of the five components of
Description health-related physical fitness (cardiovascular, muscular strength and endurance,
flexibility, and body composition), conditioning, hypokinetic disease and general
principles of training. It is mainly practical oriented. As a result, the students will be
exposed to various exercise modalities, sport activities, minor and major games, and
various training techniques as a means to enhance health related physical fitness
components. In addition, they will develop the skills to assess each component of
fitness and will practice designing cardiovascular, muscular strength and endurance,
and flexibility programs based on the fitness assessment. The course serves as an
introduction to the role of exercise in health promotion, fitness, performance
including the acute and chronic responses of the body to exercise.
Expected By the end of this course the students will be able to:
Learning 1. Recognize the immediate and long term responses of the body to various types of
Outcomes exercise.
2. Understands the basic concepts of physical fitness and conditioning exercises.
3. Understand the concept of hypokinetic disease and conditions.
4. Distinguish the general principles of fitness training
5. Develop conditioning programs to enhance the components of health-related
physical finesses.
6. Participate in conditioning programs which may help to develop the components
of health-related physical finesses.
7. Understand health issues in relation to excess body fatness and excessively low
body fat.
8. Develop skills to assess health related physical fitness components.
9. Develop healthy body weight management skill.
10. Appreciate and value the benefits of regular physical exercise to healthy living.
11. Develop interest to engage in a regular physical exercise program as a life time
activity.
12. Develop self-confidence and effective communication skills in and out of the
school environment.
Course Calendar and Delivery
Date /week Key Topics Teaching Method
Week 1 Chapter 1- Concepts of physical fitness  Lecture
and conditioning  Group discussion
1.1. Meanings and definitions of terms  Questioning and answering
1.1.1. physical fitness
1.1.2. physical conditioning
1.1.3. Physical Activity,
1.1.4. Physical exercise and
1.1.5. Sport

85
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

1.2. General principles of fitness training


Week 2 Chapter 2- The Health Benefits of  Lecture
Physical Activity  Group discussion
2.1. Physical Activity and Hypokinetic  Questioning and answering
Diseases/Conditions
2.2. Physical Activity and Cardiovascular
Diseases
2.3. physical activity and postural deformity
Week 3 Chapter 3 - Making Well-Informed Food  Lecture
Choices  Group discussion
3.1. Sound Eating Practices  Questioning and answering
3.2. Nutrition and Physical Performance
Week 4&5 Chapter 4- Health related components of  Lecture
fitness  Group discussion
4.1. Cardiovascular fitness  Presentation
4.1.1. Meaning and concepts of
cardiovascular fitness
4.1.2. Means and methods of developing
cardiovascular fitness
4.2. Muscle fitness
4.2.1. Meaning and concepts of muscle
fitness
4.1.2. Means and methods of developing
muscle fitness
4.3. Flexibility
4.3.1. Meaning and types of flexibility
4.1.2. Means and methods of developing
flexibility
4.4 Body composition
4.4.1. Meaning of body composition
4.4.2. Health risks associated with over
fatness
4.4.3. Health risks associated with
excessively low body fatness
Week 6 Chapter 5- Assessment of fitness  Lecture
components  Group discussion
5.1. Assessment of cardiovascular fitness  Presentation
5.2. Assessment of muscle fitness
5.3. Assessment of flexibility
5.4. Assessment of body composition

86
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Practical Session
Week 7-16 Chapter 6- Development and Assessment  Field Practice
of the health-related components of fitness  Explanation
 Demonstration
Assessment As per the university’s legislation
Instructor’s - Provide maximum physical activity time within the class period
commitment - Promote equal participation of all students in the course
- Teach skills and activities that transfer in to lifetime physical activity
- Motivate students to be active participants in the course
- Praise for active participation
Course policies
Grading As per the university’s legislation
Attendance As per legislation of the university
Policy
Class The success of this course and students learning experience is dependent on active
Participation engagement and participation of the students in all the spectrum of the course.
Students are expected to come well prepared/dressed and constructively engage in
class.
Class “In each and every aspect of life, discipline comes first and worth a lot”. This is what
Discipline department of Sport Science reflects. As a result of this, any noise, chatting, chewing
gum and the like are prohibited in every sessions of the course. In addition to these
portable electronic media and communicative devices such as cell phones, pagers,
MP3 players, I pod etc are not be used during the class for any reason. Thus, these
devices should be switched off and kept out of sight.
Reference materials
Text  Charles B. Corbin, Gregory J. Week, William R. Corbin and Karen A. Welk.
(2006). Concepts of fitness and wellness: a comprehensive lifestyle approach. 6th
ed.
Reference 1. Schott k. Powers, Stepheen L. Dod and Virginia J. (2006), Total Fitness and
Wellness.
2. Paul M, and Walton T. (2006), Core Concepts in Health, 10th edit.
3. Charles B. Corbin and Ruth Lindsey (1990), Fitness for life, 3rd Edition, Scott.

Course Title Geography of Ethiopia and the Horn


Module Title Common and Supportive Courses
Module Number 01 Course Number: GeES1011
CP 5
Study Hour Lecture Tutorial Group Home Study Total
Work/
Discussion

87
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

and
Presentation
48hrs 2hrs 35hrs 52hrs 135hrs
Mode of Delivery Semester wise
Course This course attempts to familiarize students with the basic geographic concepts
Description particularly in relation to Ethiopia and the Horn of Africa. It is also intended to
provide students a sense of place and time (geographic literacy) that are pivotal in
producing knowledgeable and competent citizens that are able to comprehend and
analyze problems and contribute to their solutions. The course consists of four
parts. The first part provides a brief description on the location, shape and size of
Ethiopia as well as basic skills of reading maps. Part two introduces the physical
background and natural resource endowment of Ethiopia and the Horn which
includes its geology and mineral resources, topography, climate, drainage and
water resources, soil, fauna and flora. The third part of the course focuses on the
demographic characteristics of the country and its implications on economic
development. The fourth component of the course offers treatment of the various
economic activities of Ethiopia and the Horn which include agriculture,
manufacturing and service sectors. Moreover, Ethiopia in a globalizing world is
treated in the perspectives of the pros and cons of globalization on its natural
resources, population and socio-economic conditions.
Course Objective Upon completion of this course the students will be able to:
• Describe the location, shape and size of Ethiopia and the Horn
• Explain the implications of location, shape and size of Ethiopia and the Horn on
the physical environment, socioeconomic and political aspects.
• Elaborate the major geological events; the resultant landforms and mineral
resources of Ethiopia and the Horn.
• Identify the major drainage systems and water resources of Ethiopia and their
implications for regional development and integration.
• Develop an understanding of the climate of Ethiopia, its dynamics and
implications on the livelihoods of its inhabitants.
• Examine the spatio-temporal distribution and abundance of natural vegetation,
wildlife and Soil resources of Ethiopia.
• Discuss the demographic attributes and dynamics as well as the ethnic diversity
of Ethiopia.
• Read maps as well as compute basic demographic and climatic rates
• Appreciate the biophysical and socio-cultural diversities in Ethiopia and the Horn
• Explicate the major types of economic activities in Ethiopia; discern their
spatiotemporal distributions and their contributions to the overall development of
the country.

88
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

• Comprehend the effects of globalization on the socioeconomic development of


Ethiopian and the Horn.
Expected • Acquire basic knowledge on the geographic attributes of Ethiopia and Horn
Learning • Develop a sense of appreciation and tolerance of cultural diversities and their
Outcomes interactions
• Acquire general understanding of physical geographic processes, and human
environment relationships
• Develop ethical aptitudes and dispositions necessary to live in harmony with the
natural environment
• Develop an understanding of national population distributional patterns and
dynamics
• Conceptualize the comparative advantages of economic regimes; and understand
the impacts of globalization.
• Understand their country’s overall geographic conditions and opportunities; and
be proud of the natural endowments and cultural rich Dom that help them develop
a sense of being an Ethiopian.
Course Contents
Weeks Conceptual focus
1-2 I. INTRODUCTION (5 hrs)
1.1. Geography: Definition, scope, themes and approaches
1.2. Location, Shape and Size of Ethiopia and the Horn
1.2.1. Location and its effects
1.2.2. The shape of Ethiopia and its implication
1.2.3. The size of Ethiopia and its implications
1.3. Basic Skills of Map Reading
2-4 CHAPTER TWO: THE GEOLOGY OF ETHIOPIA AND THE HORN
(5hrs)
2.1. Introduction
2.2. The Geologic Processes: Endogenic and Exogamic Forces
2.3. The Geological Time scale and Age Dating Techniques
2.4. Geological Processes and the Resulting Landforms
2.4.1. The Precambrian Era geologic processes and resultant features
2.4.2. The Paleozoic Era geologic processes and resultant features
2.4.3. The Mesozoic Era geologic processes and resultant features
2.4.4. The Cenozoic Era geologic processes and resultant features
2.5. Rock and Mineral Resources of Ethiopia
4-5 CHAPTER THREE: THE TOPOGRAPHY 3.1. Introduction
3.2. Physiographic Divisions
3.2.1 The Western Highlands and Lowlands
3.2.2 The Southeastern Highlands and Lowlands

89
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3.2.3 The Rift Valley


3.3.The Impacts of Relief on Biophysical and Socioeconomic Conditions
5-6 CHAPTER FOUR: DRAINAGE SYSTEMS AND WATERRESOURCES OF
ETHIOPIA AND THE HORN (5hrs)
4.1. Introduction
4.2. Major Drainage Systems of Ethiopia
4.3. Water Resources: Rivers, Lakes, and Subsurface Water
4.4. General Characteristics of Ethiopian Rivers
4.5. Water Resources Potentials and Development in Ethiopia
7-9 CHAPTER FIVE: THE CLIMATE OF ETHIOPIA AND THE HORN (7hrs)
5.1. Introduction
5.2. Elements and Controls of Weather and Climate
5.3. Spatiotemporal Patterns and Distribution of Temperature and Rainfall in
Ethiopia
5.4. Agro-ecological Zones of Ethiopia
5.5. Climate and its Implications on Biophysical and Socioeconomic Aspects
5.6. Climate Change/Global Warming: Causes, Consequences and Response
Mechanisms
9-11 CHAPTER SIX: SOILS, NATURAL VEGETATION AND
WILDLIFERESOURCES OF ETHIOPIA AND THE HORN (6hrs) 6.1.
Introduction
6.2. Ethiopian Soils: Types, Degradation and Conservation
6.3. Types and Distribution of Natural Vegetation’s in Ethiopia
6.4. Natural vegetation: Uses, Degradation and Conservation Strategies 6.5.
Wildlife Resources of Ethiopia: Types, Importance, and Conservation Strategies
11-13 CHAPTER SEVEN: POPULATION OF ETHIOPIA AND THE HORN
(8hrs)
7.1. Introduction
7.2. Population Data: Uses and Sources
7.3. Population Dynamics: Fertility, Mortality and Migration
7.4. Population Distribution and Composition
7.5. Sociocultural Aspects of Ethiopian Population: Education, Health and
Languages
7.6. Settlement Types and Patterns
14-16 CHAPTER EIGHT: ECONOMIC ACTIVITIES IN ETHIOPIA (9hrs)
8.1. Introduction
8.2. Mining, Fishing and Forestry
8.3. Agriculture in Ethiopian
8.3.1. Contributions, potentials and characteristics of agriculture in Ethiopia
8.3.2. Agricultural systems in Ethiopia

90
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

8.3.3. Major problems of Ethiopian agriculture


8.4. Manufacturing in Ethiopia
8.4.1. Manufacturing: essence and contributions
8.4.2. Types, characteristics and distribution of manufacturing
8.4.3. Industrial development in Ethiopia: Challenges and Prospects
8.5. The Service Sector in Ethiopia
8.5.1. Transportation and communication in Ethiopia: types, roles and
characteristics
8.5.2. Trade in Ethiopia: types, contributions and characteristics
Teaching Methods Gap Lecture, Peer/ group Discussion and Reflection, Reading Assignment.
Assessment As per the academic regulation.
Course Policy As a student of this university, you are expected to abide by the code of conduct
of students enshrined in the university’s legislation. Academic dishonesty
including cheating (exam or attendance), fabrication and plagiarism will not be
tolerated and will be reported to concerned bodies for appropriate action.
Moreover, you are expected to actively participate in classroom discussions
through asking and answering questions, raising issues, giving constructive
feedbacks, accomplishing and submitting assignments according to the program
schedule. You are also expected to attend class regularly. Attendance will be taken
regularly and any absenteeism without tangible reasons will severely affect your
performance and grade. Side talks, moving chairs and creating all sorts of
disturbance are intolerable. If you miss 20% of the class attendance, you will be
cancelled from the course. You should come to the class in time. You are also
supposed to come to class with your appropriate learning materials like note book,
handouts and other reference materials.
References  A.D. Tithe.(2012). Lecture Notes on Climatology: For Intermediate Met
Training Course, Indian Meteorological Department.
 Addis Ababa University (2001). Introductory Geography of Ethiopia,
Teaching Text, Department of Geography.
 Assefa M., Melese W., Shimelis G.(2014). Nile River Basin; Ecohydrological
Challenges, Climate Change and Hydropolitics. Springer International
Publishing, Switzerland.
 B. D, Ray (1989). Economics for Agriculture: Food, Farming and the Rural
Economy. Macmillan.
 CSA 1994 & 2007. Population and Housing Census Results. CSA: A.A.
 Diao, Xinshen,. 2007. The Role of Agriculture in Economic Development:
Implications for Sub Saharan Africa. Sustainable Solutions for ending Hunger
and Poverty, Research Report 153. IFPRI.Ethiopia.

91
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Engdawork Assefa(2015). Characterization and classification of major


agricultural soils in CASCEP intervention weredas in the central highlands of
Oromia Region, Ethiopia, Addis Ababa University
 FDRE.2001 Ministry of Water Resources, National Metrological Survey, A.A.
Girma Kebede(2017). Society and Environment in Ethiopia
 Hartshorne, T. & J. Alexander (1988). Economic Geography, 3rd Ed.
 Hooguelt, A (2001). Globalization and the post-colonial world. The New
political Economy of Development. Basingstoke plagrave.
 Hurni. H. 1988. Ecological Issues in the Creation of Ethiopia. Paper presented
in the National Conference on Disaster prevention and preparedness Strategy
for Ethiopia, A.A International Centre for Migration Policy Development
(ICMPD) (2008). East Africa Migration Route Initiative Gaps & Needs
Analysis Project Country Reports: Ethiopia, Kenya, Libya.
 Vienna Laurence G., Jeremias M., Tilahun A., Kenneth M.(2012). Integrated
Natural Resource Management in The Highlands of Eastern Africa; From
Concept to Practice. New York, Earthscan. Lloyd, P. & P. Dickens (1977).
Location in Space. Harper @ Row.
 Mesfin Woldemariam (1972). Introduction to Ethiopian Geography, Addis
Ababa,
 Ministry of Agriculture/MOA/ (1998). Agro-ecological zones of Ethiopia:
Natural Resources Management and Regulatory Department, Addis Ababa
 Morgan R.P.C (2005). Soil Erosion and Conservation. National Soil Resources
Institute, Carnfield University. Blackwell Publishing, Oxford, UK.
OXFAM(2018).
 Horn of Africa climate crisis response. Regional summary Pausewang,
Siegfried (1990), Ethiopian Rural Development Options. Plant genetic
resource center (1995). Ethiopia: country report to the FAO International
Technical Conference on Plant Genetic Resource, Addis Ababa Robert, E.G,
James, F.P & L. MichaelT.(2007). Essentials of Physical Geography.
Thomson Higher Education, Belmont, 8th edition.
 UNDP, FAO (1984) Ethiopia Forest Resources and Potential for Development;
An assistance to land use planning.
 United Nations Framework Convention on Climate Change (2007).
 Climate Change; Impacts Vulnerabilities and Adaptations in
DevelopingCountries.http://www.preventionweb.net/publications/view/2759
Waugh, D. (1990). Geography: An Integrated Approach. Nelson: London.

Course Title Introduction to Emerging Technologies


Module Title Common and Supportive Courses

92
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Number 01 Course Number:EmTe1012


CP 5
Contact hours(per week) Lecture:3 Laboratory:0 Tutorial:2 Home Study:5
Mode of Delivery Semester wise
Status of the Course Compulsory
Course This course will enable students to explore current breakthrough technologies in the
Description areas of Artificial Intelligence, Internet of Things and Augmented Reality that have
emerged over the past few years. Besides helping learners become literate in
emerging technologies, the course will prepare them to use technology in their
respective professional preparations.
Course objective Upon completing this module, you will be able to:
/Learning ➢ Identify different emerging technologies
Outcomes ➢ Differentiate different emerging technologies
➢ Select appropriate technology and tools for a given task
➢ Identify necessary inputs for application of emerging technologies

Course Contents
Week Content & sub content Methods and Students Task
strategies
1-2 UNIT 1: Introduction to Emerging • Listening • Attend the lesson
Technologies 1.1. Evolution of • Note-taking • Listen and take notes
technologies • Brainstorming • Answer questions
1.1.1. Introduction to Industrial •Reading • Read
revolution 1.1.2. Historical background •Individual work •Doing class works and home
(IR 1.0, IR 2.0, IR 3.0) •Group works,
1.1.3. Fourth industrial revolution (IR discussion • Reflects
4.0) • Reflections
1.2. Role of data for Emerging •Gapped Lecture
technologies 1.3. Enabling devices and
networks for technologies (programmable
devices)
1.4. Human to Machine Interaction
1.5. Future trends in emerging
technologies
3-4 Unit 2: Introduction to Data Science • Listening • Attend the lesson
2.1. Overview for Data Science • Note-taking • Listen and take short notes,
2.1.1. Definition of data and information • Brainstorming • • Asking and answering
2.1.2. Data types and representation Gapped Lecture questions,
2.2. Data Value Chain • Group • Participating in group
2.2.1. Data Acquisition discussion discussions.

93
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.2.2. Data Analysis • Class work • Reflects


2.2.3. Data Curating • Tutorials
2.2.4. Data Storage
2.2.5. Data Usage
2.3. Basic concepts of Big data
5-7 Unit 3: Artificial Intelligence (AI) • Listening • Listening
3.1. Introduction to AI • Note-taking •Note-taking
3.1.1. What is AI • Brainstorming • • Brainstorming
3.1.2. History of AI Gapped Lecture • Gapped
3.1.3. Levels of AI • Group • Lecture
3.1.4. Types of AI discussion • Group discussion
3.2. Applications of AI • Class work • Class work
3.2.1. Agriculture • Tutorials • Tutorials Reflections
3.2.2. Health • Reflections
3.2.3. Business (Emerging market)
3.2.4. Education
3.3. AI tools and platforms (egg:
scratch/object tracking)
3.4. Sample application with hands on
activity (simulation based)
8-10 Unit 4: Internet of Things (IoT) • Listening • Attend the lesson
4.1. Overview of IoT • Note-taking • Listen and take short notes,
4.1.1. What is IoT? • Brainstorming • •Asking and answering
4.1.2. History of IoT Reading questions,
4.1.3. Advantage of IOT • Individual work • Doing class works and home
4.1.4. Challenges of IOT • Group works,
4.2. How IOT works discussion • Participating in group
4.2.1. Architecture of IOT • Reflections discussions.
4.2.2. Devices and network • Gapped Lecture • Reflects
4.3. Applications of IOT
4.3.1. Smart home
4.3.2. Smart grid
4.3.3. Smart city
4.3.4. Wearable devices
4.3.5. Smart farming
4.4. IOT tools and platforms (egg: KAA
IoT /Device Hive/Zeta/Things Board…)
4.5. Sample application with hands on
activity (egg IOT based smart farming)
11-12 Unit 5: Augmented Reality (AR) • Listening • Attend the lesson

94
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

5.1. Introduction to AR • Note-taking • Listen and take short notes,


5.2. Virtual reality (VR), Augmented • Brainstorming g • Asking and answering
Reality (AR) vs mixed reality (MR) • Reading questions,
5.3. Architecture of AR systems. • Individual work • Doing class works and home
5.4. Application of AR systems • Group works,
(education, medical, assistance, discussion • Participating in group
entertainment) workshop-oriented hands • Reflections discussions. • Reflect
demo • Gapped Lecture

13 Unit 6: Ethics and professionalism of • Listening • Attend the lesson


emerging technologies • Note-taking • Listen and take short notes,
6.1. Technology and ethics • • Asking and
6.2. Digital privacy • Lecture
6.3. Accountability and trust
6.4. Treats and challenges
14-15 Unit 7: Other Emerging Technologies • Listening • Attend the lesson
7.1. Nanotechnology • Note-taking • Listen and take short notes,
7.2. Biotechnology • Brainstorming g • Asking and answering
7.3. Block chain technology • Reading questions,
7.4. Cloud and quantum computing •Individual work • Doing class works and home
7.5. Autonomic computing • Group works,
7.6. Computer vision discussion
7.7. Embed systems
7.8. Cyber security
7.9. Additive manufacturing (3D Printing) Etc.
Assessment As per the academic regulation
Criteria
Attendance Lecture: 85%, Laboratory : 100%
Course Policy All students are expected to abide by the code of conduct of students (article 166
and 166.1.1, of The Senate Legislation of Bahir Dar University May 20, 2005)
throughout this course. Academic dishonest including cheating, fabrication, and
plagiarism will not be tolerated at any stage during your studies and will be reported
to concerned bodies for action. If you need it, you can get a copy (to be copied by
yourself) of it from your academic advisor.
It is expected that all work handed in by a student will be original work that has
been done by the individual. If it is not, then this act of intellectual dishonesty will
be dealt with severely.
While students are expected to work reasonably independently, I do not expect you
to work in isolation. Often you learn best when working with others on an
assignment. So what degree of collaboration is expected and, indeed, encouraged,

95
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

and what is deemed to be cheating? If you are having problems with the assignments
or tests, contact the instructor as soon as possible. It will NOT be possible to earn
extra credit to improve a poor grade at the end of the semester.
In general, we encourage things like bouncing ideas off one another, discussing
which of two alternate solutions might be better (and why), and getting another's
ideas on how to resolve a difficulty that you have already spent time on. However,
you should not be working so closely together that someone else's solution becomes
incorporated into your answer, computer program or other submission. These
general guidelines apply to any type of assignment and project.

Reference • Follett, J. (2014). Designing for Emerging Technologies: UX for Genomics,


Materials Robotics, and the Internet of Things: O'Reilly Media.
• Voong, J., & Song, I. (2014). Emerging Technologies for Emerging Markets:
Springer Singapore.
• Francesco Coria. Artificial Intelligence and Exponential Technologies: Business
Models Evolution and New Investment Opportunities, 2017.

Course Title Computer Programming


Module Title Common and Supportive Courses
Module Number 01 Course Number:CoSc1012
CP 5
Study Hour Lecture:2 Laboratory:3 Tutorial:0 Home Study:5
Mode of Delivery Semester wise
Course This course is assumed to be the first course in programming. The course is
Description designed to introduce Structured Programming in C++ by providing an overview
of programming concepts, on creating and working computer programs in C++.
It introduces the history of programming languages and programming language
paradigm. The course mainly emphasizes on basic components of a high level
language and developing a skill on the usage of those components. It will address
the fundamental programming constructs: Basic syntax and semantics of a high-
level languages, Basic elements of programming: identifiers, variables, literals,
constants, keywords, comments, data types, expressions and operators, statements,
Control Structures, Arrays, structured data types, pointers, Functions and
Recursion and file management

96
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

The course is designed on how to solve business and scientific problems through
the technique of structured programming. It will prepare students for focused
studies in any programming language.
Laboratory exercises are dedicated to practice the basics on writing simple C++
programs and will reinforce basic programming concepts, logic flows and
structured programming design.
Learning At the end of the course students will be able to:
Outcomes  understand the nature of programming as human activity
 learn and experience main components of programming process
 Analyze variety of problems and generate appropriate algorithmic solutions
 learn and being able to use major programming patterns
 understand the principles of data storage and manipulation
 Write a program that uses each of the following fundamental programming
constructs: Basic syntax and semantics of a high-level languages, Basic
elements of programming: identifiers, variables, literals, constants, keywords,
comments, data types, expressions and operators, statements, Control
Structures, looping and Arrays.
Course Contents
Topics Duratio References
n(Week
)
Chapter 1: Introduction to computer programming 1-2
1.1. What is computer programming
1.2. Reasons to study programming
1.3. Types and usage of computer languages
1.4. Programming paradigms
1.4.1. Procedural programming
1.4.2. Functional programming
1.4.3. Object-oriented Programming
Chapter 2: Algorithm representation and Data structure 3-4
2.1. Introduction to flow chart and pseudo code
2.2. How to write a pseudo code and draw a flow chart for a given
algorithm?
2.3. Translating algorithms to programming languages
2.4. Definition of data structures
2.5. Role of data structures in writing programs
2.6. Algorithms Vs Data Structure
Chapter 3: Programming constructs: 5-7
3.1. Process of compiling and running programs
3.2. Basic syntax and semantics of a high-level languages

97
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3.3. Basic Elements of Programming


3.3.1. Identifiers, variables, literals, constants, keywords, comments,
data types, expressions and operators, statements.
3.4. Structure (Anatomy) of C++ program
3.5. Input/output Statements
Chapter 4: Control statements 8-11
4.1. Selection Statements
4.2. Loops: for, while, do…while
4.3. Flow control statements [break, continue, go to, return]
Chapter 5: Arrays and Structure 12-13
5.1. Arrays
5.1.1. Array definition
5.1.2. Types of arrays
5.1.3. Array declaration
5.1.4. Array initialization
5.2. Structure
5.2.1. Structure Definition
5.2.2. Declaration of structure
5.3. Initialization of Structure
Chapter 6: Functions in C++ 14-16
6.1. Basic concept and need of function
6.2. Declaring and defining a function 6.3. Function components
(parameters and arguments)
6.4. Calling /invoking function by value and reference parameters
6.5. functions Recursion
Teaching Strategy The course will be delivered in the form of lectures, demonstration, student
presentations, group discussions, and individual and group project works.
Assessment Criteria As per the academic regulation.
Attendance Lecture: 85%, Laboratory : 100%
Role of Instructor(s) Delivers lectures, prepares reading assignments and topics for group
discussion, prepares projects by discussion with student, gives consultation
and advises students on project works and assignments, prepares and
evaluates quiz, assignment, midterm and final examination.
Role of Students Attend lectures and presentation, work in team on group work, participate in
group discussion, discusses with the instructor on topics of interest for project
work, delivers and presents project work, attend quiz, midterm and final
examination.
Required software Desktop Computer,Turbo C++ compiler or other C++ compilers
and/or hardware
References References

98
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Walter Navitech, Problem Solving with C++(6thed), USA, Addison


Wesley,2006
Dormy, R.G., How to solve it by computer, UK, Prentice Hall Inc. ,1982
GaddisTony, Starting out with C++, USA , Scott/Jones Inc. Publishers, 2001
Schildt Herbert, C++ - The Complete Reference(4th ed), USA, McGraw
Hill Inc. 2001
Lafore, Robert, Object Oriented Programming in C++ (2nd ed),2001

Course Title Computer Programming II


Course Code SEng2021
CP 5(2hr Lecture, 3hr Lab)
Module Title Programming Fundamentals
Module Number 02
Pre-requisites None
Year II
Semester I
Status of Course Compulsory

Course Description
The course is designed to introduce problem solving techniques by dividing large programs in to
sub modules through the concept of function in C++. Such programming technique simplifies
programming tasks by re-use of modules in different programs or in the same program, facilitates
understanding, debugging and maintaining the program. The course also introduces advanced data
structures such as pointers enable dynamic allocation and de-allocation of memory, structures help
to store and access records in an easy way, File Operations (File Input/output). Laboratory
exercises are dedicated to practice the all basics on writing simple C++ programs and will reinforce
basic programming concepts, logic flows and structured programming design using C++ function
concepts, structure and pointer data types and file management.

Learning Outcomes
At the end of the course students will be able to:
 understand the principles of data storage and manipulation
 Write a program that uses each of the following fundamental programming constructs:
Structures, Arrays, pointers
 Identify elements of OOP Elements
Course Contents
Date Topics to be Discussed
Week 1-4 Chapter 1: Functions in C++
1.1. Basic concept and need of function
1.2. Declaring and defining a function
1.3. Function components (parameters and arguments)

99
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

1.4. Calling /invoking function by value and reference parameters


1.5. functions Recursion
Week 5-8 Chapter 2: Arrays and structure
1.6. Homogeneous and heterogeneous data types
1.7. Difference b/n Arrays and Structure data types
1.8. Declaring, accessing and processing arrays
1.9. String manipulation using arrays
1.10. Multidimensional arrays
1.11. User defined data types (UDT)
Week 9-12 Chapter 3: Pointers
1.12. Basic concept of pointers
1.13. Pointer variables and declaration
1.14. Pointer expression, operation and arithmetic
1.15. Strings and pointers
1.16. Relationship between pointers and arrays
1.17. Revisiting function calling by reference (using
pointers)
Week 13- Chapter 4: File Operations (File Input/output)
15 1.18. Introduction
1.19. Stream classes
1.20. Writing and reading modes
1.21. Writing to and reading from files
1.22. Types of files (Text and Binary)
1.23. File access methods (sequential and random access files)

Summary of Teaching Learning Methods

The teaching-learning methodology will be student-centered with appropriate guidance of


instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation

References
1. Walter Savitch, Problem Solving with C++ (6thed), USA, Addison Wesley, 2006
2. Dromey, R.G., How to solve it by computer, UK, Prentice Hall Inc., 1982

Course Title Data Structure and Algorithms


Course Code SEng2022
CP 5 (2hr Lecture, 3hr Lab)
Module Title Programming Fundametals

100
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Number 02
Pre-requisites None
Year II
Semester II
Status of Course Compulsory

Course Description

This course aims to introduce you some basic data structures and algorithms which are to be used
as tools in designing solutions to problems. It will make students familiar with the specification,
usage, implementation and analysis of these data structures and algorithms. Introduction of Data
Structures (Linear, non-Linear Data Structures) mainly focused and Algorithm Analysis Concept,
Measuring Complexity, Complexity of Algorithm Big-O Notation. Simple Sorting and Searching
Algorithms (Bubble Sort, Insertion Sort, Selection Sort, Sequential Searching, Binary Searching.).
Abstract Data Types, Structures, Pointers, Arrays, Linked Lists, Stacks, Queues, Trees, Graphs.
Advanced Sorting and Searching Algorithms (Shell Sort, Quick Sort, heap Sort, Merge Sort, and
Hashing). Laboratory exercises are dedicated to practice the basics on concepts on data structures
like Abstract Data Types, Structures, Pointers, Arrays, Linked Lists, Stacks, Queues, Trees, and
Graphs. Advanced Sorting and Searching Algorithms using C++ programming language.

Learning Outcomes
At the end of the course students will be able to
 Explain the basic techniques for the design and analysis of efficient Algorithm;
 Determine when and how to use the various data structures including Linked lists, Queues,
Stacks, Binary trees, Search trees and Graphs
 Design algorithms to solve real-life problems using the tools introduced Analyze your
solution, and efficiently implement your solution.
 Apply data structures and algorithms that are frequently used in information processing

Course Contents
Date Topics to be Discussed
Week 1-2 Chapter 1: Review of C++ concepts
1.1. Arrays1.2. Structures1.3. Functions1.4. Pointers
Week 3-4 Chapter 2: Complexity analysis

101
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2.1. Computational and asymptotic complexity


2.2. Big-O, Ω, Θ, little-o and OO notations
2.3. Common complexity classes
2.4. Best, average and worst case complexity
2.5. Amortized complexity
Week 4-5 Chapter 3: Linked lists
3.1. Singly linked lists
3.2. Doubly linked lists
3.3. Circular lists
3.4. Skip lists
3.5. Self-organizing lists
3.6. Sparse tables
Week 6-7 Chapter 4: Stacks and queues
4.1. Stacks
4.2. Queues
4.3. Eques
4.4. Priority queues
Week 8-9 Chapter 5: Recursion
5.1. Recursive definitions
5.2. Function calls and recursive implementation
5.3. Tail recursion
5.4. Nondaily recursion
5.5. Indirect recursion
5.6. Nested recursion5.7. Excessive recursion5.8. Backtracking
Week 10-11 Chapter 6: Simple Sorting and Searching Algorithms
6.1. Searching Algorithm
6.1.1. Linear Search (Sequential Search)
6.1.2. Binary Search
6.2. Sorting Algorithms
6.2.1. Insertion Sort6.2.2. Selection Sort6.2.3. Bubble Sort
6.3. Efficient sorting algorithms
Week 12-13 Chapter 7: Binary trees
7.1. Trees, binary trees and binary search trees
7.2. Implementing binary trees
7.3. Searching a binary tree
7.4. Tree traversal
7.4.1. Breadth-first
7.4.2. Depth-first
7.4.3. Stack less depth-first
7.5. Insertion7.6. Deletion

102
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

7.7. Balancing a tree


7.8. Self-adjusting trees
7.9. Heaps
7.10. Polish notation and expression trees
Week 14-15 Chapter 8: Hashing
8.1. Hash functions8.2. Collision resolution

Summary of Teaching Learning Methods

The teaching-learning methodology will be student-centered with appropriate guidance of


instructor/s during the student’s activities. There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation

References
1. The main course text is ―Data Structures and Algorithms in C++‖ by A. Drozdek
(Brooks/Cole, 2001). However, there are no copies of this book in the FBE library. If you
can find a copy somewhere it is the best choice, as it covers everything that we will cover
in this course.
2. There is one eBook available on the department intranet: “Data Structures and Algorithms
with Object-Oriented Design Patterns in C++” by B. R. Press. this covers most topics in
this course.
3. Unfortunately, there are no books in the FBE library that specifically deal with data
structures and algorithms, but there are a number of books on C++ that will cover some
parts of the course.

Module Name Hardware and System Programming


Module Number 03
Category Compulsory
CP 27
Module Objective  Able to understand architecture of computers and able to operate on
different operating systems.

103
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 To give the students a knowledge of number of areas in theoretical


computer science and their hierarchical interconnections.
 Able to understand basic principles of Programming Languages
 To introduce the basic concepts and principles of compiler design. expose
students to the design and implementation of compilers
Module Computer Systems Operator/System Software Developer
Competence
Module Description Course No Title
SEng2031 Computer Organization and Architecture
SEng2032 Operating Systems and System Programming
SEng3031 Microprocessors and assembly Languages
SEng3032 Principles of Compiler Design
SEng4031 Real Time and Embedded System
Mode of delivery Parallel
Teaching Methods  Lecture based laboratory supported offering, student centered
approach
 Students should work projects in solving real world problems
 Group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Course Title Computer Organization and Architecture


Course Code SEng2031
CP 5(2hr Lecture, 3hr Tutorial)
Module Title Hardware and System Engineering
Module Number 03
Pre-requisites None
Year II
Semester I
Status of Course Compulsory

Course Description

104
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

This course introduces students to the fundamental computer organization and architecture
concepts. It covers digital systems, data representation, common digital components, register
transfer language and micro operations, basic computer organization and design, central
processing unit, memory organization, input-output organization, and pipeline and vector
processing; case study of at least two microprocessor families and other components of computing
system.
Course Goals or Learning Outcomes:
By the end of this course, students will be able to:
 Describe the basic structure and operation of a digital computer
 Explain in detail the operation of the arithmetic unit including the algorithms &
implementation of fixed-point multiplication & division. and floating-point addition,
subtraction,
 Identify different ways of communicating with I/O devices and standard I/O interfaces.
 Describe different performance enhancement of computer architecture
 Identify the processes involved in the basic operations of CPU
 Understand basic concepts of circuits and their design
Course contents
Week/Date TOPIC TO BE DISCUSSED
Week 1 Introduction to Digital Systems
1.1 Basic Concepts of digital systems
1.2 Logic gates
1.3 Boolean Algebra
1.4 Combinational circuit
1.5 Flip Flops
1.6 Sequential circuits
Week 2 Data Representation
2.1 Bits, bytes, and words
2.2 Numeric data representation and number bases
2.3 Fixed- and floating-point systems
2.4 Signed and twos-complement representations
2.5 Data types
2.6 Representation of nonnumeric data (character codes, graphical data)
2.7 Representation of records and arrays
Week 3 Common Digital Components

105
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3.1 Integrated Circuits


3.2 Decoders, multiplexers and registers
3.3 Binary counters
3.4 Memory units
Week 4 Register Transfer Language and Micro Operations
4.1 Register Transfer Language
4.2 Bus and Memory Transfer
Week 5 Register Transfer Language and Micro Operations
5.1 Arithmetic and Logic Operations
5.2 Shift Micro operations
Week 6 Basic Computer Organization and Design
6.1 Instructional Code
6.2 Computer Registers
6.3 Computer Instructions
6.4 Timing and Control
Week 7 Basic Computer Organization and Design
7.1 Memory Reference Instructions
7.2 Design of Basic Computer
7.3 Design of accumulator Logic
Week 8 Central Processing Unit
8.1 General Register Organization
8.2 Stack Organization
8.3 Instruction Formats
Week 9 Central Processing Unit
9.1 Addressing modes
9.2 Data Transfer and Manipulation
9.3 Program Control
9.4 Characteristics of RISC and CISC
Week 10 Memory Organization
10.1 Memory Hierarchy
10.2 Main Memory
10.3 Cache memory
10.4 Mapping Functions
Week 11 Memory Organization: External Memory
11.1 Magnetic Disks
11.2 RAID Technology
11.3 Optical disks
11.4 Magnetic Tape,
Week 12 Input-Output Organization
12.1 Peripheral Devices

106
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

12.2 Input-Output Interface


12.3 Asynchronous Data Transfer
12.4 Mode of Transfers
Week 13 Input-Output Organization
13.1 Priority Interrupts
13.2 Direct Memory Access (DMA)
13.3 Input-Output Processor (IOC)
13.4 Serial Communication
Week 14 Pipeline and Vector Processing
14.1 Parallel Processing
14.2 Pipelining
Week 15 Pipeline and Vector Processing
15.1 Vector Processing
15.2 Multiprocessors
Week 16 FINAL EXAM

Summary of Teaching Learning Methods


The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities. There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Summary of Assessment Methods:
The course will be assessed using the different assessment methods like: Quizzes, Reading
assessments, Assignments, and Final exam: As per the academic regulation
References
Text book: William Stalling, Computer Organization and Architecture: Designing for
Performance, 7th Edition, Prentice Hall, 2006

Course Title Operating Systems and System Programming


Course Code SEng2032
CP 7(3hr Lecture, 3hr Lab, 1 tutor )
Module Title Hardware and System Programming
Module Number 03
Pre-requisites None
Year II
Semester II
Status of Course Compulsory

107
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Description

What is an Operating System, history of operating system, operating system zoo; process concept,
process scheduling, inter-process communication; threads; CPU scheduling, basic concepts,
scheduling criteria, scheduling algorithms; process synchronization, the critical section problem,
semaphores, monitors, classical synchronization problems; deadlocks, avoidance, prevention,
detection; memory management, physical and virtual memory, swapping, allocation, paging,
segmentation; file systems, access methods, directory structure, file sharing and protection;
security, authentication, intrusion detection, encryption.

Course Goals or Learning Outcomes


By the end of this course, students will be able to:
 Explain the objectives and functions of modern operating systems
 Describe the functions of a contemporary operating system with respect to convenience,
efficiency, and the ability to evolve.
 Explain the different states that a task may pass through and the data structures needed to
support the management of many tasks.
 Explain conditions that lead to deadlock.
 Compare and contrast the common algorithms used for both preemptive and non-
preemptive scheduling of tasks in operating systems, such as priority, performance
comparison, and fair-share schemes.
 Explain the concept of virtual memory and how it is realized in hardware and software
Course contents
Week/Date TOPIC TO BE DISCUSSED
Week 1 Overview
5.1 Role and purpose of operating systems
5.2 History of operating system development
5.3 Types of operating systems
Week 2 Processes and process management

108
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

5.4 The process concept5.5 The threads concept


Week 3 Processes and process management (Cont.)
5.6 Inter-process communication
Week 4 Processes and process management
5.7 Process scheduling
Week 5 Processes and process management
5.8 Deadlock
Week 6 Memory management
5.9 Review of physical memory and memory management hardware
5.10 Overlays, swapping, and partitions
Week 7 Memory management
5.11 Paging and segmentation
5.12 Page placement and replacement policies
Week 8 Memory management
5.13 Working sets and thrashing
5.14 Caching
Week 9 Device management
5.15 Characteristics of serial and parallel devices
5.16 Abstracting device differences
Week 10 Device management
5.17Buffering strategies
5.18Direct memory access
5.19Recovery from failures

Week 11 File systems


5.20 Fundamental concepts (data, metadata, operations, organization, buffering,
sequential vs. non-sequential files)
5.21 Content and structure of directories
Week12 File systems
5.22 File system techniques (partitioning, mounting and un mounting, virtual file
systems)
5.23 Memory-mapped files
Week 13 File systems
5.24 Special-purpose file systems5.25Naming, searching, and access
Week 14 Security and protection
5.26 Overview of system security
5.27 Policy/mechanism separation Security methods and devices
Week 15 Security and protection
5.28 Protection, access, and authentication5.29Models of protection
5.30 Memory protection5.31Encryption

109
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

5.32 Recovery management


Week 16 FINAL EXAM

Summary of Teaching Learning Methods

The learning–teaching methodology will be student-centered with appropriate guidance of


instructor/s during the students ‘activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments and Group Discussions
Summary of Assessment Methods: As per the academic regulation
References
 Andrew Tanenbaum, Modern Operating Systems, 2nd Edition, USA, Prentice Hall, 2001
 William Stallings, operating Systems: Internals and Design Principles,5th Edition,
Prentice-Hall,2005

Course Title Microprocessor and Assembly Language


Course Code SEng3031
CP 5(2hr Lecture, 3hr Lab)
Module Title Hardware and System Programming
Module Number 03
Pre-requisites None
Year II
Semester I
Status of Course Compulsory

Course description
Microprocessor is the course used to provide an understanding of microprocessor hardware and
software. Technicians completing this course will work with microprocessor based equipment,
and be capable of distinguishing hardware from software faults. The superior students will also
be capable of participating in product development efforts, including support and development of
assembly language code.
Course learning outcomes: At end of the course, students will be able to:
 Describe the general architecture of a microcomputer system and architecture &organization
of 8085 & 8086 Microprocessor and understand the difference between 8085 and advanced
microprocessor.

110
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Understand and realize the Interfacing of memory & various I/O devices with 8085
microprocessor
 Understand and classify the instruction set of 8085 microprocessor and distinguish the use
of different instructions and apply it in assembly language programming.
 Understand the architecture and operation of Programmable Interface Devices and realize the
programming & interfacing of it with 8085 microprocessor.
Course contents
INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES
Introduction to Microprocessor Evolutions of microprocessor
Microprocessor based Systems
Microprocessor Instruction Sets & Various Computer Languages

MICROPROCESSOR ARCHITECTURE
Features of 8085 Microprocessor PIN Diagram f 8085Microprocessor
Address Bus & Multiplexed Address / Data Bus Control nd status signals
Power-supply and clock frequency
Externally initiated signals including Interrupts Serial I/O Ports
Block Diagram of 8085 Microprocessor 8085 Programming Model
8085 BUS organization and 8085 registers Microprocessor operations: Microprocessor
initiated Operations, Internal data operations,
Externally Initiated operations
Microprocessor Communication & Bus Timings De-multiplexing the Bus AD7 to AD0
Generating Control Signals 8085 Machine Cycles & Bus Timings Opcode Fetch Machine
Cycle Memory Read Machine Cycle Example of an 8085 – based microcomputer
MEMORY & I/O INTERFACING
Memory Classifications
Flip-Flop or Latch as a storage Element Memory Map and Addresses Memory Instruction
FetchMemory Interfacing:
Memory Structure & it’s Requirements Basic Concepts in Memory Interfacing Interfacing
Circuits

111
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Address Decoding & Memory Addresses Input & Output Devices:


I/Os With 8-Bit Addresses I/Os With 16-Bit Addresses Logic Devices for Interfacing Tri-State
Devices buffer
Encoders & Decoders Interfacing of I/O
Devices:
Basic Interfacing Concepts Interfacing Output Displays Interfacing Input Devices Memory
INSTRUCTION SET & PROGRAMMING TECHNIQUES
Instruction Formats:
Single Byte, Tow Bytes & Three Bytes Instructions Opcode
Format
Instruction Timings & Operation Status
DATA Transfer Operations, Arithmetic Operations, Logic Operations, Branch Operations,
Stack, I/O& Machine Control Instructions.
Looping, Counting and Indexing Counter and
Timing delays Stack and Subroutines
Code conversion, BCD Arithmetic operations and 16 Bit data operations How to write an
assemble language program & Execute a simple program
PROGRAMMABLE INTERFACE DEVICES
I/O & Timer IC & Programming of 8155
Programmable Peripheral Interface & Programming of 8255 8259 Programmable
Interrupt Controller
Display and keyboard controller
ADVANCE MICROPROCESSOR 8086
General Idea of Architectural Advancements of Microprocessors: Pipelining,
Cache memory, Memory
Management, Virtual Memory System
Features of 8086 Microprocessor Register Organization of 8086:
General Data Registers Segment
Registers
Pointer and Index Registers Flag Register
Internal Organization of 8086 Bus Interface

112
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Unit (BUI) Execution Unit (EU)


Memory Segmentation
Flag register and description of all flag bits Interrupts

Summary of Teaching Learning Methods


The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the students activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments and Group Discussions
Summary of Assessment Methods: As per the academic regulation
References
1. Ramesh Gaonkar, Microprocessor Architecture, Programming, and application with
8085, Penram International Publication,2011.
2. K. R. Venugopal & Rajkumar, Microprocessor x86 programming, BPB Publication,2007.
3. John Ufferbeck, The 8080/85 Family: Design, Programming & Interfacing, PHIIndia.
A. K. Ray & K. M. Bhurchandani, Advance Microprocessor and Peripherals, 2ndEdition, Tata
McGraw Hill,2006.
Course Title Principles of Compiler Design
Course Code SEng3032
CP 5(2hr Lecture, 3hr Laboratory )
Module Title Hardware and System Programming
Module Number 03
Pre-requisites Data structures and Algorithms, Programming
Year III
Semester II
Status of Course Compulsory

Course Description
This course will introduce students with the fundamental ideas surrounding the design and
implementation of high level programming languages. The course stress on underlying theoretical
concepts as well as significant practical sessions. Students will gain experience with different
programming languages and their basic structures. It also introduces language theory and
grammars.
Course Objectives

113
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

▪ Be aware of some of the wide variety of concepts available in various programming


languages.
▪ Understand basic representation of languages
▪ Be aware of some of the many trade-offs in programming language design and
implementation
▪ Understand the different phases of a compiler
▪ Understand the internal working principles of a compiler

Week/Date TOPIC TO BE DISCUSSED


Week 1-2 Chapter 1:Introduction to programming languages
▪ Definitions of programming languages
▪ The lexical and syntactic structure of a language
▪ Evolution of Programming Languages
▪ High-level programming languages
▪ Elements of Programming languages: Data elements, Data structures, Operators,
Assignment, Statements, Program units, Data environments, Parameter transmission,
Storage management.
▪ Programming Language basics:
Week 3-4 Chapter 2: Program language translation
▪ Language Processors: Compilers and translators, interpreters, pre-processors, assemblers,
linkers, loaders.
▪ Introduction to Compilers: The structure of a compiler, Lexical analysis, Syntax analysis,
Intermediate code generation, Optimization, Code generation, Bookkeeping, Error
handling, Compiler writing tools
Week 5-7 Chapter 3: Finite automata and lexical analysis
▪ The role of the lexical analyzer: Lexical scanning, token classes, keyword recognition.
▪ A simple approach to the design of lexical analyzers
▪ Strings and languages
▪ Regular expressions
▪ Finite automata (DFA and NFA)
▪ From regular expressions to finite automata
▪ Minimizing the number of states of a DFA
▪ A language for specifying lexical analyzers

114
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

▪ Implementation of a lexical analyzer


Week 8-9 Chapter 4: Syntax Analysis
▪ Context-free grammars
▪ Derivations and parse trees
▪ Capabilities of context-free grammars
▪ Basic Parsing Techniques: Parsers, Shift-reduce parsing, Operator-precedence parsing,
Top-down parsing, Predictive parsers, LR Parsers
Week 10-11 Chapter 5: Syntax-Directed Translation
▪ Syntax-directed translation schemes
▪ Implementation of syntax-directed translators
▪ Intermediate code, Postfix notation, Parse trees and syntax trees, Three-address code,
quadruples, and triples, Translation of assignment statements, Boolean expressions,
Statements that alter the flow of control, Postfix translations, Translation with a top-down
parser
▪ More about Translation: Array references in arithmetic expressions, Procedure calls,
Declarations, Case statements, Record structures
Week 12-13 Chapter 6: Symbol Tables and Errors
▪ The contents of a symbol table, Data structures for symbol tables, Representing scope
information
▪ Symbol tables: Implementation of a simple stack allocation scheme, Implementation of
block-structured languages, Storage allocation in block-structured languages
▪ Error detection and recovery: Errors, Lexical-phase errors, Syntactic-phase errors,
Semantic errors

Week 14-15 Chapter 7: Code optimization and code generation


▪ Introduction to code optimization:
▪ The principle sources of optimization: Loop optimization: The DAG representation of
basic blocks, Value numbers and algebraic laws, Global data-flow analysis
▪ Code generation: Object programs, Problems in code generation, A machine model, A
simple code generator, Register allocation and assignment, Code generation from DAG’s,
Peephole optimization
Week 16 Final Exam

Summary of Teaching Learning Methods


The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the students ‘activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments and Group Discussions
Lecture, assignments, projects and exercises: As per the academic regulation
References
1. John, Shelly and Roger Host, “computer studies: A first course”, Pitman publishing
company, London, 1984.

115
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2. Concepts of Programming Languages, 10th edition by Robert W. Segesta, Addison-


Wesley, 2013.
3. Alfred Ahom, Ravi Seth, Jeffery Ullman D. ―Compilers Principles, Techniquesand Tools
―, Addison- Wesley, 1988.
4. Glyn Emery, “elements of computer science”, Pitman publishing company, 1979.
5. Peter Linz, “An Introduction to Formal Languages and Automata”, D.C.Heath and
Company.
6. Cullen Schaffer, “ Principles of computer science”, prentice hall international Inc., 1988
7. Roger S.Pressman, “ software engineering- a practitioner’s approach”, McGraw-Hill
international edition, 1985
8. Richard M.Jones, “Introduction to Pascal”, CBS publishers and distributors, 1984.
Course Title Real time and Embedded System
Course Code SEng4031
CP 5(2hr Lecture, 3hr Lab, 1 tutor )
Module Title Hardware and System Programming
Module Number 03
Pre-requisites None
Year IV
Semester I
Status of Course Compulsory

Course description
This course provides a first Introduction into Real Time systems. Systems that provide time-bound
response are prevalent in many industrial applications. This course uses the C as the teaching
programming language. Important issues for Real Time systems are explored: synchronization,
communication and scheduling. Concepts are illustrated and reinforced through simulation of a
Real Time system. This is a core course for several BE(Hons)(E&E) majors, and an admissible
elective in other BE(Hons)(E&E) majors. Assessments include computer laboratory exercises, a
quiz and a final examination.
Learning outcomes
 Apply correctly the terminology , and list applications, of real time systems;
 Translate requirements of real-time systems into forms that can be encoded;

116
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Demonstrate the ability to work within the constraints imposed by the real-time aspects of
systems;
 Re-cast practical design problems into real time task models for the purpose of analysis,
evaluation or implementation;
 Evaluate the implications of design choices on real time system implementation;
 Explain the purpose and structure of a real time operating system;
 Apply simple real time functions using a real time operating system and a programming
language suitable for embedded real-time systems;
 Analyze and schedule real time task sets for a single processor;
 Apply real-time methodology to multiprocessor, and distributed systems;

Course contents
 Preliminaries: definitions, examples of embedded systems, computer organization concepts,
memory • ARM Cortex M0+ Hardware Overview: Ports, Registers, GPIO, Analog I/O,
ADC/DAC
 Communication: Parallel, USB/Serial, USART, SPI, TWI, Ethernet, Wireless
 Interrupts and Timers: ISRs, counter management
 Programming Languages: C for embedded systems and ARM specifically, Assembly, software
development environments and methods of programming
 RTOS Characteristics: Scheduling, priorities, reentrancy
 Modeling embedded systems: finite state machines and extensions
 Future of embedded systems: Networking and IOT (Internet of Things
Summary of Teaching Learning Methods
The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the students ‘activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments and Group Discussions
Summary of Assessment Methods: As per the academic regulation
References
 Real-Time Systems: Scheduling, Analysis, and Verification (John Wiley and Sons) by Prof.
Albert M. K. Cheng.

117
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Jonathan W. Valvano Embedded Systems: Real-Time Operating Systems for ARM® Cortex™-
M Microcontrollers Volume 3, Fifth edition, January 2019
 Jean J. Lacrosse, µC/OS-III: The Real-time Kernel for Texas Instruments Stellar is, Miriam.
 Remit H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy
Pieces (free online version available at http://www.ostep.org/)
 Thomas Anderson and Michael Dahlin, Operating Systems: Principles and Practice, ISBN
978-0-9856735-2-9
 Joseph Yiu, The Definitive Guide to the ARM Cortex-M3 and Cortex-M4 Processors, Third
Edition, 2013, ISBN: 978-012408082.
 For programming in C, see the EE312 text, or the Embedded Software in C online reference
by Jon Valvano and Ramesh Yerraballi.
 EE445L textbook: Jonathan Valvano, Embedded Systems: Real-Time Interfacing to ARM
Cortex M Microcontrollers, Volume 2, Fifth Edition, 2016, ISBN: 978-1463590154.
 Data sheets for most of the devices used in this class are available
at http://www.ece.utexas.edu/~valvano/Datasheets
Module Name Database Management Systems
Module Number 04
Category Compulsory
CP 10
Module Objective  To enable students design and administer database for an organization.
 To expand students’ knowledge on database that helps them in developing
applications that incorporate database with some Programming tool.
 Introduce concepts and applications of Data mining and warehousing.
Module Database Manager
Competence
Module Course No Title
Description SEng2041 Fundamentals of Database Systems
SEng2042 Advanced Database Systems

Mode of delivery Parallel


Teaching Methods  Lecture based laboratory supported offering, student centered
approach
 Students should work projects in solving real world problems
 Group discussion and presentation on assignments

118
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Assessment Assignments/mid exam/final exam/projects/laboratory exercises


Methods

Course Title Fundamentals of Database Systems


Course Code SEng2041
CP 5 (2hr Lecture, 3hr Lab )
Module Title Database Management Systems
Module Number 04
Pre-requisites None
Year II
Semester I
Status of Course Compulsory

Course Description
Database concepts related to data handling techniques, definition of a database and benefits of
database systems, functions and components of DBMS. Architecture for database systems: ANSI
SPARC architecture architectures, data model concepts and basic types of data models
(Hierarchical, Network and Relational data models). Emphasize on Relational data model: data
structures and integrity rules. Three levels Database design: (Conceptual, Logical and Physical
Database designing). Basics of Relational Languages (Relational Algebra, Relational calculus and
SQL)
Learning Outcomes
At the end of the Course students should be able to:
 Explain what a Database System is, and be able to identify its characteristics and
applications,
 Explain the different models of database,
 Design ER models from specifications and interpret them into relational tables,
 Write SQL statements for data creation and manipulation purposes,
 Describe how to optimize databases to the most efficient form,
 Distinguish and use relational model and relational algebra,
 Identify and fix the possible problems that may occur in securing data.

Course Content

119
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Topic Duration(Week)
Chapter 1 Introduction 1-2
1.1 Data Handling approaches
1.2 Roles in Database Design & Development
1.21Data and Database Administrator
1.22Database Designer
1.23Application Programmer
1.24End-Users
1.3 The ANSI-SPARC Architecture
1.4 Functions of DBMS
1.5 Data models and conceptual models
1.6 Database Languages (DDL, DML,DCL)
Chapter 2:Relational Data Model 3-4
2.1 Terminologies
2.2 Relational Constraints
2.3 Relational Integrity
2.4 Key constraints
2.5 Referential constraints2.6 Relational languages and views
2.7 Relational DBMS
Test 1 4
Chapter 3:Conceptual Database Design- E-R Modeling 5-7
3.1 Database Development Life Cycle
3.2 Basic concepts of E-R model
3.3 Problem with E-R models
3.4 Enhanced E-R models
Test 2 8
Chapter 4: Logical Database Design 9-10
4.1 Normalization
4.2 Process of normalization (1NF, 2NF, 3NF)
Chapter 5: Physical Database Design 11-12
5.1 Physical database design process
5.2 Database design and implementation for relational databases
Assignment 12
Chapter6. Query Languages 13-14
6.1 Relational Algebra6.2 Relational calculus
6.3 Structured Query Languages(SQL)
Chapter 7: Advanced Database Concepts 15
7.1 Integrity and security
7.2 Integrity
7.3 Data security

120
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

7.4 Client-server systems


7.5 Distributed Database Systems
7.6 Data warehousing and data Mining
Final exam 16

Summary of Teaching Learning Methods:


The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the students ‘activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments and Group Discussions
Summary of Assessment Methods: - As per the academic regulation

References
 Connolly T., Beg C. and Strachan A.: Database Systems, 2nd, 3rd and 4th ed. Addison-
Wesley Publishing Company.
 RamezElmasri, Shamkant B. Navathe , Fundamentals of Database Systems( 4thed ) , USA,
Addison-Wesley, 2004
 C.J.DATE, Introduction to Database systems (8thed), USA, Addison Wesley, 2003
Abraham Silberschatz, Henry F.
 Korth, S. Sudarshan, Database System Concepts (4thed), USA, McGraw Hill Inc., 2002.
Course Title Advanced Database Systems
Course Code SEng2042
CP 5 (2hr Lecture, 3hr Lab )
Module Title Database Management Systems
Module Number 04
Pre-requisites Fundamentals of Database Systems
Year III
Semester I
Status of Course Compulsory

Course Description
This course includes Query processing and optimization; data base administration, performance
tuning, recovery and back up; object-oriented database, design techniques, and implementation
issues; advanced and emerging database systems concepts – data warehousing, data mining…

121
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Learning Outcomes
At the end of this course the students will be able to:
 Explain database query processing and optimization
 Explain the basics of transaction management
 Describe database security
 Use different recovery methods when there is a database failure
 Design a distributed database system in homogenous and heterogeneous environments

Course Contents
Topic Duration(Week)
Chapter 1: Transaction Management and Concurrency Control 1 -2
1. Transaction
2. Transaction Support
3. Concurrency Control
4. Problems of Concurrent Sharing
5. Concept of Serializability
6. Concurrency Control Mechanism
7. Database Recovery
8. Transaction and Recovery
9. Recovery techniques and facilities
Chapter 2: Query Processing and Optimization 3-4
2.1 Overview
2.2 Query Processing steps
2.3 Query Decomposition
2.4 Optimization Process
2.5 Approaches to Query Optimization
2.6 Transformation Rules
2.7 Implementing relational Operators
2.8 Pipelining
Chapter 3: Database Integrity, Security and Recovery 5-7
3.1 Integrity
3.1.1 Integrity Concept & Subsystem
3.1.2 Integrity Constraints

122
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3.1.3 Types of Constraints


3.2 Security
3.2.1 Database threats
3.2.2 Identification and Authentication
3.2.3 Categories of Control
3.2.4 Implementation of Security Subsystem
3.2.5 Data Encryption
Test 2 8
Chapter 4: Distributed Database Systems 9-11
4.1 Concepts of Distributed Databases
4.2 Distributed Database Design
4.3 Distributed Query Processing and
4.4 Distributed Transaction Management and Recovery
Chapter 5: Object Oriented DBMS 12-13
1.1 Object Oriented Concepts (Abstraction, Encapsulation, and Information End of week 13
hiding)
1.2 Drawbacks of relational DBMS
1.3 OODBMS definitions
1.4 OO Database Design and Implementation
1.5 OO Data modeling and E-R diagramming
1.6 Object and Attributes
1.7 Object Identity
1.8 Storing object in relational database systems Assignment
Chapter 6. Data warehousing and Data Mining Techniques 14-15
6.1 Data Warehousing
6.1.1 Introduction
6.1.2 Benefits
6.1.3 Online Transaction Processing (OLTP) and Data
Warehousing
6.2 Data Mining
6.2.1 Introduction
6.2.2 Data Mining Techniques
Final Exam 16

Summary of Teaching Learning Methods:


The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the students ‘activities. There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments and Group Discussions
Summary of Assessment Methods: As per the academic regulation

123
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

References
1. Connolly T., Beg C. and Strachan A.: Database Systems, 2nd, 3rd and 4th ed. Addison-Wesley
Publishing Company.
1. Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database Systems (4thed),
USA, Addison-Wesley, 2004
2. C.J. DATE, Introduction to Database systems (8thed), USA, Addison Wesley, 2003
3. Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts (4thed),
USA, McGraw Hill Inc., 2002.
4. Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Wisdom, Database Systems: The
Complete Book , USA, Prentice Hall, 2002.
4. Ramakrishnan R. and Gehrke J., Database Management Systems (3rded), USA, McGraw
Hill, 2003
Module Name Software Engineering Core
Module Number 05
Category Compulsory
CP 39
Module Objective  Able to understand in detail software engineering approaches
to develop large systems.
 Enables to fully understand and model the problem for which
a software system is to be implemented.
 Able to apply the software process and project management
to industry level quality software development application
and to develop a real world project in a professional way.
 Enables to find out the potential risks of a software project
ahead of time and act on them before they damage the project.
 Able to understand how to conduct communication and how
to raise their own business
Module Analyst/project manager
Competence
Module Description Course No Title
SEng2051 Fundamentals of Software Engineering
SEng3051 Requirements Engineering
SEng3052 Software Architecture and Design
SEng3053 Software Engineering Tools and Practices
SEng4051 Software Testing and Quality Assurance

124
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

SEng5051 Software Evaluation and Maintenance


SEng5053 Software Metrics
Mode of delivery Parallel
Teaching Methods  Lecture based laboratory and tutorial supported offering,
student centered approach
 Students should work projects in solving real world
problems
 Group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Course Title Fundamentals of Software Engineering


Course Code SEng2051
CP 5(2hr Lecture, 3hr Tutorial)
Module Title Software Engineering Core
Module Number 05
Pre-requisites None
Year II
Semester I
Status of Course Compulsory

Course Description
This course provides an introduction to the problems of software development and the processes
and methods used to address them. All phases in the software development life cycle, except
testing and maintenance which are postponed to Advanced Software Engineering, will be
introduced. The course also deals with software project planning, cost estimation, tracking and
control, staffing, risk management, and software configuration plan.
Learning Outcomes
At the end of the course, the student should be able to do the following:
 Understand the basic principles of Software Engineering
 Understand software process and state-of-the-arts software process models
 Write requirements specification documents
 Design a system, component, or process to meet desired needs.

125
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Content
Week Lecture Topics
1 Chapter 1: Introduction & Overview
What is software?
What is software engineering?
Why Software Engineering?
Software quality
Software Engineering and the Engineering Profession Ethics in Software Engineering
2- 4 Chapter 2: Software processes & Models
Sequential Software Process models Iterative Software Process models
5 Chapter 3: Agile Development
What Is Agility?
Agility and the Cost of Change
What Is an Agile Process?
Extreme Programming (XP)
Other Agile Process Models
6-8 Chapter 3: Requirement Engineering
Software Requirements
Requirement Engineering Process
System Models
9-10 Chapter 4: Software Project management
Responsibility of Software Project Managers,
Project Planning,
the organization of SPMP document,
Project Size Estimation Metrics, Project Estimation Techniques,
Scheduling, Organization and Team Structures,
11-13 Chapter 5; Software Design
Software Design Software Architectures Function Oriented Design
Detailed Design
14-15 Chapter 6; Coding
Programming Principles & guidelines Coding process
Validation & Verification Metrics

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: -As per the academic regulation
References
1. Ian Sommerville (2011), Software Engineering 8th or later edition. Pearson Education Ltd.
2. Fundamental Software Engineering by Rajib Mall 2nded, Prentice Hall, India, 2004

126
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3. Software Engineering: A Practitioner‘s Approach, Seventh Edition (2010) 7th Edition by


Pressman, Roger S, McGraw-Hill Companies, Inc.
Course Title Requirements Engineering
Course Code SEng3051
CP 6(3hr Lecture, 3hr Tutorial)
Module Title Software Engineering Core
Module Number 05
Pre-requisites None
Year III
Semester I
Status of Course Compulsory

Course Description
Requirement engineering is the branch of software engineering concerned with the real world goals
for, functions of, and constraints on software systems. It deals with the real-world goals; it bridges
the informal world of stakeholder’s needs, and the formal world of the software behavior.
Requirement engineering also deals with the precise specifications of software behavior.
Requirement engineering is concerned with the ‘what’ aspects of the system and it sets the
guidelines that the designers will draw upon and the testers will refer to. Lastly, requirement
engineering deals with the evolution over time and evolution across software families.
Requirement engineering copes with the changes in real world systems and provides reusable
features
Learning Outcomes
At the end of this course the students will be able to:
 understand the importance of requirement engineering in system development Know the
techniques of requirement elicitation
 Understand the role of requirement document in the development process
 Write requirement specification documents
 Appreciate how the requirement directly or indirectly affects the product.
 Know about different types of requirements
 Understand the role of stakeholders in the RE process
 Elicit requirements using different elicitation techniques
 Specify and document requirements

127
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Validate documents
 Prioritize requirements
Course Contents
Weeks Lecture Topics Reading /Assignments
1 Chapter 1: Introduction to Requirement R1: pg.1-24, 187-214
Engineering R2: pg.1-36
 What is requirement engineering? R3: pg.1-16, 135-202
 Software Requirements Engineering: R4: pg.1-14,
What, Why, Who, When, and How R5: Part I (Chapter 1, 2 & 3)
 Non-functional requirements R6: pg.1-60
2 Chapter 2; Requirement Engineering Process R1: pg. 25-52
 Process Models R3: pg. 19-63, 283 - 302
 Actors in Requirements engineering R4: pg.25-46
process R5: pg. part II (chapter 5, 6 &
 Process support 7)
 Process Improvement
3-5 Chapter 3: Requirement Elicitation and Analysis R1: pg. 53-86
 Elicitation and Analysis Process R2: pg. 63-160
 Elicitation Techniques R3: pg. 67-92
 Prototyping R6: pg. 61-105
 Requirement Analysis and Negotiation R12, R13 & R16
R11: Part II (Chapter 7)
6 Chapter 4: Requirement Specification R2: pg. 161;188, 299-330
 Modelling R3: pg. 223-258
 Writing requirement documents R4: pg. 47-92
R11: Part II (Chapter 13)
7-8 Chapter 5: Requirement Validation R1: pg. 87-112
 Requirement review R2: pg. 189-214
 Prototyping R4: pg. 159-180
 Model validation R5: Part II (Chapter 15)
 Requirement testing R11: Part II (Chapter 17)
9-10 Chapter 6: Requirement Management R1: pg. 133-136
 Stable and volatile requirements R2: pg. 215-254
 Requirements identification and storage R6: pg. 109-126
 Change management R5: Part III (All chapters)
 Traceability R15
11 Chapter 7: Requirement Engineering tools R11: Part IV (chapter 30)
12- Chapter 8: Requirement Engineering Techniques R1: pg. 137-186
13  Methods for RE R2: pg. 359-388
 Viewpoint-oriented Requirements
Methods
14 Chapter 9: Software Requirements and Risk R5: Part IV (Chapter 23)
Management R11:Part V (chapter 32)

128
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation

References
R1. Gerald Kotonya and Ian Sommerville (1998). Requirement Engineering: Process and
Techniques. UK, John Wiley and Sons LTD. (Textbook)
R2. Ian Sommerville & Pete Sawyer (1997). Requirement Engineering : A Good Practice Guide.
UK, John Wiley and Sons LTD.
R3. Suzanne Robertson, James Robertson (2006). Mastering the requirements Process Second
Edition, Addison Wesley Professional.
R4. Hull, Jackson and Dick(2010).Requirements Engineering, 2nd ed. Spring.
R5. Karl E. Wiegers (2003). Software Requirements, Second Edition.
R6. Ralph R. Young (2004). The Requirements Engineering Handbook. ARTECH HOUSE,INC.
R7. Soren Lauesen (2002).Software requirements: Styles and techniques. Addison-Wesley.
R8. Ian K Bray and Ian Bray (2002). An Introduction to Requirements Engineering.
R9. Johan F. Hoorn(2006). Software Requirements: Update, Upgrade, Redesign- Towards a
Theory of Requirement Change. Vrije Universiteit.
R10. Catherine Courage and Kathy Baxter (2005). A Practical Guide to User Requirements
Methods, Tools, and Techniques. Elsevier Inc.
R11. Karl E. Wiegers , Software Requirements, Third Edition Microsoft Press 2013

Course Title Software Architecture and Design


Course Code SEng3052
CP 6 (3hr Lecture, 3hr Laboratory)
Module Title Software Engineering Core
Module Number 5
Pre-requisites …

129
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Year III
Semester II
Status of Course Compulsory

Course Description
Involves analyzing and designing large scale software and apply different architecture styles to
Software design and to provide practical knowledge in software architecture.
Learning Outcomes
Up on the successful completion of the course the students will be able to:
 Understand the mechanisms and methods of software design principles
 Differentiate types of design patterns
 Apply the different types of design patterns in software development
 Understand Architectural styles and Quality Attributes.
 Understand common tools and terminology related to software architecture.
 Understand the role of the Software Architect with a development project.
 Use methods for constructing and evaluating architectures.
Course Content
Week Lecture Topics
1-3 Chapter 1: Introduction to software design
 What is software design?
 Objective of software design
 Software Design Activities
 Design considerations
 Design principles
 Introduction to User Interface Design
4-5 Chapter 2: Design Patterns
 What are design patterns
 Creational design patterns
 Structural design patterns
 Behavioral design patterns
6 Chapter 3: Envisioning Architecture
 The Architectural Business Cycle
 What is Software Architecture?
 Architectural structures and views
7-9 Chapter 4: Quality Attributes
 Understanding Quality Attributes
 Achieving Qualities (Tactics)

130
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Architectural style
10-11 Chapter 5: Architecture In The Life Cycle
 Architecture in the agile projects
 Architecture and requirements
 Designing and documentation
 Implementation and testing
 Architecture reconstruction and conformance
12-13 Chapter 6: Architecture And Business
 Economic analysis of Architecture
 Architecture competence
 Architecture and Software product lines
14-15 Chapter 7: Architecture in Advance
 Cloud Definition
 Architecture in Cloud
16 Project Presentation

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
Instructor/s during the student’s activities. There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation
References
1. Len Bass, Paul Clements, Rick Kazman, ―Software Architecture in Practice‖, 3rd edition
Pearson, 2013. (Text Book)
2. Mary Shaw, David Garlan, ―Software Architecture: Perspectives on an Emerging Discipline‖,
Prentice Hall, 1996.
3. Partha ,Kuchana, “Software architecture design patterns in Java”, AUERBACH
PUBLICATIONS, 2004.
4. Len Bass, Paul Clements, Rick Kazman, -Software Architecture in Practice,2nd edition
Addison-Wesley, 2003.
5. Booch G, Rumbaugh J, Jacobson I, “The Unified Modeling Language User Guide”, Addison-
Wesley, 1999.
6. Taylor R.N, Medvidovic N, Dashofy E. M, “Software Architecture: Foundations, Theory,
and Practice”, Wiley, 2009.
Course Title Software Engineering Tools and Practices
Course Code SEng3053

131
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

CP 5(2hr Lecture, 3hr Lab)


Module Title Software Engineering Core
Module Number 05
Pre-requisites None
Year III
Semester I
Status of Course Compulsory

Course Description
This course provides an introduction to the software engineering tools and practices – a look at
typical approaches software engineers use to create applications in practice. Topics include
requirements analysis, high-level design, detail-level design, UML modeling, code generation,
basic unit testing, application building, continuous integration, and revision management.
Laboratory assignments provide an opportunity for students to develop an understanding of these
tools and how they are used in actual practice.
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
• Create UML class, state, and sequence diagrams using a CASE tool
• Transform requirements documented as use cases into UML design models
• Generate source code from UML design models, and synchronize subsequent changes
• Create simple unit tests and execute them in a standard test framework
• Maintain source code and related design documents in a revision control system
• Create a deployable software package using an automated build tool
• Create an installable software package using an automated build tool
Course Content
Weeks Topics
1 Introduction to the course and software engineering practices (1 class)
2 Source code generation from UML models
3 Synchronizing source code with UML models
4-5 Use of a revision control system to archive source code and related
Documentation
6 Writing and executing Unit Tests using a framework

132
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

7 Use of an automated build tool for software package creation: meta-languages,


scripts, rules, targets, actions
8-9 Software requirements analysis: reading use case scenarios and use case textual
Analysis
10 High-level design: requirements coverage, communication diagrams

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation
References
1. J. Warmer, A. Kleppe 2003 The Object Constraint Language: Getting Your Models
Ready for MDA 2nd ed. Addison-Wesley Professional
2. H. Habrias, M. Frappier 2000 Software Specification Methods: An Overview Using a
3. Case Study (Formal Approach to Computing and Information Technology) Springer-Verlag
4. M. Christensen, M. Dorfman, R.H. Thayer (eds.). 2002 Software Engineering Vol. 1, 2,
3rd ed. Wiley-IEEE Computer Society Press
5. H. Hußmann 2002 Formal Specification of Software Systems TechnischeUniversität
Dresden, http://www-st.inf.tu-dresden.de/fs/
6. Kleppe, J. Warmer, W. Bast 2003 MDA Explained: The Model Driven Architecture-
Practice and Promise Addison-Wesley Professional
7. S.L. Pfleeger 2009 Software Engineering: Theory and Practice 4th ed. Prentice Hall
8. C.-L. Chang, R.C.-T. Lee 1997 Symbolic Logic and Mechanical Theorem Proving Academic
Press
9. OMG 2012 UML 2.3 OCL Specification Object Management Group,
http://www.omg.org/spec/OCL
10. J. Bowen 1996 Formal Specification and Documentation using Z: A Case Study Approach
Thomson publishing http://www.zuser.org/zbook
11. J.L. Turner, T.L. McCluskey 1992 The Construction of Formal Specifications: An Introduction
to the Model-Based and Algebraic Approaches http://helios.hud.ac.uk/scomtlm/book.pdf
12. https://faculty-web.msoe.edu/hornick/Courses/se2030/index.htm

133
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Title Software Testing and Quality Assurance


Course Code SEng4051
CP 6 (3hr Lecture, 3hr Laboratory)
Module Title Software Engineering Core
Module Number 5
Pre-requisites
Year IV
Semester I
Status of Course Compulsory

Course Description:
This course is intended to provide in-depth coverage of software testing. The goal of the course is
to provide students with the skill to select and apply a testing strategy and testing techniques that
are appropriate to a particular software system or component. In addition the student will become
a capable user of test tools; will be able to assess the effectiveness of their testing activity; and will
be able provide evidence to justify their evaluation. The course will be supported by two practical
exercises involving the development of appropriate tests and the application of a range of testing
tools.
Learning Outcomes:
At the end of this course the students will be able to:
 Analyze requirements to determine appropriate testing strategies.
 Design and implement comprehensive test plans
 Instrument code appropriately for a chosen test technique
 Apply a wide variety of testing techniques in an effective and efficient manner
 Compute test coverage and yield according to a variety of criteria
 Use statistical techniques to evaluate the defect density and the likelihood of faults.
Course Contents
Week Lecture Topics
1 Chapter 1: SQA Concepts
 Basic notions: Quality Assurance, Detection vs. Prevention, Verification
& Validation, testing
2 Chapter 2: What is Software testing?
 Basics of Software Testing
 Software Testing Process
3 Chapter 3: Functional (Black Box) Testing

134
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 What is Functional Testing?


 Functional Testing Approaches
4-5 Chapter 4: Structural (White Box) Testing
 What is Structural Testing?
 Control flow based criteria
 Data Flow Testing
 Mutation Testing
6-7 Chapter 5: Levels of testing
 Unit testing
 Integration testing
 System Testing
 Regression Testing
 Acceptance testing (Alpha, beta)
8-9 Chapter 6: Static Testing
 Informal reviews Walk-through
 Technical review
 Management review
10-11 Chapter 7: Test Tools and Automation
 Testing Tool Acquisition
 Testing Tool Introduction and Deployment
 Classification of Testing Tools
12-13 Chapter 8: Test Process management and Improvement
 Software Testing Process (revision)
 Test Management
 Test Estimation
14-16 Chapter 9: Software Quality Assurance
 Software Quality Fundamentals
 Software Quality Management Processes
 Practical Considerations of Software Quality

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
Instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation
References
1. AnneMetteJonassen Hass (2008), Guide to Advanced Software Testing, artechhouse, INC.

Course Title Software Evolution and Maintenance


Course Code SEng5051
CP 6 (3hr Lecture, 3hr Tutorial)

135
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Title Software Engineering Core


Module Number 5
Pre-requisites
Year V
Semester I
Status of Course Compulsory

Course Description
The course focuses on the basic concepts of maintenance and how the concept of system evolution
fits into maintenance; different technical and managerial problems of maintenance; the formal
types of maintenance, and standard maintenance processes.
Learning Outcomes
Upon completion of the subject, students will be able to:
 Understand the maintenance process and system evolution, and apply metrics to manage
maintenance;
 Apply configuration management;
 Know the problem management process;
 Know the basic techniques for managing organizational issues; and
 Understand software reuse.
Course Content
Week Lecture Topics
1 Software Evolution and Maintenance Concepts
2 Maintenance Support Processes:
 Maintenance Planning,
 Evolution and Maintenance Testing,
 Configuration Management,
 Problem Management,
 Maintenance supporting tools.
3 Maintenance Measurements:
 Maintenance Metrics,
 Maintenance Cost Estimation.
4-5 Management and Organizational Issues:
 Organization Aspect of Maintenance,

136
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Maintenance Activities and Role,


 Outsourcing IT Maintenance,
 Managing the Maintenance
 Function, Maintenance Teams.
6-7 Maintenance Management Problems:
 Problems of Software Maintenance,
 Software Reuse,
 Legacy Systems.
8-9 Software Architecture Evolution
10-11 Maintenance and Reengineering.
12-13 Reverse Engineering:
 Program Analysis,
 Architecture Recovery,
 Software Complexity and Maintenance Metrics,
 Program Visualization
14-16 Forward Engineering:
 Refactoring,
 Code Transformation,
 Web-enabling.
 Software Reengineering Strategies and Management

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
Instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation
References
1. Mens, T., Demeyer, S., 2010, Software Evolution, 1st Ed, Springer.
2. Priyadarshi Tripathy, Kshirasagar Naik,2015, software evolution and maintenance: a
practitioner’s approach,Wiley & Sons, Inc.,
3. April, A., Abran, A., 2008, Software Maintenance Management: Evaluation and
Continuous Improvement, 1st Ed, Wiley-IEEE Computer Society.
4. IEEE Std 1219-1998, IEEE Standard for Software Maintenance
5. ISO/IEC FDIS 14764:2005(E), Software engineering - Software life cycle processes –
Maintenance
Course Title Software Metrics
Course Code SEng5051

137
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

CP 5 (3hr Lecture, 2hr Tutorial)


Module Title Software Engineering Core
Module Number 5
Pre-requisites
Year V
Semester I
Status of Course Compulsory

Course Description
This course is a step by step description of the software metrics. It includes introduction to
foundations of measurement theory, models of software engineering measurement, software
Products metrics, software process metrics and measuring management. The course is composed
of the following basic modules: Measurement theory (overview of software metrics, basics of
measurement theory, goal-based framework for software measurement, empirical investigation in
software engineering) Software product and process measurements (measuring internal product
attributes: size and structure, measuring external product attributes: quality, measuring cost and
effort, measuring software reliability, software test metrics, and object-oriented
metrics).Measurement management
Learning Outcomes
Students will be able to:
 Understand the theoretical aspects of software measurements.
 Demonstrate the knowledge of software metrics.
 Demonstrate the knowledge of using software metrics in software development, software
maintenance, and software project management.
 Demonstrate the knowledge of statistical analysis in software measurement.
 Demonstrate the knowledge of developing and calibrating predication systems.
 Demonstrate the knowledge of developing and maintaining a measurement program.

Course Content
Week Lecture Topics
1 Chapter 1: Overview of software metrics
 Introducing the course.
 What is software measurement?
 What are software metrics?

138
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

2 Chapter 2:The basics of measurement


 Metrology
 Property-oriented measurement
 Meaningfulness in measurement
 Measurement quality
 Measurement process
 Scale
 Measurement validation
 Object-oriented measurement
 Subject-domain-oriented measurement
3-4 Chapter 3: Goal-based framework for software measurement
 Software measure classification
 Goal-based paradigms: Goal-Question-Metrics (GQM) and Goal-
Question-Indicator-Metrics (GQIM)
 Applications of GQM and GQIM
 Case studies
5 Chapter 4: Empirical investigation
 Software engineering investigation
 Investigation principles
 Investigation techniques
 Formal experiments: Planning
 Formal experiments: Principles
 Formal experiments: Types
 Formal experiments: Selection
 Guidelines for empirical research
6-7 Chapter 5: Measuring internal product attributes: size
 Software size
 Software Size: Length (code, specification, design)
 Software Size: Reuse
 Software Size: Functionality (function point, feature point, object point,
use-case point)
 Software Size: Complexity
8-9 Chapter 6: Measuring internal product attributes: structure
 Software structural measurement
 Control-flow structure
 Cyclomatic complexity
 Data flow and data structure attributes
 Architectural measurement
10-11 Chapter7: Measuring cost and effort
 Software cost model

139
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 COCOMO and COCOMO II


 Constraint model
 Software Lifecycle Management (SLIM)
 Cost models: advantages and drawbacks
12 Chapter 8: Measuring external product attributes: quality
 Software quality
 Software quality models: Boehm's model, McCall's model, ISO 9126 model, etc.
 Basic software quality metrics
 Quality management models
 Measuring customer satisfaction
 Software Quality Assurance (SQA)
13 Chapter 9: Measuring software reliability
 Reliability concepts and definitions
 Software reliability models and metrics
 Fundamentals of software reliability engineering (SRE)
 Reliability management models
14 Chapter 10: Software test metrics
 Test concepts, definitions and techniques
 Estimating number of test case
 Allocating test times
 Decisions based on testing
 Test coverage measurement
 Software testability measurement
 Remaining defCP measurement
15-16 Chapter 11:Object-oriented metrics
 Object-Oriented measurement concepts
 Basic metrics for OO systems
 OO analysis and design metrics
 Metrics for productivity measurement
 Metrics for OO software quality
 Experience-based guidelines

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
Discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
References
1. Software Metrics: A Rigorous and Practical Approach, (2nd ed.), N.E. Fenton and S.L.

140
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Pfleeger, PWS Publishing, 1998.


2. Metrics and Models in Software Quality Engineering, Stephen H. Kan, 2nd ed., Addison-
Wesley Professional (2002).
3. Software Engineering Measurement, John C. Munson, Auerbach Publications, 2003
4. Software Metrics: Measurement for Software Process Improvement, BA Kitchenham,
Blackwell Pub, 1996.
5. Applied Software Measurement: Assuring Productivity and Quality, C. Jones, McGraw-
Hill,1996.
6. Software Engineer's Reference Book, J. McDermid (Edt.), Butterworth Heinemann, 1993.
7. Software Metrics: A Guide to Planning, Analysis, and Application, C. RavindranathPandian,
Auerbach Publications, CRC Press Company, 2004

Module Name Advanced Programming


Module Number 06
Category Compulsory
CP 15
Module Objective  Able to understand basic principles of Programming Languages and Compilers
 To design and implement different software and desktop applications,
 Develop client server programs
 Connecting application programs to a database
 Creating a simple server page
 Develop system programs
Module Programmer
Competence
Module Course No Title
Description SEng3061 Object Oriented Programming
SEng3062 Advanced programming
SEng4061 Mobile Application Development
Mode of delivery Parallel
Teaching Methods Lecture based laboratory and tutorial supported offering, student centered
approach
 Students should work projects in solving real world problems
 Group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

141
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Title Object Oriented Programming


Course Code SEng3061
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Advanced Programming
Module Number 06
Pre-requisites Fundamentals of Programming II (SEng2021)
Year III
Semester I
Status of Course Compulsory

Course Description
Student’s previous exposure to and skills in structured programming is assumed (although a review
of the necessary basic programming notions is included). The course is designed to introduce how
to develop business applications using object-oriented design methodology with Java as an
illustration programming language. It includes Object Oriented Programming paradigm and its
use; classes, Object, Abstraction and Encapsulation; Inheritance, Polymorphism, Creating
Graphical User interfaces (GUIs), Data Structures, Exceptions(Try, catch, and throw, finally how
exceptions affect the design of an application), File input/output (I/O), Threads and Java Database
Connectivity
Learning Outcomes
At the end of the course students will be able to:
 understand the principles of software engineering with emphasis on the various phases of
the software development life cycle
 Understand major concepts of object-oriented programming
 understand the programming environment as defined by compilers, interpreters, editors,
and other system software providing support for the programming activity
 develop skills in OO design and program development within an integrated development
environment
 Use arrays and other data structures
 To understand the concepts of encapsulation, inheritance
 Implement I/O functionality to read from and write to data and text files.
 understand object technology and its applications

142
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Explain the application of a variety of data structures, understand the advantages and
disadvantages of those structures
 To be familiar with object-oriented design concepts, and have had practical experience of
designing and implementing object-oriented software

Course contents
Weeks Lecture Topics
1-2 1. Chapter 1: Introduction to Object-Oriented Programming (OOP)
1.1. Overview of OOP?
1.2. Why Java?
1.3. The JVM and Byte Code
1.4. Basic concepts of OOP
1.4.1. classes
1.4.2. objects
1.4.3. members
1.4.4. class member visibility
1.4.5. encapsulation, inheritance and polymorphism
3-5 2. Chapter 2: The inside of objects and classes: More on OOP concepts
2.1. member methods and their components
2.2. instantiation and initializing class objects
2.3. constructors
2.3.1. default and parameterized
2.3.2. overloaded constructors
2.4. methods
2.5. access specifiers
2.6. accessors and mutators
2.7. calling and returning methods
2.8. static and instance members
6-9 3. Chapter 3: Inheritance
3.1. Concept of inheritance
3.2. Super classes and subclasses
3.3. Protected members
3.4. Overriding methods
3.5. Using this() and super()
3.6. Use of final with inheritance
3.7. Constructors in subclasses

143
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

10-12 4. Chapter 4: Polymorphism


4.1. Introduction4.2. Relationships among objCP in an inheritance hierarchy
4.3. Assigning reference of subclass to superclass-type variable
4.4. Assigning a superclass reference to subclass-type variable
4.5. Subclass method calls via superclass-type variable
4.6. Summary of allowed assignments between superclass and subclass variables
4.7. Multiple inheritance and interfaces
13-14 5. Chapter 5: Exception Handling
5.1. Exception handling overview5.2. The causes of exceptions
5.3. The Throwable class hierarchy5.4. Handling of an exception
5.5. The throw statement5.6. The finally clause
5.7. User defined exceptions
15-16 6. Chapter 6: Files and Streams
6.1. Introduction6.2. I/O classes6.3. File and File Dialog objects
6.4. Low-Level File I/O6.5. High-Level File I/O
6.6. Object I/O6.7. Random Access files

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities. The course will be delivered in the form of lectures, lab
session, group discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
References
1. Y. Daniel Liang, 2009. Int. to Java Programming Compressive version, Seventh Edition.
Atlantic State University
2. Deitel, 2010, Java for Programmers Second edition. Prentice Hall
3. Deitel, 2004. JAVA how to program.5th Ed. New Delhi: Prentice-Hall of India
4. R. Sahoo& G. Sahoo, 2001. JAVA 2 The complete reference book; New Delhi: Prentice- Hall
of India
5. C. Thomas Wu, 1999. An introduction to Object-Oriented Programming with Java; McGraw
Hill.
6. John Lewis & William Loftus, 1998. JAVA Software Solutions: - Foundations of Program
Design; Addison-Wesley.

Course Title Advanced Programming


Course Code SEng3062
CP 5 (2hrs Lecture, 3hrs Laboratory)

144
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Title Advanced Programming


Module Number 06
Pre-requisites Object-Oriented Programming
Year III
Semester II
Status of Course Compulsory

Course Description
This course covers topics on Java which includes:, AWT and Swing, I/O Streams, Multithreading,
Network Programming, Java database connectivity (JDBC), RMI, and Introduction to Servlets.
Learning Outcomes
At the end of this course, students should be able to:
 Carry out design and development of complex elements, such as user interfaces,
multiprocessing, and fault-tolerant components;
 Write TCP/IP Client Server applications using Sockets;
 Write Java applications using the JDBC to make database independent queries; and
 Call methods remotely.
Course Contents
Week Topics
Week 1 -3 Chapter 1 - AWT and Swing
1.1.Concepts of AWT and Swing
1.2.Event Handling
Week 4 & 5 Chapter 2 – Streams and File I/O
2.1. Streams
2.2. Various Stream classes
2.3. Using Streams
2.4. Object Streams
2.5. File Management
Week 6 & 7 Chapter 3 – Multi threading Concept
3.1. Threads vs. process
3.2. Multiple threads
3.3. Thread priorities
3.4. Synchronization
Week 8 & 9 Chapter 4 – Networking in Java
4.1. Connecting to a server
4.2. Implementing Servers in Java
4.3. Sockets, ports, URIs

145
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Week 10 & Chapter 5 – Remote Method Invocation


11 5.1. Overview of RMI
5.2. The RMI Registry
5.3. The Remote Interface
5.4. Implementing RMI
Week 12 & Chapter 6 – Java Database Connectivity
13 6.1. Database Systems – an Introduction
6.2. Structured Query Language
6.3. Installing and setting up JDBC
6.4. Basic JDBC Programming concepts
6.5. Populating a database
6.6. Executing Queries
6.7. Scrollable and Updateable Result Sets
Week 14 & Chapter 7 – Servlets
15 7.1.Servlet Overview and Architecture
7.2.Handling HTTP get Request
7.3.Handling HTTP get Requests Containing Data
7.4.Handling HTTP post request
7.5. Redirecting Requests to Other Resources
7.6. Multi-Tier Applications: Using JDBC from a Servlet
Week 16 Final Exam

Summary of Teaching Learning Methods


The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the students‘ activities .There will be Lecture, Demonstrations, Lab work
Tutorials, Reading assignments and group discussions. The course will follow a rigorous schedule
of assignments. Each assignment corresponds to a section of the course content and textbook.
Failure to keep up with the assignments will result in your failing the course. Each session builds
on the prior session and is a required building block for the following section. It is very difficult
for you to be successful in the course if you miss any class sessions.
Assessment Methods: - As per the academic regulation
References
S. Horstmann and Gary Cornell, Core Java 2 – Volume II- Advanced Features, Sun
Microsystems Press
Course Title Mobile Application Development
Course Code SEng4061
CP 5 (2hrs Lecture, 3hrs Laboratory)

146
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Title Computer Networking and Security


Module Number 06
Pre-requisites None
Year IV
Semester I
Status of Course Compulsory

Course Description
This course provides students with the concepts and techniques to design and develop mobile
applications with iOS/android OS and to understand the design and development process involved
and state-of-the-art mobile usability testing methods. Students will develop a series of smaller
iOS/android OS applications in weekly lab sessions as well as larger application as part of a course
project. In the process of developing these applications, students will develop a strong
understanding of the Swift programming language, iOS /android OS application development,
mobile-centered design, and how to ensure technical quality in software development. The course
utilizes a hands-on approach to guide students through learning and understanding the design and
development process. The course will address the need for facilitating a 'global' user experience,
through independent student projects that target a 'global or social' theme and deliver a complete
solution involving design, development, and usability testing of a localized and responsive mobile
application. This course is intended for students who have some prior programming experience.
The course will introduce you to the basics of the Android platform, Android application
components, Activities and their lifecycle, UI design, Multimedia, 2D graphics and networking
support in Android.
Learning Outcomes
After completing this course, students will be able to
 Describe the basic components of an Android application.
 Define the lifecycle methods of Android application components.
 Describe the basics of event handling in Android.
 Describe the basics of graphics and multimedia support in Android.
 Demonstrate basic skills of using an integrated development environment (Android Studio)
and Android Software Development Kit (SDK) for implementing Android applications.

147
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Demonstrate through a simple application the understanding of the basic concepts of


Android

Course Contents
Week Topic Reading List
1 Chapter 1: Introduction
1. Introduction to Mobile Computing
2. Introduction to Android Development Environment
2 Chapter 2: Factors in Developing Mobile Applications
2.1. Mobile Software Engineering
2.2. Frameworks and Tools
2.3. Generic UI Development
2.4. Android User
2.5. More on UIs
2.5.1. VUIs and Mobile Apps i. Text-to-Speech Techniques
2.5.2. Designing the Right UI
2.5.3. Multichannel and Multimodal UIs
3-4 Chapter 3: Intents and Services
3.1. Android Intents and Services
3.2. Characteristics of Mobile Applications
3.3. Successful Mobile Development
5-6 Chapter 4: Storing and Retrieving Data
4.1. Synchronization and Replication of Mobile Data
4.2. Getting the Model Right
4.3. Android Storing and Retrieving Data
4.4. Working with a Content Provider
7-9 Chapter 5: Communications Via Network and the Web
5.1. Communication, network and web
a. State Machine

148
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

b. Correct Communications Model


c. Android Networking and Web
5.2. Telephony a. Deciding Scope of an App
b. Wireless Connectivity and Mobile Apps
c. Android Telephony
5.3. Notifications and Alarms
a. Performance
b. Performance and Memory Management
c. Android Notifications and Alarms
10 -11 Chapter 6: Graphics and multimedia Graphics
a. Performance and Multithreading
b. Graphics and UI Performance
c. Android Graphics and
6.1. Multimedia
a. Mobile Agents and Peer-to-Peer Architecture
b. Android Multimedia
12-13 Chapter 7: Location
a. Mobility and Location Based Services
b. Android
14 Chapter 8: Putting It All Together (as time allows)
a. Packaging and Deploying
b. Performance Best Practices
c. Android Field Service App
15 Presentation
16 Final Exam
Teaching The course will be delivered in the form of lectures, demonstration, student
Strategy presentations, group discussions, and individual and group project works.
Assessment As per the academic regulation.
Criteria
Attendance Lecture: 85%, Laboratory : 100%
Role of Deliver lectures, motivate students to participate in class, assign and guide
Instructor(s) individual and group assignments, and assess performance of learners
Role of Attend lectures, participate in class discussions, do individual and group
Students assignments, present individual and group assignment in class, and attend quiz,
midterm and final examination.
Required software Mockups or similar functionality tool
and/or hardware
Reference 1. Text Book: Android Studio Development Essentials by Neil Smith, 2014,
CreateSpace Independent Publishing Platform; 2 edition, 978-1500613860.
2. T. Mikkonen, ‖Programming Mobile Devices: An Introduction for Practitioners‖,
Wiley, 2007.

149
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3. . DonnFolker, “Android Application Development for Dummies”, Wiley


Publishing Inc., 2011.
4. Mark L. Murphy, “Android Programming Tutorials”, Commonsware, Third
Edition, March 2011.
5. Use Android Developer Websites( http://developer.android.com)
&(http://www.tutorialspoint.com/android/)
6. William Stallings,” Wireless Communications & Networks”, Prentice Hall, 2005.

Module Name Computer Networking and Security


Module Number 07
Category Compulsory
CP 25
Module Objective  To design and configure network installations for different
organizations like switch, routers, and hubs.
 To maintain security of software systems
 To develop mobile applications
Module Competence Network/System Administrator/Mobile Application Developer
Module Description Course No Title
SEng2072 Fundamental of Networking
SEng3071 Web Design and Programming
SEng3072 Fundamental of Cloud Computing and IoT
SEng4071 Fundamental of Distributed Systems
SEng3073 Fundamental of Software Security
Mode of delivery Parallel
Teaching Methods  Lecture based laboratory supported offering, student centered approach
 Students should work projects in solving real world problems
 Group discussion and presentation on assignments
Assessment Methods Assignments/mid exam/final exam/projects/laboratory exercises

Course Title Fundamental of Networking


Course Code SEng2072
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Computer Networking and Security

150
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Number 07
Pre-requisites None
Year II
Semester II
Status of Course Compulsory

Course Description
Data Communication and Computer Networking is a course which deals about the basic concepts
of ways of communication, types of communications, basic types of networking devices, how
devices are communicating each other using the TCP/IP and OSI reference model, designing a
small LAN network using peer to peer connection, basic types of LAN and WAN protocols, the
Wireless Network and identifying the protocols which are working at the Application and
Transport layers.
General Objective
After completing the course the students are going to evaluate the application of Computer
Networking in today’s global communities who are linked by common goals and technologies.
Specific Objectives
 Analyze the principles of data communication, computer networks and inter-networking.
 Describe the trends of the rapidly evolving communication and networking technologies.
 Categorize the functions and design of different types of computer networks from LANs to
WANs.
 Evaluating the impact of data communication and networking technologies on society
 Comparing different types of designing and cabling a network
 Comparing of IPV4 and IPV6 IP addressing
 Evaluating a small network using basic Cisco IOS commands for routers and switches
Learning Outcomes
The programme provides a knowledge and understanding of the following: On successful
completion of this unit, students should be able to:
 Explain the principles of networking protocols and standards;
 Identify reference models and layered architectures in networking;
 Recognize network topologies, media types and network components;
 Identify the network (OSI) layers at which various network devices operate;

151
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Use some basic tools/utilities for network analysis;


 Employ basic cabling and network design techniques to connect devices.
Course contents
Chapter 1: Introduction to Data Communications and computer networks
 Basics of data communications
 Basic components of communication network
 Fundamentals of Information Transmission Media and Coding
 Types of networks [ PP &CS]
 Current and future networks
 Basic Data Communication Hardware [NIC, cables, Switch, Router, Hub, Bridge…]
 Basic types of network Topologies: ring, bus, star, and mesh
Chapter 2: Data Communication Layers
 OSI 7 layer reference model and concepts of open standards
 Motivations for standards
 ISO reference model
 Open standard
 Internetworking with TCP/IP; Structure
 Architectures
 Protocol standards
 Internet IP and Bandwidth
 The ISO protocol
Chapter 3: Network Layer
 Internetworking,
 IPV4 Addressing [Class full]
 IPV4 Addressing [ Classless- VLSM addressing ]
 Network layer protocols
 Unicast and multicast routing
 Introducing IPV6 Addressing
Chapter 4: Physical and data link Layers
 Physical Layer
 Coding and Multiplexing

152
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Data link layer overview


 Flow and error control
 Medium access control
 Local area networks [ Types, Protocols, Performance ]
 Wireless Networks
 Switching ,Bridging and VLANs
 Wide Area Networks [Packet switched data network, Circuit switched data networks,
 ISDN, Private networks]
 Internet data link control protocols: PPP and HDLC
Chapter 5: Transport Layer
 Overview & process to process delivery
 TCP and UDP
 Congestion control
 Multimedia Communication and Quality of service (QOS)
 Chapter 6: Application Layer
 Application layer overview
 DNS, SMTP, FTP, Telnet
 WWW & HTTP
 Socket programming using TCP and UDP
 Fundamentals of Queuing Theory
References
 Kurose, James F., and Keith W. Ross. Computer networking : a top-down approach.
Boston: Pearson, 2017
 A. S. Tanenbaum, Computer Networks, 5th ed, Prentice Hall, 2010
 W. Stallings, Data and Computer Communications, 10th ed. Prentice Hall, USA, 2014
Course Title Web Design and Programming
Course Code SEng3071
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title Internet and Web Technology
Module Number 7
Pre-requisites None
Year III

153
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Semester I
Status of Course Compulsory

Course Description
Although the World-Wide Web was initially conceived as a vehicle for delivering documents, it
is now being used as a platform for sophisticated interactive applications, displacing the traditional
mechanism of installable binaries. Web-based applications offer numerous advantages, such as
instant access, automatic upgrades, and opportunities for collaboration on a massive scale.
However, creating Web applications requires different approaches than traditional applications
and involves the integration of numerous technologies. This class will introduce students to the
Web technologies and give you experience creating Web applications. In the process students will
learn about markup languages, scripting languages, network protocols, interactive graphics, event-
driven programming, and databases, and see how they all work together to deliver exciting
applications. Consequently, the course will not hard coded content as the web development is very
dynamic. The instructor at the time should follow the trends at the time of the course by considering
properties of varies frameworks, new developments and other known universities syllabuses in
accordance with the Practical skill mentioned. The assessment method, books and other materials
must be chosen by the instructors at the time. However, Mozilla and w3school are listed in the
references section as these institutions drive the technology.
The objective of this course to introduce students with the current state of the art web application
technologies and integration of these technologies to create a robust, world class web application.
Learning Outcomes:
At the end of this course the students will be able to:
 Build websites, web frameworks using basic HTML, CSS and JavaScript
 Build client-side application that responsive
 Build web application that consist AJAX and Server-Side
 Build Web APIs that are read for many client-side applications
 Build applications with database and ORM/ODM integrations
 Build fully integrated enterprise application
Course Contents
Week Lecture Topics
1 CHAPTER 1 : OVERVIEW OF THE INTERNET AND WWW

154
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Computer program, programming language, Programming and the


Web, hypertext, www, HTML, Programming v. Scripting,
Client/Server Model , Universal Addressing (TCP/IP, DNS), Universal
Protocols (HTTP, URLs, HTML, FTP)
2-4 CHAPTER 2 : WEB DESIGN AND DEVELOPMENT
FUNDAMENTALS
HYPERTEXT MARKUP LANGUAGE (HTML): Why do we use
HTML?, HTML Document Structure, Basic HTML syntax, HTML
Tags
5-6 CHAPTER 3:CASCADED STYLE SHEETS (CSS)
Why use style sheets?, HTML vs. CSS, Anatomy of a CSS Rule, Linking HTML
and CSS,
7-10 CHAPTER 4: CLIENT-SIDE PROGRAMMING –JAVASCRIPT
what is Client-side programming?, What is JavaScript?, Common
scripting tasks, limitations of client-side scripting, JavaScript and Java,
JavaScript Terminology(ObjCP, Properties, Methods, Events, Functions,
Values, Variables, Expressions, Operators, …)
11-16 CHAPTER 5: SERVER- SIDE PROGRAMMING-PHP
Introduction to server-side programming – PHP: PHP Basic syntax, Send
Data to the Web Browser, Write Comments, Utilize Variables, Manipulate
Numbers, Work with constants, Flow Control, Manipulating Arrays,
String Manipulation, Working with Functions
Manipulating MySQL Databases with PHP: Connecting to Databases,
Send Data to a Database, Retrieve Data from a Database, Modify Existing
Data, Remove Existing Data

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
Discussions, and individual and group project works.
Assessment Methods: - As per BIT academic regulation
References:
 Harvey M. Deitel. 2nd and 4 thed. Internet and World Wide Web: How to Program.
 Goodman: Java script bible (3rd edition) Gage Publishing
 Deitel and Deitel. "Java - How to Program", Addison-Wesley Press, Reading,Mass.1998,
 David Flanagan. "Java in a Nutshell (Java 1.1)", Second Edition, O'Reilly and
 Associates Publishing, Sebastopol, CA, 1997.
 David Flanagan. "Java Examples in a Nutshell (Java 1.1)",

155
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 O'Reilly and AssociatesPublishing, Sebastopol, CA, 1997.


 Larry Wall and Randall Schariz. "Programming Perl", O'Reilly and AssociatesPublishing.
Sebastopol, CA, 1994
 Scott Oaks and Henry Wong. "Java Threads", O'Reilly and Associates Publishing.Sebastopol,
CA, 1997.
 Gary Cornell, Cay Horstmann. "Core Java", SUN Soft Press Publishing, Mountain View, 1996.
 S. Gundavaram. "CGI Programming on the World Wide Web", O'Reilly and

Course Title Fundamental of Cloud Computing and IoT


Course Code SEng3072
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Computer Networking and Security
Module Number 07
Pre-requisites None
Year III
Semester II
Status of Course Compulsory

Course Description
Cloud computing helps organizations realize cost savings and efficiencies without spending
capitalresourcesupfront,whilemodernizingandexpandingtheirITcapabilities.Cloud-based
infrastructure is rapidly scalable, secure, and accessible over the Internet—you pay only for
what you use. So, enterprises worldwide, big and small, are moving toward cloud-computing
solutions for meeting their computing needs, including the use of Infrastructure as a Service
(IaaS)andPlatformasaService(PaaS).Wehavealsoseenafundamentalshiftfromshrink-
wrapped software to Software as a Service (SaaS) in data centers across the globe. Moreover,
providers such as Amazon, Google, and Microsoft have opened their data centers to third
parties by providing low-level services such as storage, computation, and bandwidth. This
trend is creating the need for a new kind of enterprise architect, developer, QA, and
operational professional—someone who understands and can effectively use cloud-
computing technologies and solutions.

156
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Thepromiseofsignificantcostsavingsandinherentflexibilityofresourcesareanimpetusfor the
adoption of cloud computing by many organizations. Cloud computing also introduces
privacyandsecurityrisksthatarenottraditionallypresentinasiloeddatacenter.Thiscourse
focuses on these security concerns and countermeasures for a cloud environment. An
overview of cloud computing and virtualization, the critical technology underpinning cloud
computing, provides the necessary background for these threats. Additional topics vary but
may include access control, identity management, denial of service, account and service

Course Objectives
▪ CompareandContrastthevariouscloudservicemodels,clouddeliverymodels,key cloud
characteristics, roles and boundaries and important terminology
▪ Explain how virtualization technology has enabled cloud computing.
▪ Demonstrate how various cloud providers such as AWS, Google Compute and
Microsoft Azure implement and offer IaaS, PaaS and SaaS services.
▪ Outline,Classifyandcategorizehowinfrastructurecomponents(compute,storage,
network ,load balancers ,DNS)are delivered as Infrastructure as a Service
▪ Develop, deploy, manage and scale applications running in platforms such as Java,
Python Platform (PaaS).
▪ Consume, integrate and extend software services such as Productivity and business
applications and other services like database services.
▪ DescribehowcloudcanbeusedtoperformBigDataAnalyticsusingdistributed
computing technologies like Hadoop.
▪ Citecloudsecurityconcernsandillustratehowtobuildimplementsecurityacrossall layers.
▪ Explain the cloud automation concepts such as Dev Ops practices, Continuous
Integration and Deployment and how it automates cloud deployment.
▪ DemonstrateimplementingprivatecloudusingOpenStackcomponentsandservices.
▪ IdentifykeyarchitecturalprincipleswhiledesigningcloudapplicationsincludingSLAs,
pricing and preventing single-point-of-failures. related to cloud.
Learning outcomes

157
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 The Course provides a knowledge and understanding of the following: Develop and
deploy cloud application using popular cloud platforms,
 Designanddevelophighlyscalablecloud-basedapplicationsbycreatingand
configuring virtual machines on the cloud and building private cloud.
 Explain and identify the techniques of big data analysis in cloud.
 Compare, contrast, and evaluate the key trade-offs between multiple approaches to cloud
system design, and Identify appropriate design choices when solving real- world cloud
computing problems.
 Writecomprehensivecasestudiesanalyzingandcontrastingdifferentcloud
computing solutions.
 Make recommendations on cloud computing solutions for an enterprise.
 articulate the main concepts, key technologies, strengths, and limitations of cloud
computingandthepossibleapplicationsforstate-of-the-artcloudcomputing
 Identify the architecture and infrastructure of cloud computing, including SaaS, PaaS,
IaaS, public cloud, private cloud, hybrid cloud, etc.
 Explain the core issues of cloud computing such as security, privacy, and interoperability.
 Choose the appropriate technologies, algorithms, and approaches for the related issues.
 Identify problems, and explain, analyze, and evaluate various cloud computing solutions.
 Provide the appropriate cloud computing solutions and recommendations according to
the applications used.
 Attempt to generate new ideas and innovations in cloud computing.
 Collaboratively research and write a research paper, and present the research online.
 Effectively communicate course working writing and oral presentation.
Course contents
Part I: Cloud Computing
▪ Cloud Computing Overview,
▪ Data Center and Virtualization,
▪ IaaS Compute
▪ IaaS Storage
▪ IaaS Networking Cloud Databases
▪ PaaS Big Data and Cloud Security SaaS

158
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

▪ DevOps and the Cloud Miscellaneous Topic in the Cloud


Part II: Cloud Security
▪ Fundamentals of Cloud Security Virtualization Trustworthy
computing
▪ Secure Computation Cloud Management Data Management
▪ Data Security Regulatory Compliance Forensics and
Malware

References
 “CloudComputing:Concepts,TechnologyandArchitecture”byThomasErlandRicardo
Puttini
 ArchitectingtheCloud:DesignDecisionsforCloudComputingServiceModels(SaaS,PaaS,
& IaaS) “Cloud Computing Explained” by JohnRhoton
 “Cloud Computing for Programmers” by DanieleCasal
 “CloudSecurity:AComprehensiveGuidetoSecureCloudComputing”byRonaldLKrutz
and Russell DeanVines
 “CloudComputing:SaaS,PaaS,IaaS,Virtualization,BusinessModels,Mobile,Securityand
More” by KrisJamsa
 NISTCloudComputingSecurityReferenceArchitecture:NiSTSP500-299
 PrinciplesofSecurityinCloudComputing,BalamuruganS.,CharanyaaS.
Course Title Fundamental of Distributed Systems
Course Code SEng4071
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Computer Networking and Security
Module Number 07
Pre-requisites None
Year III
Semester I
Status of Course Compulsory

Course Description

159
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

This course is an introductory course in distributed systems. The emphasis will be on the
techniques for creating functional, usable, and high-performance distributed systems. To make the
issues more concrete, the class includes several multi-week projects requiring significant design
and implementation.

Learning Outcomes
After this course, students will have learned to:
 Implement and structure distributed systems programs.
 Write programs that can interoperate using well-defined protocols.
 Debug highly concurrent code that spans multiple programs running on multiple cores and
machines.
 Reason about distributed algorithms for locking, synchronization and concurrency,
scheduling, and replication.
 Use standard network communication primitives such as UDP and TCP.
 Understand the general properties of networked communication necessary for distributed
systems programming in clusters and on the Internet.
 Employ and create common paradigms for easing the task of distributed systems
programming, such as distributed file systems, RPC, and Map Reduce. Be able to clearly
elucidate their benefits, drawbacks, and limitations.
 Identify the security challenges faced by distributed systems programs.
 Be able to select appropriate security solutions to meet the needs of commonly encountered
distributed programming scenarios.
Course contents
Week Topic
1-2 Chapter 1: Introduction to distributed system
definition characteristics
organization and goals of distributed systems
hardware and software concepts the client-server model
3-4 Chapter 2: Communication
layered protocols client-server TCP
middleware protocols
remote procedure call and remote object invocation
message oriented and stream oriented communication
Quality of Service
5-6 Chapter 3: Processes
threads and their implementation
clients and servers and design issues
object servers and adaptors
code migration
software agents and agent technology

160
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

agent communication languages


7-8 Chapter 4: Naming
naming entities
name spaces and name resolution; DNS and X.500
different approaches in locating mobile entities
identifying and removing (unreferenced) unreachable entities
9-10 Chapter 5: Synchronization
clock synchronization, physical clocks and clock synchronization
algorithms
logical clocks and time stamps global state
distributed transactions and concurrency control
election algorithms
mutual exclusion and various algorithms to achieve mutual Exclusion
11-13 Chapter 6: Consistency and Replication
reasons for replication and object replication
replication as scaling technique data-centric and client-centric consistency models
distribution and consistency protocols
implementation example: Orca
14-16 Chapter 7: Fault Tolerance
basic concepts failure modes failure masking by redundancy
process resilience reliable client-server and group communication
distributed commit recovery

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, laboratory sessions, group
Discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
References
1. K. Birman, Building Secure and Reliable Network Applications, Manning Publications
Co., 1996
2. S. Tanenbaum and Maarten van Steen, Distributed Systems, Principles and Paradigms,
Prentice Hall, 2002
3. S. Mullender, Distributed Systems, 2nd edition, Addison-Wesley, 1993

Course Title Fundamental of software Security


Course Code SEng3073
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Computer Networking and Security
Module Number 07
Pre-requisites None

161
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Year III
Semester I
Status of Course Compulsory

Course Description
This course we will explore the foundations of software security. We will consider important
software vulnerabilities and attacks that exploit them -- such as buffer overflows, SQL injection,
and session hijacking -- and we will consider defenses that prevent or mitigate these attacks,
including advanced testing and program analysis techniques. Importantly, we take a "build security
in" mentality, considering techniques at each phase of the development cycle that can be used to
strengthen the security of software systems.

Learning Outcomes
At the end of the course, the student should be able to:
 Understanding the role that software plays in providing security and as source of insecurity
 Understand Principles, methods & technologies to make software more secure Typical threats
& vulnerabilities that make software less secure, and how to avoid them
 Know how to prevent them entirely, or mitigate their effects, by improving the software's
design and implementation.
 Know state-of-the-art tools and techniques for testing and otherwise verifying that software
is secure.
 Know how to "build security in" rather than consider it as an afterthought, and will have a
plethora of skills, applicable at each phase of the development cycle, that can be used to
strengthen the security of software systems.
Course Contents
Weeks Lecture Topics
1 hat is security? Key Objectives of Security Computer Security Challenges
Security Services and Mechanisms Security Attacks Security Techniques
Model for Network Security
2 Secure Design Principles, Secure System Design
3 Cryptography
Overview of cryptanalysis Encryption Techniques
✓ Symmetric cryptography (DES, AES)
✓ Public key cryptography (RSA)

162
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

✓ Key management and exchange


✓ Cryptographic hash functions and certi
4 Application and OS Security
Application code attacks (buffer overflow)
✓ Prevention: System design, robust coding, isolation.
✓ Users management
✓ Enforcement of security
✓ OS Access control, authentication
✓ Risk management
✓ Information Security: Policies and Procedures
✓ Legal Issues and Information Security: Computer Forensics
5 Web, Network, data, Mobile security
6 Risk management frameworks and processes
7 Worms and other Malwares
8 Buffer Overflows
9 Security System assessment and evaluation
10 Code review using static analysis tools
11 Security and Penetration testing
12 Abuse case development

Summary of Teaching Learning Methods


The learning–teaching methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities .There will be Lecture, Demonstrations, Laboratory
sessions, Reading assignments and Group Discussions
Assessment Methods: - As per the academic regulation
References
1. Software Security: Building Security In (2006), by Gary McGraw, Addison-WesleyProfessional
2. Secure Software Development: A Security Programmer's Guide (2008), by JasonGrembi,
Delmar Cengage Learning
3. Exploiting Software: How to Break Code (2004), by Greg Hoglund& Gary McGraw, Addison-
Wesley Professional
4. Foundations ofSecurity:What Every Programmer Needs to Know(2007), byNeil Daswani,
Christoph Kern and Anita Kesavan (Text book)

Module Name Graphics and Human Computer Interaction


Module Number 08

163
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Category Compulsory
CP 12
Module Objective  Able to understand basics of multimedia and easily perform
computer graphics programming.
Module Computer Graphics and Human Computer Interaction
Competence
Module Description Course No Title
SEng5082 Hunan Computer Interaction
SEng5081 Computer Graphics and Multimedia
Mode of delivery Parallel
Teaching Methods Lecture based laboratory supported offering, student centered
approach
 Students should work projects in solving real world problems
 Group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Course Title Human Computer Interaction


Course Code SEng5082
CP 5 (2hrs Lecture, 3hrs Tutorial)
Module Title Computer Graphics and Human Computer Interaction
Module Number 8
Pre-requisites None
Year V
Semester II
Status of Course Compulsory

Course Description
The course is aimed to solve real problems in the design and use of technology, making computer-
based systems easier to use and more effective for people and organizations to bring people joy,
rather than frustration. Ease of use and effectiveness are critical to the success of any
Systems that interact with people, including software systems, home, office and factory appliances,
and web and phone applications.
Learning Outcomes
Up on the successful completion of the course the students will be able to:
 Describe the cognitive principles and its application to interfaces and products.

164
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Explain the conceptual terms for analyzing human interaction with products such as
affordance, conceptual model, and feedback.
 Analyze different user populations with regard to their abilities and characteristics for using
both software and hardware products.
 Demonstrate prototype skill to develop a user interface
 Describe the connection between the development of a user interface and the user‘s
knowledge of an application domain.

Course Contents
Duration(Week) Lecture Topic
Week 1 Chapter 1: Introduction
1.1.Definition1.2.Historical background
Week 2 Chapter 2: Human in HCI
2.1. Information input/output
2.2. Memory
2.3. Reasoning, problem solving, skill and error
2.4. Emotion
2.5. Individual difference
Week 3 & 4 Chapter 3: Computer in HCI
3.1. Input device
3.2. Output device
3.3. Virtual reality
3.4. Physical interaction
3.5. Paper
3.6. Memory
3.7. Processing
Week 5 &6 Chapter 4: Interaction
4.1.Introduction
4.2.Models of interaction
4.3.Ergonomics
4.4.Interaction styles
4.5.The context of the interactions
4.6.Paradigms
4.7.Paradigms for interaction
Week 7, 8 & 9 Chapter 5: Interaction Design and HCI in the Software Process
5.1.Interaction Design
5.1.1. Introduction

165
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

5.1.2. What is design?


5.1.3. User focus
5.1.4. Scenarios
5.1.5. Navigation design
5.1.6. Screen design and layout
5.1.7. Interaction and prototyping
5.2.HCI in the Software Process
5.2.1. Introduction
5.2.2. The software lifecycle
5.2.3. Usability engineering
5.2.4. Interactive design and prototyping
5.2.5. Design rationale
Week 10 & 11 Chapter 6: Design Rules and Implementation support
6.1. Design Rules
6.1.1. Introduction
6.1.2. Principles to support usability
6.1.3. Standards
6.1.4. Guidelines
6.1.5. Golden rules and heuristics
6.1.6. HCI patterns
6.2. Implementation Support
6.2.1. Introduction
6.2.2. Elements of windowing systems
6.2.3. Programming the application
6.2.4. User interface management systems
Week 12 & 13 Chapter 7: Evaluation Techniques and Universal Design
7.1. Evaluation Techniques
7.1.1. What is evaluation?
7.1.2. Goals of evaluation
7.1.3. Choosing an evaluation method
7.2. Universal Design
7.2.1. Introduction
7.2.2. Universal design principles
7.2.3. Multi-modal interaction
7.2.4. Designing for diversity
Week 14 Chapter 8: User Support
8.1. Introduction
8.2. Requirements of user support
8.3. Approaches to user support
8.4. Adaptive help systems

166
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

8.4. Designing user support systems

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
Discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation

References
1. Dix, A., Finlay, J., Abowd, G. and Beale, R. (1997). Human-computer interaction.
2. Baecker, R. M. and Buxton, W. A. S. (1987). Readings in Human-Computer Interaction:A
Multidisciplinary Approach.
3. Baecker, R., Grudin, J., Buxton, W., and Greenberg, S. (1995). Readings in Human
Computer Interaction.
4. Helander, M. (1988).Handbook of Human-Computer Interaction.
5. Lewis and Reiman (1993). Task Centered User Interface Design.
6. Norman, D. A. (1988). The Design of Everyday Things, Basic Books, NY.
7. Preece, J. et al (1994). Human Computer Interaction.
8. Nielsen, J. (1993). Usability Engineering.
9. Shneiderman, B. (1997). Designing the User Interface
Course Title Computer Graphics and Multimedia
Course Code SEng5081
CP 7 (3hrs Lecture, 3hrs Laboratory, 1 tutor)
Module Title Graphics and Human Computer Interaction
Module Number 08
Pre-requisites None
Year V
Semester I
Status of Course Compulsory

Course Description
The course explore multimedia technologies; multimedia storage models and structures; data
models and interfaces; multimedia information systems; video/audio networking; media

167
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

synchronization; image computing and information assimilation; conferencing paradigms and


structured interaction support.
Learning Outcomes
Up on the completion of the course the students will be able to:
 Describe digital multimedia data characteristics, format and models
 Demonstrate multimedia data compression techniques
 Describe the nature and type of multimedia storage
 Demonstrate the design and architecture of multimedia database
 Demonstrate indexing and organizing techniques of multimedia

Course Contents
Duration(Week) Topic
Week 1 & 2 Chapter 1: Introduction
1.1.overview of multimedia and multimedia systems
1.2.why multimedia
1.3. types of media
1.4. application areas
Week 3 & 4 Chapter 2: Multimedia Basics and Representation
2.1. Digital multimedia characteristics
2.2. audio formats and MIDI
2.3. Image formats and color models
2.4. video formats and color models
Week 5, 6, 7 & Chapter 3: Multimedia Data Compression
8 3.1. Compression with Loss and Lossless
3.2. Huffman Coding
3.3. Entropy Coding
3.4. Adaptive Coding
3.5. Dictionary-based coding(LZW)
Week 9 & 10 Chapter 4: Storage of Multimedia
Basics of optical storage technologies
compact disc(CD)
digital versatile disc (DVD)
Week 11, 12& Chapter 5: Multimedia Database System
13 5.1.Design and Architecture of a multimedia database
5.2.Indexing and organizing multimedia data
Week 14 & 15 Chapter 6: Multimedia Data Retrieval
6.1.Multimedia content representation
6.2.similarity measures during searching
6.3.retrieval performance measure

168
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

6.4. query languages


6.5. query expansion mechanism

Date Lecture Topics


Week 1 UNIT 1: Introduction to interactive computer graphics
Brief History of Computer Graphics
3D Graphics Techniques and Terminology
Common Uses of Computer Graphics
Examples of application areas
Week 2, 3 UNIT 2: Graphics hardware
Raster display systems
Introduction to the 3D graphics pipeline
The Z Buffer for hidden surface removal
Week 3,4 UNIT 3: Introduction to the rendering process with OpenGL
The role of OpenGL in the reference model Coordinate systems
Viewing using a synthetic camera
Output primitives and attributes.
Week 5,6 UNIT 4: Geometry and Line Generation
Point and Lines, Bresenham‘s algorithm Generating Circles
Plotting General Curves Line Thickness
Line Style Polygons Filling Text and Characters
Week 7,8 UNIT 5: Geometrical Transformations
3D transformation Matrix representation
Homogeneous coordinates Combination of transformations
Week 9 UNIT 6: State Management and Drawing Geometric Object
Basic State management Displaying Points Lines and Polygons
Normal Vector Vertex Arrays
Week 10 UNIT 7: Representing 3D objects
Modeling using polygons
Techniques for creating representational polygonal meshes
Non-polygonal representations
Week 11 UNIT 8: Colors and Images
Colour in Computer graphics RGB; CIE
Image formats and their applications: GIF, JPG, PNG.
Week 12, UNIT 9: Viewing A local illumination model
13 Using the camera model for viewing 3D scenes
Perspective and other types of projection
Viewing Types of light source
Reflectance models: diffuse (Lambert) and specular (Phong)
Gouraud and Phong interpolation

169
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Lighting and shading in OpenGL


Week 14 UNIT 10: Application modeling
Distinction between Modeling and graphics
Immediate mode versus retained mode Model
Storage Strategies
OpenGL display lists: traversal, Instancing

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
Discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
References
1. Ralf Steinmetz and KlaraNahrstedt, Multimedia Fundamentals: Media Coding and
Content Processing; Prentice Hall,
2. ZeNian Li and M. S. Drew, Fundamentals of Multimedia, Prentice Hall, 2004.
3. G. Lu, Multimedia Database Management Systems, Artech House, 1999.
4. K.R. Rao, Zoran S. Bojkovic, Dragorad A. Milovanovic; Multimedia Communication
Systems; Prentice Hall, 2002.
5. Issac V. Kerlow, The Art of 3D Computer Animation and EffCP (3rded). Wiley, 2004.

Module Name AI, Machine Learning and Big Data


Module Number 09
Category Compulsory
CP 15
Module Objective Able to understand basics of Artificial Intelligence:
 To provide an introduction to the basic principles and
applications of Artificial Intelligence.
 To understand, define, design and analyze expert and
knowledge based systems
Module AI, Machine Learning and Big Data
Competence
Module Course No Title
Description SEng3092 Fundamental of Machine Learning
SEng4091 Fundamental of Artificial Intelligence

170
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Fundamental of Big Data Analytics and


SEng5092
Business Intelligence
Mode of delivery Parallel
Teaching 
Lecture based laboratory supported offering, student centered
Methods approach
 Students should work projects in solving real world problems
 Group discussion and presentation on assignments
Assessment Methods Assignments/mid exam/final exam/projects/laboratory exercises

Course Title Fundamentals of Machine Learning


Course Code SEng3092
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title AI, Machine Learning and Big Data
Module Number 9
Pre-requisites None
Year III
Semester II
Status of Course Compulsory

Course Description
Machine learning techniques enable us to automatically extract features from data so as to
solve predictive tasks, such as speech recognition, object recognition, machine translation,
question-answering,anomalydetection,medicaldiagnosisandprognosis,automaticalgorithm
configuration,personalization,robotcontrol,timeseriesforecasting,andmuchmore.Learning
systemsadaptsothattheycansolvenewtasks,relatedtopreviouslyencounteredtasks,more
efficiently.
This course will introduce the field of Machine Learning, in particular focusing on the core
concepts of supervised and unsupervised learning. In supervised learning we will discuss
algorithms which are trained on input data labelled with a desired output, for instance an
image of a face and then a me of the person whose face it is, and learn a function mapping
from the input to the output. Unsupervised learning aims to discover latent structure in an
input signal where no output labels are available, an example of which is grouping web-
pages based on the topics they discuss. Students will learn the algorithms which under pin
many popular Machine Learning techniques, as well as developing an understanding of the
theoretical relationships between these algorithms. The practicals will concern the
application of machine learning to a range of real-world problems.

171
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Objectives
Thecourseaimstoprovideanintroductiontothebasicprinciples,techniques,andapplications
ofMachineLearning.Programmingassignmentsareusedtohelpclarifybasicconcepts.The
course covers the principles, design and implementation of learning programs that
improvetheirperformanceonsomesetoftaskswithexperience.Uponsuccessfulcompletion of
the course, students will have a broad understanding of machine learning algorithms and
their use in data-driven knowledge discovery and program synthesis. Students will have
designed and implemented several machine learning algorithms in Python. Students willalso
be able to identify, formulate and solve machine learning problems that arise in practical
applications. Students will have a knowledge of the strengths and weaknesses of different
machine learning algorithms (relative to the characteristics of the application domain) andbe
abletoadaptorcombinesomeofthekeyelementsofexistingmachinelearningalgorithmsto
design new algorithms as needed. Students will have an understanding of the current state
of the art in machine learning and be able to begin to conduct original research in machine
Learning.

Course contents
Introduction to Machine Learning Bayesian Decision Theory Parametric
Methods
Multivariate Methods Dimensionality Reduction Clustering
Nonparametric Methods Decision Trees Linear
Discrimination
Multilayer Perceptron Kernel Machines Graphical Models
Hidden Markov Models Bayesian Estimation
Combining Multiple Learners Reinforcement Learning

Weeks Topics and


Subtopics
Lecture Laboratory Assessment
Week 1 Topic 1
Week 2 Topic 2 Lab 1
Week 3 Topic 3
Week 4 Topic 4 - 5 Lab 2 Assignment I
Week 5 Topic 6
Week 6 Topic 7 Lab 3
Week 7 Mid Exam Assignment II
Week 8 Chapter 8 Lab 4
Week 9 Chapter 9
Week 10 Chapter 10 Lab 5
Week 11 Chapter 11 Assignment III

172
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Week 12 Chapter 12 Lab 6


Week 13 Chapter 13
Week 14 Chapter 14 Lab 7 Assignment IV
Week 15 Final Exam

Teaching Methods
The teaching methods that shall be employed for this course are lecturing, demonstration,
Lab exercises, classroom discussion and classroom action research and assignments and
homework.
Assessment Method
As MTU legislation

Course Policies
❏ Attendance: It is compulsory to attend class in time and every time.
Missing more than three classes during the term causes readmission for that
course.
❏ Assignments: No Late Assignment will be accepted
❏ Test/Quizzes: Rarely reexamination schedules will be arranged for those who
missed the exam by accidental or un controllable situation.
❏ Cheating/Plagiarism: No second Chance or excuses.
References
● Pattern Recognition and Machine Learning Book by ChristopherBishop
● MachineLearning:AProbabilisticPerspectiveTextbookbyKevinRMurphy

Course Title Fundamentals of Artificial Intelligence


Course Code SEng4091
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title AI, Machine Learning and Big Data
Module Number 9
Pre-requisites None
Year IV
Semester I
Status of Course Compulsory

Course Description

Artificial intelligence (AI) is a research field that studies how to realize the intelligent human
behaviors on a computer. The ultimate goal of AI is to make a computer that can learn, plan, and
solve problems autonomously. Although AI has been studied for more than half a century, we still

173
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

cannot make a computer that is as intelligent as a human in all aspects. However, we do have many
successful applications. In some cases, the computer equipped with AI technology can be even
more intelligent than us. The Deep Blue system which defeated the world chess champion is a
well-know example.The main research topics in AI include: problem solving, reasoning, planning,
natural language understanding, computer vision, automatic programming, machine learning, and
so on. Of course, these topics are closely related with each other. For example, the knowledge
acquired through learning can be used both for problem solving and for reasoning. In fact, the skill
for problem solving itself should be acquired through learning. Also, methods for problem solving
are useful both for reasoning and planning. Further, both natural language understanding and
computer vision can be solved using methods developed in the field of pattern recognition.

Course objective

The primary objective of this course is to provide an introduction to the basic principles and
applications of Artificial Intelligence. Programming assignments are used to help clarify basic
concepts. The emphasis of the course is on teaching the fundamentals, and not on providing a
mastery of specific commercially available software tools or programming environments. In short,
this is course is about the design and implementation of intelligent agents---software or hardware
entities that perform useful tasks with some degree of autonomy. Upon successful completion of
the course, students will have an understanding of the basic areas of artificial intelligence including
problem solving, knowledge representation, reasoning, decision making, planning, perception and
action, and learning -- and their applications (e.g., big data analytics, data mining, computational
discovery, information retrieval.

Course Goals or Learning Outcomes:


At the end of this course the students will be able to:
• Understand reasoning, knowledge representation and learning techniques of artificial
intelligence
• Evaluate the strengths and weaknesses of these techniques and their applicability to different
tasks
• Assess the role of AI in gaining insight into intelligence and perception
• know classical examples of artificial intelligence
• know characteristics of programs that can be considered "intelligent"
• understand the use of heuristics in search problems and games
• know a variety of ways to represent and retrieve knowledge and information
• know the fundamentals of artificial intelligence programming techniques in a modern programming language
• consider ideas and issues associated with social technical, and ethical uses of machines that
involve artificial intelligence

Course Contents

174
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Content Week Reference book


CHAPTER 1: week 1 and 2 Russell, S. and P. Norvig
Introduction to AI (1995) Artificial
Objectives/Goals of AI Intelligence: A Modern
What is AI? Approach Prentice-Hall.
Approaches to AI – making computer:
Think like a human (Thinking humanly)
Act like a human (Acting humanly)
Think rationally (Thinking rationally)
Act rationally (Acting rationally)
The Foundations of AI
Bits of History and the State of the Art
CHAPTER 2: weeks 3 and 4 Russell, S. and P. Norvig
Intelligent Agents (1995) Artificial
Introduction Intelligence: A Modern
Agents and Environments Approach Prentice-Hall.
Acting of Intelligent Agents (Rationality)
Structure of Intelligent Agents
Agent Types
Simple reflex agent
Model-based reflex agent
Goal-based agent
Utility-based agent
Learning agent
Important Concepts and Terms
CHAPTER 3: Weeks 5,6,7 Russell, S. and P. Norvig
Solving Problems by Searching and &8 (1995) Artificial
Constraint Satisfaction Problem Intelligence: A Modern
Problem Solving by Searching Approach Prentice-Hall.
Problem Solving Agents
Problem Formulation
Search Strategies
Avoiding Repeated States
Constraint Satisfaction Search
Games as Search Problems
CHAPTER 4: Weeks 9 and Russell, S. and P. Norvig
Knowledge and Reasoning 10 (1995) Artificial
Logical Agents Intelligence: A Modern
Propositional Logic Approach Prentice-Hall.
Predicate (First-Order) Logic

175
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Inference in First-Order Logic


Knowledge Representation
Knowledge-based Systems
Uncertain Knowledge and Reasoning weeks 11 and Russell, S. and P. Norvig
(optional) 12 (1995) Artificial
Quantifying Uncertainty Intelligence: A Modern
Probabilistic Reasoning Approach Prentice-Hall.
Probabilistic Reasoning over Time
Making Simple Decisions
Making Complex Decisions
Chapter 5: Weeks 13 and Russell, S. and P. Norvig
Learning 14 (1995) Artificial
Learning from Examples/Observation Intelligence: A Modern
Knowledge in Learning Approach Prentice-Hall.
Learning Probabilistic Models
Neural Networks
Communicating, Perceiving, and Acting weeks 15 and Russell, S. and P. Norvig
Natural Language Processing 16 (1995) Artificial
Natural Language for Communication Intelligence: A Modern
Perception Approach Prentice-Hall.
Robotics

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
Required Texts: Text Book;
Russell, S. and P. Norvig (1995) Artificial Intelligence: A Modern Approach Prentice-Hall.

References
Luger, G. (2002) Artificial Intelligence, 4th ed. Addison-Wesley.
Bratko, Ivan (1990) PROLOG Programming for Artificial Intelligence, 2nd ed. Addison-Wesley,
1990
Winston, P.H. (1992) Artificial Intelligence Addison-Wesley.
Ginsberg, M.L. (1993) Essentials of Artificial Intelligence. Morgan Kaufman.

Course Title Fundamentals of Big Data and Business Intelligence


Course Code SEng5092
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title AI, Machine Learning and Big Data

176
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Number 9
Pre-requisites None
Year V
Semester II
Status of Course Compulsory

Course description

This course is designed for students who have no previous knowledge of data analytics but wish
to acquire these skills in a short period of time. These students will learn how to analyze large data
sets and identify patterns that will improve any company’s and organization decision-making
process. After completing the course, they will be able to: - Capture, categorize, simplify,
normalize and prepare data to be processed - Work with and analyze large data sets - Visually
represent analysis’s conclusions to technical and non technical audiences - Use the most common
algorithms, to make sense oflarge amounts of data, which are applicable to most business and
management problems. - Learn R programing language.

Course objectives

The objective of the course is to familiarize students with big data analysis as a tool for addressing
substantive research questions. The course begins with a basic introduction to big data and
discusses what the analysis of these data entails, as well as associated technical, conceptual and
ethical challenges. Strength and limitations of big data research are discussed in depth using real-
world examples. Students then engage in case study exercises in which small groups of students
develop and present a big data concept for a specific real-world case. This includes practical
exercises to familiarize students with the format of big data. It also provides a first hands-on
experience in handling and analyzing large, complex data structures. The block course is designed
as a primer for anyone interested in attaining a basic understanding of what big data analysis
entails. There are no prerequisite requirements for this course.

Learning outcomes

Upon completion of this course, the students will be able to


- Describe big data and use cases from selected business domains
- Explain NoSQL big data management,
- Install, configure, and run Hadoop and HDFS
- Perform map-reduce analytics using Hadoop.
- Use Hadoop related tools such as HBase, Cassandra, and Hive for big data analytics

Course contents

177
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

1 Fundamentals of Big Data and Business Intelligence


 Introduction – What is Big Data, and BI? Handling and Processing Big Data
 Methodological Challenges and Problems Example Applications
2. Big Data Analysis in Practice
3. Big Data taxonomy
4. Big data value for the enterprise Setting up the demo environmentFirst steps with the Hadoop “ecosystem”
5. The Hadoop ecosystem
 Introduction to Hadoop Hadoop components: MapReduce/Pig/Hive/HBase
 Loading data into Hadoop Handling files in Hadoop Getting data from Hadoop
6. Querying big data with Hive
 Introduction to the SQL Language From SQL to HiveQL
7. Querying big data with Hive
 Introduction to HIVE e HIVEQL Using Hive to query Hadoop files
8. Big data & Machine learning
 Quick into to Machine learning Big Data & Machine Learning Machine
learning tools
- Spark & SparkML H2O Azure ML

Summary of Teaching Learning Methods

The teaching-learning methodology will be student-centered with appropriate guidance of


instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions

Assessment Methods: - As per the academic regulation


References
 Big data. Architettura, tecnologie e metodi per l'utilizzo di grandi basi di dati, A. Rezzani,
Apogeo Education, 2013
 Hadoop For Dummies, Dirk deRoos, For Dummies, 2011
 Business Intelligence and Analytic Trends for Today's Businesses", Wiley, 2013
 Hadoop: The Definitive Guide, Tom White ,Third Edition, O'Reilley, 2012.
 Hadoop Operations, Eric Sammer, O'Reilley, 2012.
 Programming Hive, E. Capriolo, D. Wampler, and J. Rutherglen, O'Reilley, 2012.
 HBase: The Definitive Guide, Lars George, O'Reilley, 2011.
 Cassandra: The Definitive Guide, Eben Hewitt, O'Reilley, 2010.
 Programming Pig, Alan Gates, O'Reilley, 2011.

Module Name Industry Practice and Holistic Exam

178
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Number 10
Category Compulsory
CP 18
Module Objective  Able to make themselves familiar with practical industry
services and organizational issues
Module Experience-shared Software Engineers
Competence
Module Description Course No Title
SEng4102 Holistic Exam
SEng4104 Internship
Mode of delivery Parallel
Teaching Methods Students shall make themselves familiar with practical industry
services and organizational issues
Assessment Industry practice reports, and holistic exams
Methods

Course Title Holistic Exam


Course Code SEng4102
CP 2
Module Title Industry Practice and Holistic Exam
Module Number 10
Pre-requisites None
Year IV
Semester II
Status of Course Compulsory

Course Title Internship


Course Code SEng4102
CP 28
Module Title Industry Practice and Holistic Exam
Module Number 10
Pre-requisites None
Year IV
Semester II
Status of Course Compulsory

Course Description

179
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

This course helps the students to apply their knowledge acquired during the degree program.The
students have to work practically and solve real time problems. During this internship the students
should develop some projects and develop their skills in the practical environment. After having
successfully participated in this internship the students will learn how to solve the problems
required in Industry and be sound in real technical problems. They can adopt him/her to the
Industry standards and can work as a real life problem solver required from time to time in their
later life. They should also acquire managerial skills in real working environments and other skills
in running industries.

Learning Outcomes
At the end of this course, students will be able to:
 Solve real world problem.
 Familiarize with problem solving approaches.
 Have managerial skills.
Course Contents
Content Depends on the industry and the type of project the student choose

Summary of Teaching Learning Methods


Students are eligible for industry internship after they have successfully finished fourth year I
semester. The internship will be carried out during the coming year after fourth year
accomplishment for a semester which is the first semester of the fifth year.
Assessment Methods
Students will submit the report and demonstration of what they have done during the industry
internship. A presentation of the project will be made before the beginning of the first semester of
the fifth year. An assessment will be made based on:
 Jury evaluation
 Advisor evaluation

Module Name Research and Project work


Module Number 11
Category Compulsory
CP 18
Module Objective  Able to apply the software process and project management
to industry level quality software development application
and to develop a real world project in a professional way.
 Enables to find out the potential risks of a software project a
head of time and act on them before they damage the project.
 Able to understand how to conduct communication and how
 to raise their own business

180
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Analyst/project manager


Competence
Module Description Course No Title
SEng3112 Software Project Management
SEng5112 Selected Topics in Software Engineering
SEng5111 Project I
SEng5114 Project II
Mode of delivery Parallel
Teaching Methods  Lecture based laboratory and tutorial supported offering,
student centered approach
 Students should work projects in solving real world problems
 Group discussion and presentation on assignments
Assessment As per the academic regulation
Methods

Course Title Software Project Management


Course Code SEng3112
CP 5 (2hrs Lecture, 3hrs Tutorial)
Module Title Research and Project work
Module Number 11
Pre-requisites None
Year III
Semester II
Status of Course Compulsory

Course Description
This course will introduce the area of Software project management, presenting basic techniques
and approaches and aiming to develop a critical awareness of the challenges and shortcomings of
the area. Software Project Management is an important area of study since most non-trivial IS
development efforts will be make use of some type of project management approach in an aim to
manage the development process in such a way that the IS meets its requirements and is on-time
and within budget.
Course Objective
At the end of the course students will be able to:
 Understand the issues involved in Software project management and the factors that affect
Software quality;
 Familiar with a range of standards, techniques and tools developed to support Software
project management and the production of high quality Software;

181
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Develop Software project plans, supporting Software quality plans and risk management
plans.
 Capable of actively participating or successfully managing a Software development project
by applying project management concepts
 Demonstrate knowledge of project management terms and techniques
Course contents
Weeks Topics
1-3 1) Introduction to Software Project Management
1.1. Importance of IS project mgt.
1.1.1 What is a project?
1.1.2 Problems with Software Projects
1.1.3 What is Project Management?
1.2. Stages of Project
1.2.1. The Feasibility Study
1.2.1.1 The Cost-benefit Analysis
1.2.2. Planning
1.2.3. Project Execution
1.2.4 Project and Product Life Cycles
1.3. The Stakeholder of a Project
1.3.1 All parties of a project
1.3.2 The Role of Project Manager
1.4. Project Management Framework
1.5. IS Tools for Project Management

3-4 2) Project Planning


2.1. Integration Management
2.1.1 What is Integration Management
2.1.2. Project Plan Development
2.1.3. Plan Execution
2.2 Scope Management
2.2.1 What is Scope Management?
2.2.2 Methods for Selecting Projects
2.2.3 Project Charter
2.2.4 Scope Statement
2.2.5 Work Breakdown Structure
2.3 Stepwise Project Planning
2.3.1 Overview of Project Planning
2.3.2 Main Steps in Project Planning

5-6 3) Project Scheduling

182
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3.1 Time Management


3.1.1. Importance of Project Schedules
3.1.2. Schedules and Activities
3.1.3. Sequencing and Scheduling Activity
3.2 Project Network Diagrams
4) Project Cost Management
4.1. Importance and Principles of Project Cost Management
4.2. Resource Planning
6-7
4.3. Cost Estimating
4.4 Cost Budgeting
4.5 Cost Control
5) Project Quality Management
5.1 Quality of IS Projects
5.2 Stages of IS Quality Management
7-8 5.2.1 Quality Planning 5.2.2 Quality Assurance
5.2.3 Quality Control
5.3 Quality Standards
5.4 Tools and Techniques For Quality Control
6) Project Human Resources Management
6.1. What is Project Human Resources Management?
9-10 6.2 Managing People
6.3. Organizational Planning
6.4. Issues in Project Staff Acquisition and Team Development
7) Project Communication Management
7.1. Communications Planning 7.2. Information Distribution
10-11
7.3. Performance Reporting 7.4. Administrative Closure
7.5. Suggestions for Improving Project communications
8) Project Risk Management
8.1. The Importance of Project Risk Management
8.2. Common Sources of Risk in IT projects
11-12
8.3. Risk Identification
8.4. Risk Quantification
8.5. Risk Response Development and Control
9) Project Procurement Management
9.1. Importance of Project Procurement Management
9.2. Procurement Planning
13-14
9.3. Solicitation
9.4. Source Selection
9.5. Contract Administration 9.6. Contract Close-out
14-15 10) Project Management Process Groups

183
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

10.1 Introduction to Project Management Process Groups


10.2. Project Initiation
10.3. Project Planning
10.4. Project Executing
10.5. Project Controlling and Configuration Management
10.6. Project Closing

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
Reading assignments and Group Discussions

Assessment Methods: - As per the academic regulation

References
1. Cotterell, B. H. (1999). Software Project Management.(2nd, Ed.) London: McGraw Hill.
2. Institute, P. M. (2000). Project Management Body of Knowledge (PMBOK).Pennsylvania:
Project Management Institute.
3. Schewalbe, K. (2011). Information Technology Project Management. USA.
4. Pressman, R. S. (2001). Software Engineering: A Practitioner‘s Approach. (5th, Ed.)Boston: McGraw Hill.
Course Title Selected Topics in Software Engineering
Course Code SEng5112
CP 3 (2hr Lecture, 1hr Tutorial)
Module Title Research and Project Works
Module Number 11
Pre-requisites
Year V
Semester II
Status of Course Compulsory

Course Description
The course covers recent theoretical and technical issues of software engineering. It will focus on
some selected topics, such as software requirements, software design, software construction,
software testing and management, software configuration management, software engineering
management, software engineering process, software engineering tools and methods, and software
quality. Each seminar is focused around one major topic. The students shall acquire advanced
theoretical knowledge and technical competences about the topics covered in the course as well as
some research methods that are relevant for these topics.

184
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Learning Outcomes
At the end of this course the students will be able to:
Upon completion of the course the candidate should be able to
 Discuss and explain central concepts and principles within recent selected software
engineering topics.
 Discuss current research within the selected software engineering topics.
 Demonstrate how software engineering concepts and principles can be put into use in a
concrete software project working in teams, as well as how software tools and techniques
that are currently used within the field of study.
 Identify relevant research literature for the selected software engineering topics
 Work in a software development team of a realistic size using partly unfamiliar

Course contents
Week Lecture Topics
1-16 Recent software engineering topics will be selected with the help of the
instructor and students will rigorously work on that.

Summary of Teaching Learning Methods


Students will conduct seminars in group.
Assessment Methods: - As per the academic regulation
References
As the instructor’s recommendation
Course Title Project I
Course Code SEng5111
CP 5
Module Title Research and Project Works
Module Number 11
Pre-requisites
Year V
Semester I
Status of Course Compulsory

Course Title Project II


Course Code SEng5114
CP 5
Module Title Research and Project Works
Module Number 11

185
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Pre-requisites
Year V
Semester II
Status of Course Compulsory

Course Description:
This course helps the students to apply their knowledge acquired during the degree program.
The students have to work practically and solve real time problems. During this internship the
students should develop some projects and develop their skills in the practical environment. After
having successfully participated in this internship the students will learn how to solve the problems
required in Industry and be sound in real technical problems. They can adopt him/her to the
Industry standards and can work as a real life problem solver required from time to time in their
later life. They should also acquire managerial skills in real working environments and Other skills
in running industries.

Learning Outcomes:
At the end of this course, students will be able to:
 Solve real world problem.
 Familiarize with problem solving approaches.
 Have managerial skills.
Course Content:
Content Depends on the industry and the type of project the student choose

Summary of Teaching Learning Methods


Students are eligible for industry internship after they have successfully finished third year II
semester. The internship will be carried out during the coming summer after third year
accomplishment for a semester which is the first semester of the fourth year.

Assessment Methods: As per the academic regulation

Module Name Electives


Module Number 12
Category Compulsory
CP 50
Module Objective  Able to understand advanced topic in software
engineering
Module Software Engineers
Competence
Module Description Course No Title

186
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

SEng5121 Software Agent


SEng5123 Software Risk management
SEng5125 Software Process Improvement
SEng5127 Event Driven Programming
SEng5129 WEB Service
SEng5122 Distributed Database Management Systems
SEng5124 Parallel Computing
SEng5126 Design and Analysis of Algorithms
SEng5128 Social Networks
SEng512a Software Component Design
Mode of delivery Parallel
Teaching Methods  Lecture based laboratory and tutorial supported offering,
student centered approach
 Students should work projects in solving real world
problems
 Group discussion and presentation on assignments
Assessment As per the academic regulation
Methods

Course Title Software Agent


Course Code SEng5121
CP 5 (2hr Lecture, 3hr Tutorial)
Module Title Electives
Module Number 12
Pre-requisites None
Year V
Semester I
Status of Course Elective

Course Description
The course begins with an overview of the agent systems and software agents. Then we focus on
agent system architecture and infrastructure from a software engineering viewpoint, including:
 Requirements for agent-based systems
 Modeling and design of agent-based systems
 Development process for agent-based systems
Topics such as agent architecture, communication, knowledge sharing, computing, and uncertainty
management are discussed. Studying society of agents and models of agency follows.
Finally, a perspective on a methodology for agent-oriented software engineering and standards are
presented.

187
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Learning Outcomes
At the end of this course the students will be able to:
 Agent-based systems are software products that not only do things as specified but also
have knowledge to do their job and can do it in a cooperative, coordinative and competitive
way.
 What are myths and realities of the agent-based systems?
 How to develop an agent-based system for a particular task?
 How to evolve from object-oriented development to agent-based systems?
 How to incorporate and share knowledge among software agents?

Course Content:
Week Lecture Topics
1-2 Overview of agent-based software engineering.
3-5 Methodologies for agent-based modeling, analysis and design.
6-8 Agent communication and knowledge sharing. - Overview of Agent
Programming – Agent Communication language – Agent Based
Framework of Interoperability
9-11 Agent-based System Architecture and Organization. – Agent for
Information Gathering – Open Agent Architecture –Communicative Action
for Artificial Agent
12-13 FIPA: Foundation for Intelligent Physical Agents.
14-16 Mobile Agents – Mobile Agent Paradigm- Mobile Agent Concepts –
Mobile Agent Technology

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
Discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
References
1. Multi agent Systems: A Modern Approach to Distributed Artificial Intelligence, Gerhard
Weiss, Edts. 1st edition, MIT Press, (July, 2000).
2. M.N. Huhns and M.P. Singh, Edts. Morgan Kaufmann Publishers, (January 1998).
3. Heterogeneous Agent Systems, V. S. Subrahmanian, PieroBonatti, Jurgen Dix, Thomas
Eiter and FatmaOzcan, 1st edition, MIT Press, (June, 2000).
4. Constructing Intelligent Agents Using Java: Professional Developer's Guide, Joseph P.
Bigus, Jennifer Bigus, (2nd Edition) John Wiley and Sons, (March, 2001).
5. Agent-Oriented Methodologies, Brian Henderson-Sellers, Paolo Giorgini; University of

188
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Technology, Sydney, Australia; University of Trento, Italy, idea Group Publishing, (2005).
6. Russel&Norvig, ―Artificial Intelligence: A modern Approach‖, Prentice Hall, 2nd Edition,
2002

Course Title Software Risk Management


Course Code SEng5123
CP 5 (2hrs Lecture, 3hrs Tutorial)
Module Title Electives
Module Number 12
Pre-requisites None
Year V
Semester I
Status of Course Elective

Course Description
Continuous Risk Management is a software engineering practice with processes, methods, and
tools for managing risks in a project. It provides a disciplined environment for proactive decision
making to assess continuously what could go wrong (risks), determine which risks are important
to deal with, and implement strategies to deal with those risks. The purpose of this course is to
explain what Continuous Risk Management is; to help you understand the principles, functions,
methods, and tools; to show what it could look like when implemented within a project; and to
show you how a project could implement its own adaptation.
Course Outcomes
At the end of the course the student will enable to:
 Understand the concepts and principles of Continuous Risk Management
 Apply the concepts and principles of Continuous Risk Management.
 Develop basic risk management skills for each component of Continuous Risk
Management.
 Be able to use key methods and tools.
 Be able to tailor Continuous Risk Management to a project.
Course Content

189
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Week Lecture Topics


1 Introduction to Software Risk Management
2 Risk Management Paradigm
3 Software Project Management Process
 Process Model
 Process Description
 Roles and Responsibilities
4 Risk Management Methodologies Tools and Techniques
5 Identify. The Risk Information Sheet. The Case Study.
6 Risk Information sheet after Identify. Methods and Tools.
7 Analyze
8 Risk Information Sheet after Analyze. Multi-voting Example.
9 Plan. Plan Elements, Research, Accept Watch, Mitigate.
10 Risk Information Sheet After Plan. Task Plan Example. Mitigation Planning
Worksheet. Methods and Tools
11 Track. Case study Spreadsheet Risk Tracking. Methods and Tools
12 Control. Completed Risk Information sheet after Track and Control. Methods and Tools.
13 Communicate & Document. What is communication? Relationship to other
paradigm functions. Enablers to communication. Barriers to communication.
Documentation of Risks. Methods and Tools.
14 How to Implement CRM

Summary of Teaching Learning Methods


The teaching-learning methodology will be student-centered with appropriate guidance of
instructor/s during the student’s activities .There will be Lecture, Tutorials, Reading assignments
and Group Discussions and assignments.
Assessment Methods: - As per the academic regulation
References
1. Hall, Elaine M., Managing Risk: Methods for Software Systems Development, Addison-
Wesley, 2001. ISBN 0-201-25592-8
2. Dorofee, A. J.; Walker, J.A.; Alberts, C.J.; Higuera, R. P.; Murphy, R. L.; Williams, R.C.,
Continuous Risk Management Guidebook, Pittsburgh, Pa.: Software Engineering Institute,
Carnegie Mellon University, 1996.
Course Title Software Process Improvement
Course Code SEng5125
CP 5 (2hr Lecture, 3hr Tutorial)
Module Title Electives
Module Number 12
Pre-requisites None
Year V

190
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Semester I
Status of Course Elective

Course Description
To introduce students to the basics of software process and process improvement., to teach students
about the activities and issues software process engineering, to teach students different software
process improvement approach, to teach students concept of measurements and how it applies to
software processes , to introduce students advance and potential research topics in software process
engineering

Learning Outcomes
At the end of this course the students will be able to:
 Understand the basics of software process engineering
 Understand different modeling techniques for processes
 Understand the importance of process engineering and how management activities are
related to them
 Understand and be familiar with different approaches used for software process
improvement
 Understand the concept of measurements and their application in software process
improvement
 Understanding the need for research in selected topics in process engineering
Course Contents
Week Lecture Topics
1 Introduction (Process Models, QA, CM, Project Planning)
2-3 Process Modeling and Process Modeling Techniques (Introduction and
ETVX)
4-5 Process Modeling Techniques (IDEF0)
Measuring and Analyzing the Current State
6-7 CMM and Other process models ( CMMI– I, PSP and TSP )
8 Process Changes using PDCA and IDEAL models
9-10 Process Assessments, Base-lining, and Benchmarking
13 Project Management aspects related to process management
13-14 Process Measurement, Process Metrics i.e. Maturity, Management, and
Life
Cycle Metrics, Fundamentals of Measurement and Experimentation
15 GQM and its application to process management and improvement
16 Advance Topics in Software Process

191
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Summary of Teaching Learning Methods:


The course will be delivered in the form of lectures, demonstration, student presentations, group
discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
References:
1. Humphrey, W., Managing the Software Process, Addison-Wesley, 1989.
2. Jalote, P., CMM in Practice, Addison-Wesley Longman, 2000.
3. Ahern, DM, Clouse, A. & Turner, R. CMMI Distilled, 2ndedn. Addison-Wesley, 2004.
4. CMMI Survival Guide: Just Enough Process Improvement by Suzanne Garcia and Richard
Turner
5. CMMI 2nd edition: Guidelines for Process Integration and Product
6. Improvement by Mary Beth Chrissis, Mike Konrad, and Sandy Shrum

Course Title Event Driven Programming


Course Code SEng5127
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title Electives
Module Number 12
Pre-requisites None
Year V
Semester I
Status of Course Elective

Course Description:

The course is designed to give Introduction to Visual Basic to develop Windows Application
Programs on the bases of VB or java Controls Variables, Constants, and Calculations Decision &
Conditions, Menus, Sub-Procedures and Sub-functions, Multiple Forms, Lists, Loops and printing,
Arrays using for each User-Defined Data Types, OOP in VB, syntax, and semantics of the
language, classes, class relationships, and exception handling, data Files, Advanced data handling,
Accessing Database File Basic Visual Basic.Net or Java or C# can be used to teach business
computer programming using a visual programming approach; includes fundamental
programming principles for event-driven programming.
Learning Outcomes:
At the end of the course students will be able to
 Identify the visual programming Environment and Programming applications correctness,
verification and validation.
 familiar with Programming tools, Visual Basic or Java as a rapid application development
(RAD) environment Component development and reusability, Designing and customizing
forms

192
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Use Visual Basic Visual Basic.Net or Java to create a small windows application that access
various types of data files to perform add change and delete operations on the data.
 Create applications using standard and custom controls
 Write several small Visual Basic applications to gain experience with additional topics.
 Solve problems and build employability skills such as attitude, critical thinking, reading,
teamwork, work ethic, and writing.

Course Contents
Topic Duration(Week) Reading
list
Chapter 1: Event Drive Fundamentals: 1-2
1.1. What’s an event driven program?
1.2. Working in the Programming Environment
1.3. Building Your First Application
1.4. Using the intrinsic controls
1.5. Working with Properties, Methods, and Events
1.6. Working with Projects in event driven Programming
Chapter 2:Programming with Event Driven: 3-7
1.7. Using Data Types, Constants, and Variables
1.8. Making Statements in a Program
1.9. Working with Conditional Statements
1.10. Working with Loops
1.11. Working with Arrays
1.12. Working with Strings and Typecasting
Chapter 3:The Elements of event driven programs: 8-10
1.13. Creating Menus in Your Programs
1.14. Enhancing Your Programs with Forms and
Dialog Boxes
1.15. Handling Keyboard and Mouse Input in Your
Programs
1.16. Working with Time and Timers
1.17. Adding Graphics to Your Programs
1.18. Writing Reusable Code with Subs and
Functions

193
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

1.19. Saving and Retrieving Your Data with


programs
1.20. Deploying your event driven Applications
Chapter 4: Advanced Programming with event driven 11-12
1.21. Debugging Your Applications
1.22. Creating Controls On-the-Fly Using Control
Arrays
1.23. Adding Help to Your Programs
1.24. Using VBA to Connect Your VB Programs or
C# with Microsoft Office
1.25. Making Object-Oriented Programs
1.26. Creating Your Own ActiveX Controls
1.27. Creating Programs for the Internet
1.28. Making Programming Easier with add-Ins
Chapter 5: Database Programming: 13-16
1.29. Database Basics and the Data Control
1.30. Making Reports in event driven
1.31. Enhancing Your Programs Using the Advanced
Data Controls

Summary of Teaching Learning Methods:


The course will be delivered in the form of lectures, demonstration, student presentations, group
discussions, and individual and group project works.
Assessment Methods: - As per the academic regulation
References:
Utley, Craig, A Programmer’s Guide to Visual Basic.NET, USA , Sams Publishing, 2001
Utley, Craig, A Programmer’s Guide to Visual Basic.NET, USA , Sams Publishing, 2001
Any C# books
Web Resources: http://www.csharpkey.com
Course Title WEB Service
Course Code SEng5129
CP 5 (2hr Lecture, 3hr Lab)
Module Title Electives
Module Number 12
Pre-requisites None
Year V
Semester I
Status of Course Elective

Course Description

194
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

This course provides experienced Java programmers with the skills to write new SOAP and REST
web services, and access existing services. With this course, you also learn how to secure web
services using both Java-specific and language-independent security technologies, and how the
Java APIs — JAX-WS and JAX-RS — deliver a set of powerful tools for developing a Service-
Oriented Architecture (SOA).
Learning Outcomes
At the end of this course the students will be able to:
 Develop, deploy, and monitor SOAP and RESTful web services and web service clients
with JAX-WS and JAX-RS
 Implement a Service-Oriented Architecture (SOA) using web services
 Create and deploy WSDL-first and code-first SOAP web services
 Build secure SOAP and REST clients
 Design and develop E-commerce application by applying appropriate security services
Course Contents
Week Lecture Topics
1 Chapter 1:Web Services Overview
Web Service Architecture
Web Service vs. Other Technologies
Web service benefits
Interoperable applications with SOA
 Designing an SOA integration architecture
 Implementing SOAs with web services
Java standard APIs for web services
 JAX-RPC
 Building SOAP–based services with JAX–WS
 Developing RESTful services with JAX–RS

2-3 Chapter 2: Defining SOAP Messages with WSDL


XML essentials
 Introduction to XML
 DTD vs. XSD
 What is XML Parsing?
 Various other XML Binding API’s
 XML namespaces
 Describing XML with schema
Structure of SOAP messages
 Role of SOAP in web services
 Operations, messages and faults
Anatomy of a WSDL document
 Defining the interfaces of a web service

195
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Specifying implementation

4-5 Chapter 3: Implementing Code–First Web Services


Exposing plain old Java objects (POJOs) as web services
 Applying JAX–WS annotations to POJOs
 Configuring and deploying a web service implementation
Implementing SOAP clients in Java
 Generating client–side artifacts from WSDL
 Modifying client code to permit message monitoring
 Authenticating and authorizing clients
Augmenting SOAP–based services
 Incorporating best practices for web services
 Implementing policies for security, reliability and message
optimization

6-7 Chapter 4: Generating Contract–First Web Services


Contract–first service development
 Comparing contract–first and code–first services
 Creating portable Java artifacts
Importing a WSDL document
 Building interoperable applications by conforming to Web Services
Interoperability (WS–I) standards
 Implementing a web service endpoint using JAX–WS

8-9 Chapter 5:Building RESTful Web Services


Introduction to REST (Representational State Transfer)
 Describing the REST architectural style
 Comparing SOAP and RESTful web services
Developing RESTful web services using JAX–RS
 Adding JAX–RS annotations to a POJO
 Configuring result types using HTTP request headers
 Deploying a JAX–WS service
Customizing a RESTful Service Implementation
 Interacting with request URLs
 Mapping URLs to Java classes and methods
 Binding URL components to method arguments

10-11 Chapter 6:Providing Server–Side Support for Ajax Clients


Handling JavaScript Object Notation (JSON)
 Applying cases for JSON with RESTful services

196
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Interpreting a message formatted as JSON


Mapping Java to JSON
 Controlling JSON generation with JAXB annotations
 Defining a JSON return type from a Java method

12-13 Chapter 7:Developing RESTful Clients


Dispatching REST messages using JAX–RS
 Building the client’s request
 Handling the service’s response code and exceptions
Marshalling JavaBeans with JAXB
 Mapping XML with Java API for XML Binding (JAXB)
 Converting Java arguments with JAXB and JAX–RS
Processing asynchronous messages
 Implementing server–push with JAX–RS
 Delivering asynchronous client requests

14-15 Chapter 8:Securing Web Services


Configuring a secure web service
 Configuring HTTP Basic Authentication
 Establishing secure message transmission with SSL/TLS
Authenticating and authorizing clients
 Controlling access to web services and methods
 Providing authentication information to web services

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, Group
Discussions, and individual and group project works.
Assessment Methods: - As per BIT academic regulation
References
Textbook for the course:
Stive Graham, Doug Davis, Simeon Simeonov, Glen Daniels, Peter Brittenham, Yuici Nakamura,
Paul Fremantle, Dieter König and Claudia Zentner. "Building Web Services with Java: Making
sense of XML, SOAP, WSDL and UDDI", Second Edition, Sams Publishing, ISBN 0-672-32641-
8 (available in the Kista Electrum book store)
Recommended Reading:
The following sources are recommended to obtain a deeper understanding of the course.
H. M. Deitel at al. Web Services. A Technical Introduction. Pearson Education. 2003 E. Cerami.
Web Services Essentials. O’Reilly and Associates.2002. R. Schmelzer et al. XML and Web

197
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Services, Sams, 2002 G. Glass. Web Services. Building Blocks for Distributed Systems. Prentice
Hall. 2002 G. Alonso. Web Services. Concepts, Architectures and Applications. Springer, 2004
Allemang, D., Hendler, J. (2011). "RDF –The basis of the Semantic Web. In: Semantic Web for
the Working Ontologist (2nd Ed.)". Morgan Kaufmann "XML and Semantic Web W3C Standards
Timeline". 2012-02-04.
Additional articles in the curriculum may be added during the course.

Course Title Distributed Database Management Systems


Course Code SEng5122
CP 5 (2hr Lecture, 3hr Lab)
Module Title Electives
Module Number 12
Pre-requisites None
Year V
Semester II
Status of Course Elective

Course Description
Concepts of Distributed Database Systems and Architectures, Distributed Database Design,
Distributed Query Processing and Optimization, Transaction Management and Concurrency
Control, Heterogeneous and Multi-database Systems

Learning Outcomes
At the end of this course the students will be able to:
This course exclusively focuses on the design and system issues related to distributed database
systems. Students will learn the usage of different design strategies for distributed databases, and
they will study query processing techniques and algorithms as well as transaction management and
concurrency control concepts used in such systems. Design and implementation issues related to
multi-database systems are discussed as well.
Course Contents
Week Lecture Topics
1-2 Chapter 1: Introduction to Distributed Database Management Systems
 Distributed Data Processing
 Concepts of Distributed Database Systems
 Review of Computer Networks

198
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

3-4 Chapter 2: Distributed DBMS Architecture


 Transparency Issues
 Architectural Models (including Client/Server Models)
5-6 Chapter 3: Distributed Database Design
 Distributed Design Issues
 Fragmentation
 Allocation
 Integrity Constraints
7-8 Chapter 4: Query Processing
 A. Objectives of Query Processing
 Review of Relational Algebra
 Layers of Query Processing
 Query Decomposition and Data Localization
9-10 Chapter 5: Query Optimization
 Centralized Query Optimization
 Join Ordering
 C. Distributed Query Optimization Algorithms
11-12 Chapter 6: Distributed Transaction Management and Concurrency
Control
 Properties and Types of Transactions
 Serializability Theory
 Concurrency Control Algorithms
13 Chapter 7: Distributed DBMS Reliability and Replication Techniques
14-16 Chapter 8: Multi-database Systems
 Problems in Heterogeneous Multi-database Systems
 Database Integration Strategies
 Multi-database System Architectures

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
discussions, and individual and group project works.
Assessment Methods: - As per BIT academic regulation
References:
1. M. Tamer Özsu, Patrick Valduriez: Principles of Distributed Database Systems, 2011
2. Saeed K. Rahimi, Frank S. Haug: Distributed Database Management Systems: A Practical
Approach

Course Title Parallel Computing


Course Code SEng5124
CP 5 (2hr Lecture, 3hr Lab)

199
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Module Title Electives


Module Number 12
Pre-requisites None
Year V
Semester II
Status of Course Elective
Course Description
Parallel Computing is a study of the hardware and software issues in parallel computing. Topics
include an introduction to the basic concepts, parallel architectures and network topologies,
parallel algorithms, parallel metrics, parallel languages, granularity, applications, parallel
programming design and debugging. Students will become familiar with various types of parallel
architectures and programming environments.
Learning Outcomes
At the end of this course the students will be able to:

 Be able to design and analyze parallel algorithms for a variety of problems and computational
models,
 Be familiar with the hardware and software organization of high-performance parallel computing
systems, and
 Have experience with the implementation of parallel applications on high-performance computing
systems, and be able to measure, tune, and report on their performance.
Course Contents
Week Lecture Topics
Introduction to Parallel Computing
Principles of parallel algorithm design
 decomposition techniques
 mapping & scheduling computation
 templates
Programming shared-address space systems
 Cilk Plus
 OpenMP
 Pthreads
Parallel computer architectures
 shared memory systems and cache coherence
 distributed-memory systems
 interconnection networks and routing

 Programming scalable systems


 message passing: MPI
 global address space languages

200
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Analytical modeling of program performance


 speedup, efficiency, scalability
 cost optimality
 isoefficiency
Collective communication
Synchronization
Non-numerical algorithms
 sorting
 graphs
 dynamic programming
Numerical algorithms
 dense matrix algorithms
 o sparse matrix algorithms
Performance measurement and analysis of parallel programs
GPU Programming
Problem solving on clusters using MapReduce

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
discussions, and individual and group project works.
Assessment Methods: - As per BIT academic regulation
References:
1. Introduction to Parallel Computing, Second Edition, AnanthGrama, George Karypis, Vipin
Kumar, Anshul Gupta, Addison-Wesley, 2003
2. Introduction to Parallel Computing, by Grama, Gupta, Karypis and Kumar.
Course Title Design and Analysis of Algorithms
Course Code SEng5126
CP 5 (2hr Lecture, 3hr Lab)
Module Title Electives
Module Number 12
Pre-requisites
Year V
Semester II
Status of Course Elective
Course Description
The course focuses on the design and analysis of algorithms. Topics Include: Review of the basic
data structures; Design techniques: divide-and-conquer, dynamic programming, greedy
algorithms, And graph algorithms: Elementary graph algorithms, Breadth-first search (BFS),
Depth-first search (DFS), Strongly-connected components, Minimum spanning tree, Shortest
paths.

201
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Course Objective
To enable students to design efficient algorithms through a variety of well-known techniques. To
enable students to analyze a given algorithm and compute its time and space complexities, hence
its category, to determine its suitability for a given application.
Course Content
Date/Week Topics to be discussed
Week 1 Introduction:
Analyzing algorithms-Designing algorithms-Asymptotic notation-Standard notations
and common functions-The substitution method-The recursion tree method-The
master method
Week2 Sorting and Order statistics:
Heaps-maintaining the heap property-building a heap-The heap sort algorithm-
description of quick sort-performance of quicksort-A randomized version of
quicksort-Analysis of quicksort- Lower bounds for sorting-Counting sort-Radix sort-
Bucket sort-Minimum and Maximum- Selection in expected and worst case linear
times
Week3 Dynamic Programming:
Assembly-line scheduling-Matrix chain multiplication-elements of dynamic
programming longest common subsequence-Optimal binary search trees
Greedy algorithms
Week4 An activity selection problem-Elements of greedy strategy-Huffman codes Graph
algorithms: Representation of graphs-Breadth first search-Depth first search-
Topological sort-strongly connected components- Growing a minimum spanning tree-
Kruskal and Prims algorithms.
Week5 Single source shortest paths in directed acyclic graphs-The Bellman-Ford Algorithm-
Dijkstra’s Algorithm. All pairs shortest paths and matrix multiplication- The Floyd-
Warshall algorithm- Johnson’s algorithm for sparse matrices-Flow networks- The
Ford-Fulkerson method-Maximum bipartite matching NP-completeness
Week6 Polynomial time and its verification-NP-completeness-reducibility-proofs and NP-
complete problems- The vertex cover problem-The travelling salesman’s problem-The
set cover problem- Randomization and linear programming- The subset-sum problem

Summary of Teaching Learning Methods: Lecture, assignments, projects and exercises


Assessment Methods: -as per BIT academic regulation
References
Text Book:
Introduction to Algorithms, by Thomas H. Corman, Charles E. Leiserson, Ronald R. Rivest&
Clifford Stein, Prentice Hall of India, New Delhi, New Delhi.
Reference Books:
1. The Design and Analysis of computer Algorithms, by Aho, Hopcroft& Ullman,

202
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

Pearson Education
2. Algorithm Design by Michel T. Goodrich & Roberto Tamassia, , John Weily and sons
3. Fundamentals of sequential and parallel algorithms, by Kenneth A. Berman &
Jerome L. Paul, Vikas Publishing House

Course Title Social Networks


Course Code SEng5128
CP 5 (2hr Lecture, 3hr Tutorial)
Module Title Electives
Module Number 12
Pre-requisites INFS Foundation Courses or equivalent, elementary graph
theory,
database management, and accounts on Facebook, LinkedIn,
Google+, or Twitter.
Year V
Semester II
Status of Course Elective

Course Description:

We are now in the era of Social Networks, and they are transforming our interactions in social,
educational, and business settings. Although many of us have accounts on Facebook, Google
Plus, LinkedIn and Twitter, we probably are not using them to their full potential. This course aims
to study the theory of social networks, models to analyze social networks, case studies of
Facebook, LinkedIn, Google Plus and Twitter. Further the course intends to analyze the role and
impact of social media in business, government, and society.

Learning Outcomes
At the end of this course the students will be able to:
This course aims to study the theory of social networks, models to analyze social networks, case
studies of Facebook, LinkedIn, Google Plus and Twitter. Further we intend to analyze the role and
impact of social media in business, government, and society. The course will supplement the texts
with journal articles and other readings. Students will be responsible for reading the articles and
preparing a weekly synopsis for the class. Student project will focus on current and advanced
topics related to social networks and social media. Students will also be expected to perform
programming assignments in Java, PHP or C++.
Course Contents
Week Lecture Topics
1-2 Chapter 1. Graph Theory and Social Networks
3-5 Chapter 2. Markets and Strategic Interactions in Networks

203
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

6 Chapter 3. Information Networks and the World Wide Web


7-8 Chapter 4. Network Dynamics: Population and Structural Models
9 Chapter 5. Institutions and Aggregate Behavior
10-12 Chapter 6. Social Media and its impact on Business, Politics, Law and
Revolutions
13 Chapter 7. Legal Responsibilities for Social Media
14 Chapter 8. Case Studies: Facebook, LinkedIn, Google+, and Twitter.
15-16 Chapter 9. Emerging Trends in Social Networks and Media (Guest
Lecturers will be invited to present special topics).

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
discussions, and individual and group project works.
Assessment Methods: - As per BIT academic regulation
References
1. Networks, Crowds, and Markets: Reasoning about a Highly Connected World, David
Easley and Jon Kleinberg, Cambridge University Press, ISBN 978-0-521-19533-1

Course Title Software Component Design


Course Code SEng512a
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title Electives
Module Number 12
Pre-requisites SEng2052, SEng3071, SEng2022
Year V
Semester II
Status of Course Compulsory

Course Description
This course deals with the design and implementation of software subsystems. The concept of
design patterns is introduced and common patterns are applied to the development of software
components. Laboratory projects provide an opportunity for teams of students to implement
components and to integrate them into complete systems.
Course Objectives
Upon successful completion of this course, the student will:
 apply object-oriented design patterns in software application-specific contexts
 determine the appropriate design pattern to apply in a specific context
 design and implement small software components and systems

204
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 apply UML class and sequence diagrams in the process of designing and documenting
software applications
 use computer-aided software engineering (CASE) tools in the design and software
documentation process
 conduct independent research on software design patterns
 document software design patterns in both written and oral reports

Course Schedule, Topics, Activities, and Readings


Week Topic Activities Reading
1  Introduction to course and design patterns

2  Threading and thread synchronization


3  Inter-thread and inter-process communication
using shared memory, pipes, and sockets
4  Design patterns
 Pattern application issues
5  Anti-patterns
6 Laboratory topics
 Investigation of multi-threaded data
collections
 Application of specific design patterns
 Development of application to demonstrate the
use of a chosen design pattern
 Demonstration of example application

Summary of Teaching Learning Methods


The course will be delivered in the form of lectures, demonstration, student presentations, group
Discussions, and individual and group project works.
Assessment Methods: - As per MTU academic regulation
Texts and References:
Head First Design Patterns Freeman and Freeman, O’Reilly, 2004

205
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

. Quality Assurance
The department of software engineering shall perform the following tasks so as to satisfy the
quality and standard of the program:

 Invite guest lecturers from enterprises and industries who can share their practical

experience for students,

 Web and multimedia based learning materials shall be provided. In addition, Students will

be given module handbooks for each course they study,

 Students will be provided with a personal email account, secure networked computer

storage and Internet connection facilities,

 Facilitate on job training for students and at the same time collect feedback from the

corresponding employers,

 Tutorial sessions for each course will be organized for groups of up to 30 students to

provide additional teaching support,

 Carry out regular assessment of the program based on current trends in the field of

computer science and information technology,

 Create conducive environment and incentive so that students can conduct appropriate

research that enables them convert theory into practice,

206
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

 Research activities of academic staff shall be incorporated into the teaching program,

which can provide individual students an opportunity to work with academics on some

aspect of research,

 Conduct periodic evaluation of staff,

 Upgrade course outlines that can suit both local and international standards, such as the

IEEE Computer Society standard.

4. Staff profile
Staff Profile in School of Computing and Informatics.
Staff profile refers to number of faculty members with appropriate credentials and experience
required to run the proposed Graduate Program in Software Engineering.
Table 9: Staff Profile in SCI
No Designation of Staff Member Staff Qualification Number of Staff Members

1) Total Lecturers in SCI Masters 67

2) Expatriates Staffs PhD and Masters 4


Lecturers with Specialization in
3) Masters 12
Software Engineering
4) Staff on Study Leave PhD and Masters 18

5) Lab Assistants in SCI Technicians 9

Total 98

4.1 Resources
The School of Computing and Informatics is currently having the following: libraries, laboratories
equipment’s, ICT, and access to electronic resources.
 Libraries – the SCI shares the central Library and Digital Library that is used by all MTU
–Tepi Campus departments with access of books and electronic recourses.
 Laboratories - there are 17 Computer Laboratory Rooms which are reserved for
practical/laboratory classes and serving the existing three departments.. On an average
there are around 25 computers in each laboratory rooms. Therefore, there are more than

207
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)

400 desktop computers with 4 GB – 8 GB RAM allocated for the SCI for running
undergraduate programs.
 Offices - the SCI has enough offices to accommodate all staff members in different
buildings.

For the commencement of Software Engineering department we request the following resources:
 Offices: A dedicated office for the Head of Department with Secretarial assistance.
 Laboratories: A minimum of 2 laboratories at the moment for the commencement of the
program which can be further increased according to the student’s intake capacity.
 Lab Assistants: The Software Engineering department is in need of 2 Laboratory
Assistants to assist in the ongoing process.
 Machines: Like: - Copy machine, printer and projector to facilitate learning teaching
process

208

You might also like