Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 214

BULE HORA UNIVERSITY

CURRICULUM

FOR

BACHELOR OF SCIENCE DEGREE


IN

SOFTWARE ENGINEERING

May 2021
Bahir Dar, Ethiopia

EXECUTIVE SUMMARY

Name of the degree program: Software Engineering


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

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


Engineering

Degree to be awarded by: Bule Hora Uiversity, Subjected to the Approval of the Senate

Standard period of study: 5 years or10 semesters

Commencement of the Curriculum: 2020/2021 (2013 E.C.) Academic Year

Total Credit Point(CP): 306

Table of Contents
EXECUTIVE SUMMARY.................................................................................................................................1
1. BACKGROUND.....................................................................................................................................3
2. RATIONALE FOR THE PROGRAM..........................................................................................................4
3. OBJECTIVE OF THE PROGRAM.............................................................................................................4
4. RESOURCES..........................................................................................................................................5
4.1. EXISTING LABORATORIES AND OTHER RESOURCES..........................................................................5

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

4.2. HUMAN RESOURCE...........................................................................................................................5


5. PROFESSIONAL PROFILE......................................................................................................................6
6. GRADUATE PROFILE.............................................................................................................................6
7. ACADEMIC REQUIREMENTS.................................................................................................................7
7.1. ADMISSION REQUIREMENTS.......................................................................................................7
7.2. DURATION OF STUDY...................................................................................................................7
7.3. MODE OF DELIVERY.....................................................................................................................7
7.4. MODE OF ASSESSMENT AND EVALUATION MECHANISM............................................................7
7.5. GRADING SYSTEM........................................................................................................................7
7.6. GRADUATION REQUIREMENTS....................................................................................................7
7.7. DEGREE NOMENCLATURE............................................................................................................7
7.8. MEDIUM OF INSTRUCTION..........................................................................................................8
7.9. QUALITY ASSURANCE...................................................................................................................8
7.10. COURSE CODING......................................................................................................................8
8. MODULE NAME AND DISTRIBUTION...................................................................................................8
9. SEMESTER COURSE BREAKDOWN FOR REGULAR PROGRAM............................................................13
10. MODULE AND COURSE GUIDEBOOK..............................................................................................16

1. BACKGROUND

Nowadays, 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 an environment for work and play that is often safer, more flexible, and less

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

confining. Software engineering is a discipline, which involves the specification, design,


construction and verification of large software systems.

Although the field of Software Engineering was established more than 30 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 Communication and Information 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. So that the ministry can effectively support GTP
reform to ensure sustainable development, poverty eradication, human resource development,
capacity development and good governance through well-developed information communication
technology involvement. Hence, the faculty of computingof BahirDarUniversityhas opened a
new program in Software Engineering aiming to produce skilled graduates in the field of
Software Engineering to fill the demand of manpower in the field at national level.

The Software Engineering program was started during the 2014-2015 academic year, with a
target of admitting students in the regular program from the year 2014 onwards, under the faculty
of Computing. This degree program is a four year 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 programmer, application developer, Web application developer, software
engineer, software applications analyst,Software Project Manager, Software Tester and Web
applications analyst.

2. RATIONALE FOR THE PROGRAM


Program learning outcome specifies the expectation of the program at the end of educational
process in the department of the Software Engineering. This clearly state what our students able
to perform at the end of successful completion of the course work. This mainly focuses on the
achievable output unlike the intention described as part of the program aim.

 Knowledge and understanding of the essential facts, concepts, principles and theories
related to Software Engineering.

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

 Ability to show the mastery of the software engineering knowledge and skills, and
professional issues necessary to bring practice as software engineer
 Ability to work as an individual and as a part of team to develop and deliver quality
software products.
 Ability to reconcile conflicting project activities, finding acceptable compromises within
limitations of cost, time, knowledge, existing systems and organizations
 Ability to design appropriate solutions in one or more application domains using software
engineering approaches that integrate ethical, social, legal and economic concerns.
 Ability to learn new models, techniques and technologies as they emerge and appreciate
the necessity of such continuing professional development.
 Study of advanced courses from basic and preliminary courses that will make the students
to understand all dimensions of the field (Software Engineering) thoroughly.
 Acquiring practical skills and knowledge in all dimensions of Software Engineering field
by being involved in several group/individual projects.

3. OBJECTIVE OF THE PROGRAM


 To provide education for the students with at most quality and thereby to cultivate
confidence in the students to serve the country better
 Assisting Government’s policy of increasing trained manpower, thereby reducing the
shortage of skilled manpower that are required for different organizations, to develop the
nation
 Assisting the industrial community and institutions around in the region to achieve
excellence

4. RESOURCES
4.1.EXISTING LABORATORIES AND OTHER RESOURCES
We need facilities such as libraries, laboratory, workshops and good internet facility for both
staffs and students.Currently there are 12 computer laboratories to conduct the lab session. All
the laboratories have Internet connection. Additionally, there are offices equipped with all the
necessary materials and network connection.

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

4.2. HUMAN RESOURCE


In order to run software engineering department, we need excellent number of staff such as MSc
and above holder.The table here under, shows human resource specialized in Computing
fields.The following table shows human resource based on position.

On Duty

No. Ac. Background Rank Total


1 Ph.D. Associate Professor 1
2 Ph.D&M.Sc. Assistant Professor 7&7
3 M.Sc Lecturer 27
4 B.Sc Assistant Lecturer 30
5 B.Sc Graduate Assistant 2
6 4 B.Sc & 19 diploma Technical Assistant 23
Total 88
On Study Leave

No. Ac. Background Rank Study On study


Program
1 M.Sc. Lecturer Ph.D 5
2 B.Sc Assistant lecturer M.Sc. 40
3 B.Sc Graduate Assistant M.Sc. 2
4 4 B.Sc & 19 diploma Technical Assistant M.Sc. 2
Total 49

5. PROFESSIONAL PROFILE
Assist the ICT related tasks in an Organization
Make rational and justified decisions regarding the selection of methods, tools and
programming techniques for the development of a computer application
Design software architecture for software development
Develop quality software in various domain
Handle system programming tasks
Use CASE tools for software productivity
Develop web sites for network based applications

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

Design and develop database applications


Maintain and re-engineer the industry software projects
Operate and design hardware systems
Apply the acquired skill professionally to problem solving in a real world
environment
Manage the process of software quality management and Assurance

6. GRADUATE PROFILE
The graduates of the program will be able to:
 To make rational and justified decisions regarding the selection of methods, tools and
techniques for the development of an application
 Design, develop and maintain good quality software by applying software engineering
principles
 Selecting the appropriate software model to develop software based on the type of project
 Ability to design the test cases for the application and test the application either by
performing manual testing or automation testing using the appropriate testing tools
 Ability to design and develop advanced web sites using client side scripting and server
side scripting languages
 Ability to design, develop and maintain database systems
 Ability to assist in the software industry to produce good quality software by applying the
software quality techniques

7. ACADEMIC REQUIREMENTS
7.1. ADMISSION REQUIREMENTS
 The requirements for admission to the program are as per the Ministry of
Education & Universities admission requirement.

7.2. DURATION OF STUDY


 Under normal circumstances, fiveyears of study are required to complete the
program.

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

7.3. MODE OF DELIVERY


 Mode of delivery should be parallel to make fruitful student learning situation.

7.4. MODE OF ASSESSMENT AND EVALUATION MECHANISM


 Mode of assessment and evaluation is as per the assessment criteria of the
institute.

7.5. GRADING SYSTEM


 Grading is done as per the academic Policy of the institute.

7.6. GRADUATION REQUIREMENTS


The major graduation requirements of the program include:
 Fulfilling the graduation requirements set by Bahir Dar Institute of Technology,
Bahir Dar University.
 Successful completion of a total of 306 credit points as per this curriculum;

7.7. DEGREE NOMENCLATURE


 The degree awarded to a student who has completed all the required courses of
the program reads,

Bachelor of Science Degree in Software Engineering


የሳይንስባችለርዲግሪበሶፍትዌርምህንድስና

7.8. MEDIUM OF INSTRUCTION


 The medium of instruction for the program is ENGLISH

7.9. QUALITY ASSURANCE


Quality assurance can be used as an instrument to improve the system continuously, install
accountability and enable compatibility with other higher education systems. The quality of the
program is assessed in terms of the instruction performance and impact of program on the quality
of graduates looking for a job or further studies. The following factors help to ensure the quality
of the education:

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

 In order to maintain the level of courses, course description are prepared in detail
containing course objectives, learning outcome, course outline, textbooks, references and
laboratory tasks.
 With regard to instruction performance, in line with the University policy, student
evaluations are taken into account. The feedbacks from the students are used to improve
the quality of instruction.
 Examinations are assessed by Department Graduation Committee to verify the level of
the courses instruction.
 Industry feedback will be an integral part of the process of quality assurance. The quality
of graduates is measured with the feedback obtained from the employers and stakeholders
who are the immediate beneficiaries of the program and also the graduates who are able
to rate their own confidence in meeting the challenges they encounter after graduation.

7.10. COURSE CODING


The course code will have four-digit number like abcd following String SEng. The first digit, ‘a’,
indicates the year of the course offering (‘1’ for 1st year, ‘2’ for 2nd year, ‘3’ for 3rd year , ‘4’
for 4th year and ‘5’ for 5th year courses);the middle numbers, ‘bc’, indicate the module number
in the program; thelast number, ‘d’, indicates order of the course within the module(odd number
indicates first semester while even number indicates second semester).

8. MODULE NAME AND DISTRIBUTION


Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
01 Common Basic Mathematics for Common
and Math1011
Natural Sciences 5 3 0 2 5
Supportive General Physics Supportive
Courses Phys1011 5 3 0 2 5
Psyc1011 General Psychology Common 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
LoCT1011 Critical Thinking Common 5 3 0 2 5
EmTe1012 Introduction to Emerging Common 5 3 0 2 5
Technologies
CoSc1012 Computer Programming Supportive 5 2 3 0 5
Anth1012 Social Anthropology Common 4 2 0 2 4
Math1012 Applied Mathematics Supportive 5 3 0 2 5
MCiE1012 Moral and Civic Common 4 2 0 2 4

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

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 Common 5 2 0 3 5
GiTr2011 Global trends Common 4 2 0 2 4
SNIE2011 Inclusiveness Common 4 2 0 2 4
Econ-2011 Economics Common 5 2 0 3 5
Stat4012 Probability and Statistics Supportive 4 2 0 2 4
Total 85 46 3 36 85

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
02 Programming SEng2021 Computer Compulsory 5 2 3 0 5
Fundamentals Programming II
SEng2122 Data structures and Compulsory 5 2 3 0 5
Algorithms
Total 10 4 6 0 10

Modul Module Course Course Title Status CP Lec Lab Tut H/S
e Title No
No
03 Hardware, Computer Organization
and SEng3022 Compulsory 5 2 0 3 5
and Architecture
SystemsProgr Operating Systems and Compulsory
amming Seng3122 7 3 3 1 7
System Programming
Microprocessor and Compulsory
Seng3231 5 2 3 0 5
Assembly Language
Principles of Compiler Compulsory
Seng3341 5 2 3 0 5
Design
Real time and Embedded Compulsory
Seng3441 5 2 0 3 5
System
Total 27 11 9 7 27

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

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
05 Software Seng5021 Fundamentals of Compulsory 5 2 0 3 5

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

Engineering Software Engineering


Core Seng5131 Requirements Compulsory 3 0 3 6
6
Engineering
Seng5232 Software Architecture Compulsory 3 3 0 6
6
and Design
Software Engineering Compulsory
Seng5331 5 2 3 0 5
Tools and Practices
Software Testing and Compulsory
Seng5441 6 3 3 0 6
Quality Assurance
Software Evolution and Compulsory
Seng5551 6 3 0 3 6
Maintenance
Seng5651 Software Metrics Compulsory 5 3 0 2 5
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
5
Programming Seng6022 Programming
Seng6132 Advanced programming Compulsory 5 2 3 0 5

Seng6241 Mobile Application Compulsory 5 2 3 0 5


Development
Total 15 6 9 0 15

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
07 Computer Fundamental of Compulsory 2 3 0 5
Networking Seng7022 5
Networking
and Security Seng7131 Web Design and Compulsory
5 2 3 0 5
Programming
Seng7232 Fundamental of Cloud Compulsory 5 2 3 0 5
Computing
Seng7332 Fundamental of Compulsory 5 2 3 0 5
Distributed Systems
Seng7431 Fundamental of Security Compulsory 5 2 3 0 5

Total 25 10 15 0 25

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No

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

08 Graphics Human Computer Compulsory


Seng8052 5 2 0 3 5
and Human Interaction
Computer Seng8152 Computer Graphics and Compulsory 3 3 1 7
7
Interaction Multimedia
Total 12 5 3 4 12

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
9 AI, Machine Fundamental of Machine Compulsory
Learning, Seng9032 5 2 3 0 5
Learning
Big Data
Fundamental of Artificial Compulsory
Seng9141 5 2 3 0 5
Intelligence
Fundamental of Big Data Compulsory
Seng9251 Analytics and Business 5 2 3 0 5
Intelligence
Total 15 6 19 0 15

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
10 Industry SEnga042 Holistic Exam Compulsory 2 0 2 0 2
Practice and
Holistic Senga142 Internship Compulsory 28 0 28 0 28
Exam
Total 30 0 30 0 30

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
11 Research Sengb032 Software Project Compulsory 5 2 0 3 5
and Management
Project Selected Topics in Compulsory
Works SEngb152 3 2 0 1 3
Software Engineering
SEngb251 Project I Compulsory 5 0 0 5 5

Sengb352 Project II Compulsory 5 0 0 5 5

Total 18 4 0 14 18

Module Module Course Course Title Status CP Lec Lab Tut H/S
No Title No
12 Electives SEngc051 Software Agent Elective I 5 2 0 3 5

SEngc151 Software Risk Elective I 5 2 0 3 5


Management
SEngc251 Software Process Elective I 5 2 0 3 5
Improvement
SEngc351 Event Driven Elective I 5
2 3 0 5
Programming
SEngc451 WEB Service Elective I 5
2 3 0 5

SEngc552 Distributed Database Elective II 5 2 3 0 5

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

Management Systems
SEngc652 Parallel Computing Elective II 5 2 3 0 5
Design and Analysis of Elective II 5 2 3 0 5
SEngc752 Algorithms
Social Networks Elective II 5 2 0 3 5
SEngc852
Software Component Elective II
5 2 0 3 5
SEngc952 Design
Total 50 20 15 15 50

9. SEMESTER COURSE BREAKDOWN FOR REGULAR PROGRAM


Year I, Semester I
Course Title Course Code CP Lec Lab Tut HS
Mathematics for Natural Sciences Math1011 5 3 0 2 5
General Physics Phys1011 5 3 0 3 5
General Psychology Psyc1011 5 3 0 2 5
Physical fitness SpSc1011 P/F 0 2 0 2
Geography of Ethiopia and the Horn GeES1011 5 3 0 2 5
Communicative English Language 3 0 2 7
EnLa1011
Skills I 5
Critical Thinking LoCT1011 5 3 0 2 5
Total 30 18 2 13 32

Year I, Semester II
Course Title Course Code CP Lec Lab Tut HS
Introduction to Emerging Technologies EmTe1012 5 3 0 2 5
Computer Programming ECEg2052 5 3 3 0 5
Social Anthropology Anth1012 4 2 0 2 4
Applied Mathematics I Math 1012 5 3 0 2 5
Moral and Civic Education MCiE1012 4 2 0 2 4
Communicative English Language EnLa 1012 5 3 0 2 5
Skills II
Entrepreneurship MGMT1012 5 3 0 2 4
Total 33 19 3 12 32

Year II, Semester I

Course Title Course Code CP Lec Lab Tut H/S


Fundamentals of Software Engineering Seng5021 7 3 3 1 7

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

Computer Programming II SEng2021 5 2 3 0 5

Fundamentals of Database Systems Seng4021 5 2 3 0 5

Discrete Mathematics and Combinatory Math2011 5 3 0 2 5


Inclusiveness SNIE 2011 4 2 0 2 4

Economics Econ-1011 5 2 0 3 5

Total 31
14 9 8 31

Year II, Semester II


Course Title Course Code CP Lec Lab Tut H/S
Data Structure and Algorithms SEng2122 5 2 3 0 5
Computer Organization and Architecture SEng3022 5 2 0 3 5
Operating Systems and Systems SEng3122 7 4 3 1 7
Programming
Probability and Statistics Stat4012 5 2 0 3 5
Object Oriented Programming Seng6022 5 2 3 0 5
Fundamental of Networking SEng7022 7 3 3 1 7
Total 34 14 12 8 34

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

Year III, Semester I


Course Title Course Code CP Lec Lab Tut H/S
Microprocessors and Assembly Language SEng3231 5 2 3 0 5
Advanced Database Systems SEng4031 5 2 3 0 5
Requirements Engineering SEng5131 5 2 0 3 5
Software Engineering Tools and Practices SEng5331 5 2 3 0 5
Web Design and Programming SEng7131 7 3 3 1 7
Fundamental of Software Security SEng7431 5 2 3 0 5
Total 32 13 15 4 32

Year III, Semester II


Course Title Course Code CP Lec Lab Tut H/S
Software Architecture and Design SEng5232 5 2 0 3 5
Advanced Programming SEng6132 5 2 3 0 5
Fundamental of Cloud Computing SEng7232 5 2 3 0 5
Fundamental of Distributed Systems SEng7332 5 2 3 0 5
Fundamental of Machine Learning SEng9032 5 2 3 0 5
Software Project Management SEngb032 5 2 3 0 5
Total 30 12 15 3 30

Year IV, Semester I


Course Code La
Course Title CP Lec Tut H/S
b
Global Trends GlTr1012 4 2 0 3 5
Principles of Compiler Design SEng3341 5 3 3 0 5
Real Time and Embedded Systems SEng4162 5 3 3 0 5
Software Testing and Quality Assurance SEng5441 7 4 3 1 7
Mobile Application Development SEng6241 5 2 3 0 5
Fundamentals of Artificial Intelligence SEng9141 5 2 3 0 5
Total 31 16 15 4 32

Year IV, Semester II


Course Title Course Code CP Lec Lab Tut H/S
Holistic Exam SEngc042 2 0 2 0 2
Internship SEngc142 28 0 28 0 28
Total 30 0 30 0 30

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

Year V, Semester I
Course Title Course Code CP Lec Lab Tut H/S
Software Evolution and Maintenance SEng5551 5 2 0 3 5
Software Metrics SEng5651 5 2 3 0 5
Fundamentals of Big Data Analytics and Business SEng9251 5
Intelligence
2 3 0 5
Project I SEngb251 7 0 7 0 7
Elective I SEngcx51 5 2 0 3 5
Total 27 8 13 6 27

Year V, Semester II
Course Title Course Code CP Lec Lab Tut H/S
Human Computer Interaction SEng8052 5 2 0 3 5
Computer Graphics and Multimedia SEng8152 7 3 3 1 7
Selected Topics in Software Engineering SEngb152 4 2 0 2 4
Project II SEng5142 7 0 7 0 7
Elective II SEng517X 5 2 3 0 5
Total 28 9 13 6 28

10. MODULE AND COURSE GUIDEBOOK


Module Name Common and Supportive Courses

Module Number 01

Category Common/Supportive

CP 87

Module Description Course No Title


Math 1011 Basic Mathematics for Natural Sciences

Phys 1011 General Physics

Psyc 1011 General Psychology and Life Skills

SpSc 1011 Physical fitness

GeES 1011 Geography of Ethiopia and the Horn

EnLa 1011 Communicative English Skills I

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

LoCT1011 Critical Thinking

EmTe1012 Introduction to Emerging Technologies

CoSc 1012 Basic Computer Programming

Anth1012 Anthropology of Ethiopian Societies and Cultures

Hist 1012 History of Ethiopia and the Horn

Math 1012 Applied Mathematics

MCiE1012 Moral and Citizenship Education

EnLa 1012 Communicative English Skills II

Math2011 Discrete Mathematics and Combinatory

MGMT2011 Entrepreneurship and Business Development

Introduction to International Relations and Global


IRGI 2011
Issues

SNIE2011 Inclusiveness

Econ-2011 Introduction to Economics

Stat4012 Probability and Statistics

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:3 Home
Study:4
Mode of Delivery Semester wise
Course Description The course intends to prepare natural science
students with the basic concepts and materials from
mathematics that necessitate a good foundation to
treat fundamental mathematical tools in science.
This course rigorously discusses the basic concepts
oflogic 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

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

functions, logarithmic and exponential functions,


trigonometric functions, hyperbolic functions and
their graphs and analytic geometry.
Course Objectives/ Learning Outcomes After completion of the course, students will be
able to:
 apply propositional logic in reasoning,
 use quantifiers in open propositionsin
mathematical logic
 understand concepts of sets and set
operations,
 understand the fundamental properties of
real numbers use mathematical induction in
proofs,
 analyzeleast upper bound and greatest lower
bound,
 understand the fundamental properties of
complex numbers
 express complex numbers in polar
representation
 explaindifferent types of functions, their
inverses andtheir graphs
 evaluate zeros of polynomials
 Understandbasic properties of logarithmic,
exponential, hyperbolic, and trigonometric
functions
 Understand basic concept of analytic
geometry
 derive equations of conic sections
Course Contents
Topics Duration

Chapter 1: Propositional logic and Set 1-2


Theory (14 hrs)
1.1.Definition and examples of proposition
1.1.1Logical connectives 1.1.2Compound
(or complex) propositions
1.1.3Tautology and contradiction
1.1.4Open proposition and quantifiers
1.2. Set theory
1.2.1 The concept of a set 1.2.2Description
of sets
1.2.3. Set operations and Venn diagrams
Chapter 2: The realand complex number 3-5
systems (14 hrs)
2.1 The real number system
2.1.1. The natural numbers, Principle of

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

mathematical induction and the Well


ordering Principle 2.1.2. The integers,
rational numbersand 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
theiroperations
2.2.2. Polar representation of complex
numbers and the De-Moivere’s formula
2.2.3. Extraction of roots
Chapter 3: Functions (14 hrs) 6-9
3.1. Review of relations and functions
3.2. Real-valued functions and their
properties
3.3. Types of functionsand inverse of a
function
3.4. Polynomials, zeros of polynomials,
rational functions, and their graphs
3.5. Definitions and basic properties
oflogarithmic,
exponential,trigonometricand hyperbolic
functions, and their graphs.
Chapter 4. Analytic Geometry(14 hrs) 10-14
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 centre at the
origin and different from the origin.
4.2.3. Intersection of a circle andaline
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 Ellipseand examples
4.4.2. Equation of ellipse centre 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

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

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. Alemayehu Haile and
Yismaw Alemu, Mathematics an Introductory
Course, Department of Mathematics, AAU

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:3 Home
Study:4
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

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

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
2.6 Determinant of a square matrix
2.7 Inverse using determinant
2.8 System of linear equations (Gauss Jordan method and

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

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:SomeTranscendental unctions 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 Volume
5.7.2 Arc length
5.7.3 surface Area
Assessment Criteria As per the academic regulation.
References Text: R.Ellis and D.Gulick: Calculus with Analytic
Geometry 5th edition

Reference Materials:

1. Leslie Hogben: Elementary Linear Algebra


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

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

edition

Course Title Discrete Mathematics


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 Logical connectives
1.2 Tautology, contradiction and logicalequivalence
1.3 Quantified propositions
1.4 Argument and validity
1.5 Methods of proof
Tutorial
Chapter 2: Set theory (12 hrs)

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

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 languages
Tutorial
Chapter 3:Counting Methods (12hrs)
3.1 Sum and product Rules
3.2 Permutations
3.3 Combinations
3.4 Binomial Theorem
3.5 Pigeon hole principle
3.6 Generating functions
Tutorial
Chapter 4: Advanced counting methods(8 hrs)
4.1 Inclusion-exclusion principle
4.2 Recurrence relations
4.3 Methods of solving recurrence relations
Tutorial
Chapter 5: Introduction to graph theory (16 hrs)
5.1 Definition and Examples
5.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 graphs
5.7 Trees
5.8 Minimum spanning trees
5.9 Prim’s and Kruskal’s Algorithm
5.10 Dijkstra’s shortest path Algorithm
Tutorial
Assessment Criteria As per BIT Legislative
References 1. Grimaldi, R.P. Discrete and Combinatorial Mathematics:

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

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 4012
CP 4
Study Hour (per week) Lecture:2 Laboratory:0 Tutorial:2 Home Study:4
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.
• 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 tech-
niques demonstrated through principles of data
collection, descriptive statistics, linear regression,
correlation, computation and data analysis;
 identify different techniques of sampling and un-
derstand the methods of data collection, organiza-
tion, 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 3 hours  Lecture Method
and organization  Discussion Method
1.3 Method of data 3 hours  Lecture Method

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

representation  Discussion Method


Chapter 2. Measures of 7 hours
Central 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 7 hours
Variation
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 3 hours
variation
Solving all worksheets about 2 hours  Lecture Method
three 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.
-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 3 hours  Lecture Method
Baye‘s 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 1 hour  Lecture Method
discrete 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

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

probability distribution.
6.1. Mean & variance of 1 hour  Lecture Method
continuous 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 2hrs  Lecture Method
theory  Discussion Method
Chapter 8. Statistical Inference 8 hours 
8.1.Statistical Estimation of 2 hrs  Lecture Method
mean ( one sample mean &  Discussion Method
proportion)
8.2.Test of hypothesis ( one 4 hrs  Lecture Method
sample 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 bedelivered by lecture
method. However most of the concepts are 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:PsyL1011

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

CP 5
Study Hour Lecture:3 Laboratory:0 Tutorial:3 Home Study:4
Mode of Delivery Semester wise
Course Description This introductory course will provide students with an overview of
the current body 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 Rationale The course General Psychology and Life skills encompasses the
fundamental 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 Outcomes Up on the completion of this course, students will be able to:
 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
 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
Contents Week Assessment Techniques
Chapter One: Essence of Week 1
Psychology

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

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
Chapter Two: Human Week 2-3
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
Chapter Three: Learning and Week 4-5
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

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

Chapter Four: Memory and Week 6


Forgetting
4.1. Memory
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
Chapter Five: Motivation and Week 7-8
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
Chapter Six: Psychological Week 9
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 Week 10
to Life Skills
7.1. Nature and Definition of
Life skills
7.2. Goals of Life Skills
7.3. Components of Life Skills
Chapter Eight: Intra-personal Week 10-12
and Personal Skills
8.1. Self-Concept and Self-

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

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
Chapter Nine: Academic Week 13
Skills
9.1. Time Management
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
Chapter Ten: Social Skills Week 14-15
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 is Reserved For
Final Examination
Teaching Learning Methods Classroom lessons will be mainly lectures preceded by activities
(leading questions followed by brainstorming) and pair or group
discussions followed by presentations 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

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

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 Criteria As per the academic regulation.
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, 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.

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

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.
Peace Corps (2001). Life skills manual. Washington, DC: Author.
Skills You need (2018). Personal development. Author.
State University of New York (nd). The study skills handbook.
Albany, GA: 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 Load Lecture Tutorial, Continuous Private Total

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

class Assessment Study


discussions& s (test, term
presentations paper, home
taken
exam/case
studies &
final exam)
48 hrs. 36 hrs. 15 hrs. 26 hrs. 125 hrs.
Mode of Delivery Semester wise
Course Description This course is designed to introduce the anthropology of Ethiopian
societies and 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, enset 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 Objectives Intended Learning Outcome:
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; 
 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;

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

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 Hrs Lecture
1.1. What is anthropology – a Mirror for Humanity?
 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 Lecture
2.1. Conceptualizing Culture: What Culture Is and
What Culture Isn’t?
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.
2.7. Ties that Connect: Marriage, Family and Kinship
 Marriage -rules, functions and forms of

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

Marriage  Family -types and functions of


Family 
Q. How families and marriage differ in different
societies? 
 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 Lecture
3.1. Human Beings & Being Human: What it is to be
human? –(a biocultural 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 One Week- 3 Hrs Lecture
Supernatural/ethereal Worlds
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

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

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?
5. Marginalized, Minorities, and Vulnerable Groups. Four Weeks -12 Hrs Lecture
5.1. Gender based marginalization;
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

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

8.2. Enset culture area


8.3. Pastoral societies culture area
8.4. Historical and social interactions between culture
areas
Course Requirements: (Classroom, resources, and other inputs required to deliver the
course will be listed)
Grading Policy (Legislation of the concerned university will be adopted by
departments/schools handling the common course across the
country)
Assessment and Evaluation Based on the progressive understandings of the course, students will
Criteria be evaluated continuously through both non-graded
assignments/activities, like (reading assignments) and graded
assignments/activities and assessments including class discussion &
participation, Test, Term Paper & presentation, Home Taken
Exam/case studies and Final Exam.
References 1. Asmarom Legesse (2006). Oromo Democracy: an Indigenous
African Political System. The Red Sea Press, Inc.
2. Cameron, M. Smith and Evan T. Davies (2008). Anthropology for
Dummies. Wiley Publishing, Inc., Indianapolis, Indiana.
3. Clifored Geertz . (1973). The Interpretation of Cultures. A
division of Harper Collins Publishers.
4. Donald Donham . (1986). Marxist Modern. The Ethnographic
History of Marxist Ethiopia.
5. Donald N. Levine. (1974). Greater Ethiopia: The Evolution of A
Multiethnic Society. Chicago & London., University of Chicago.
6. Dunif-Hattis and Howard C. (1992). Anthropology:
Understanding Human Adaptation. New York: Harper Collins, Inc.
7. Eriksen, T. H. (2001). Small Places, larger Issues: An introduction
to social and cultural anthropology. London: Pluto Press.
8. Eriksen, T. H. (2004). What is anthropology? London: Pluto
Press.
9. Eriksen, T. Hylland. (2002). Ethnicity and Nationalism. London;
Pluto Press.
10. Eriksen, T.H. and Nielsen, F.S. (2001). A History of
Anthropology. London: Pluto Press.
11. Hallpike, Christopher R. (1972). The Konso of Ethiopia: A Study
of the Value of a Cushitic People. Oxford: Clarendon Press.
12. 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

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

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

Course Title General Physics


Module Title Common and Supportive Courses
Module Number 01 Course
Number:Phys1011
CP 5
Study Hour Lecture:2 Laboratory: 0 Tutorial:1 Home
Study:7
Mode of Delivery Semester wise
Course Goal (Learning By the end of this course the student will able to:
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

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

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 
 Uncertainty in Measurement and
Significant Digits 
 Vectors: composition and resolution
 Unit Vectors
2 Kinematics and  Kinematics in One and Two Dimensions 2-5
Dynamics of (4 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

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

 Buoyant Forces, Archimedes’ principle 


 Moving Fluids and Bernoulli’s Equation
Mid Exam 8
4 Heat and  The Concept of Temperature: Zeroth 9-10
Thermodynamics Law of Thermodynamics 
(5Hr)  The Concept Heat and Work
 Specific Heat and Latent Heat
 Heat Transfer Mechanism 
 Thermal Expansion 
 Energy Conservation: First Law of
Thermodynamics
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
Physics (4 hrs) soils, 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

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

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
Participation 100% of Lab/Demonstration.
References  Serway, R. A. and Vuille, C., 2018, College Physics,
11th ed., Cengage Learning, Boston, USA
 University Physics with Modern Physics by Young,
freedman and Lewis Ford 
 Physics for Scientists and Engineers with Modern
Physics by Douglas C. Giancoli 
 Fundamentals of physics by David Halliday, Robert
Resnick and Gearl Walker 
 College Physics by Hugh D. Young Sears Zemansky,
9th edition 
 Herman Cember and Thomas A. Johnson,
Introduction to Health Physics, 4th ed., (2008).
 William R. Hendee and E. Russell Ritenour, Medical
Imaging Physics, 4th ed., (2002). 
 Tayal D.C. Basic Electronics. 2nd ed. Himalaya
Publishing House Mumbai, (1998). 
 Theraja B.L., R.S. Sedha. Principles of Electronic
Devices and Circuits, S.Chand and Company Ltd,
New Delhi, (2004). 
 Introduction to Space Physics, M. G. Kivelson and C.
T. Russell, Cambridge University Press, 1995.
 Stacey, Frank D.: Physics of the earth. 2nd Ed.,Wiley,
1977.
 https://sites.google.com/site/apphysics1online/home
 https://phys.libretexts.org/

Course Title Communicative English Language Skills I


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

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

Course Contents
Topics Duration
- -
References -

Course Title Communicative English Language Skills II


Module Title Common and Supportive Courses
Module Number 01 Course Number:EnLa1012
CP 5
Study Hour Lecture:3 Laboratory: 0 Tutorial: 0 Home
Study:7
Mode of Semester wise
Delivery
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 Semester wise
Delivery
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

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

Number
CP 5
Course Lecture Discussion Group & Home Assessment Total
Information with Peers Individual Study/Self number
& Assignment Study/ of hours
instructor per
semester
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
Description elements of 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 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
the Course objectives, 
 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 behaviour 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
Outcomes and objectives; 
 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.

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

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
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’ Behaviour
9 Hours 3. Theory of Consumers’ Behaviour
3.1. Consumer preferences
3.2. The concept of utility
3.3. Approaches of measuring Utility
3.3.1. The cardinal utility approach
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 approach
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

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

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
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
teaching make the teaching learning process as effective as possible. For most part of
methodology the course, delivery 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.

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

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(Students will be evaluated using different
Methodology mechanisms)
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.
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
of instructor & appropriate materials like handouts, worksheets, exercises given, text
students books and assignments. 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.

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

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:MGMT2011


CP 5
Course Lecture Discussion Group Home Assessment Total
Information with peer Project and Study/Self Number
& Individual Study of Hours
Instructors assignment Per
semester
48 30 15 40 25 158
Mode of Delivery Semester wise
Course This interdisciplinary course is designed to introduce students the
Description 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 

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

 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 The expected learning outcomes of this course are to produce
Learning innovative, creative, entrepreneurial team players, ethical and calculated
Outcomes risk-taking students who can run their own businesses efficiently and
effectively.
Course As the intension of the course entrepreneurship is preparing University
Competence students 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.
Course Contents
Week Topics and subtopics Course Objectives and
Competences to be Acquired
Week Chapter The Nature of After completing this chapter,
1&2 1 Entrepreneurship students will be able to: 
1.1. Definition and philosophy of  Define the term
Entrepreneurship Vs 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
1.3. Role within the economy economy
1.4.Entrepreneurial Competence  Analyze the entrepreneurial
and Environment competences 
1.4.1. Entrepreneurial Mindset  Differentiate the term
1.4.2. Demographic Factors creativity and innovation
1.4.3. Entrepreneurial
Environment
1.5. Entrepreneurship, creativity
and innovation
Activities
Teacher Activity Student Activity
 Introducing objectives to  Define the term
the students entrepreneurship and
 Asking brain storming entrepreneur 
questions  Discuss the role of
 Giving brief introduction entrepreneurship within the
to the sub topics economy 
 Giving class room and  Explain the entrepreneurial

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

home based works competences


 Checking, evaluating,
and giving feedback to
student’s work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group
discussion and reflection
Assessment Quiz 5%
Week Chapter Business Planning Course Objectives and
3,4&5 2 Competences to be Acquired
2.1. Opportunity Identification After completing this chapter,
and Evaluation students will be able to:
2.2. Business Idea Development  Identify opportunity in the
2.2.1 Business Idea Identification environment 
2.2.2 Sources of Business Ideas  Evaluate the opportunities
2.2.3 Methods for generating in the environment 
Business Ideas  Generate business idea 
2.3. The Concept of Business Explain the concept of
Planning business planning 
2.4. Business Feasibility  Identify components of
2.5. The Business plan business plan 
2.6. Developing a business plan  Develop business plan
Activities
Teacher Activity Student Activity
 Introducing objectives to  Discuss business
the students opportunities in the
 Asking brain storming environment 
questions  Generate business idea
 Giving brief introduction  Synthesize the components
to the sub topics of business plan 
 Giving class room and  Develop business plan
home based works
 Checking, evaluating,
and giving feedback to
student’s work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group
discussion and reflection
Assessment  Group Project/ Business 15%
Plan Development 5%
 Presentation
Week Chapter Business Formation Course Objectives and
6&8 3 Competences to be Acquired
3.1. The Concept of Business After completing this chapter,
Development students will be able to:
3.2. Forms of Business (a short  Explain the concept of

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

explanation) business development


3.3. Definition and Importance of  Identify the forms of
SMEs business ownership 
3.4. Setting up small scale  Define SMEs 
business 3.5 Roles of SMEs  Analyze the importance of
3.6. Business failure and success SMEs 
factors.  Set Up small scale business
3.6.1 Problems of small scale 
business in Ethiopia  List role of SMEs 
3.7 Organizational structure and  Distinguish the failure and
entrepreneurial team formation success factors of SMEs 
 Identify the problem of
small scale business in
Ethiopia 
 Develop organizational
culture
Activities
Teaching Activity Student Activity
 Introducing objectives to  Discuss the concept of
the students business development
 Asking brain storming  Brainstorm the importance
questions of SMEs 
 Giving brief introduction  Discuss the failure and
to the sub topics success factors of SMEs
 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  Individual assignment 10%
Week Chapter Product or Services Course Objectives and
8&9 4 Development Competences to be Acquired

4.1. The Concept of product or After completing this chapter,


service technology students will be able to: 
4.2. Product or service  Describe the concept of
development Process product and services 
4.3 Legal and regulatory  List product or service
frameworks development process 
4.4 Intellectual Property  Discuss the intellectual
Protection/Product or service property protection
protection
4.4.1 Patent

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

4.4.2 Trademarks
4.4.3 Copyrighting
Activities
Teacher Activity Student Activity
 Introducing objectives to  Describe the concept of
the students product and services 
 Asking brain storming  Analyze Product or service
questions process 
 Giving brief introduction  Recognize legal and
to the sub topics regulatory frameworks
 Giving class room and  Describe intellectual
home based works property protection
 Checking, evaluating,
and giving feedback to
student’s work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group
discussion and reflection
Week Chapter Marketing Course Objectives and
11&12 5 Competences to be Acquired

5.1.The Concept and philosophy After completing this chapter,


of marketing students will be able to: 
5.2. Marketing Mix and Strategies  Define marketing 
5.3 Marketing Information  Identify Marketing mix and
System strategies
5.3.1 Marketing intelligence  Analyze components of
5.3.2 Marketing research marketing information
5.5. Competitive analysis system 
5.6 Selling and Customer Service  Explain competitive
environment 
 Describe customer service
and selling process

Activity
Teaching Activity Student Activity
 Introducing objectives to  Define marketing concept
the students 
 Asking brain storming  Discuss marketing mix
questions strategies 
 Giving brief introduction  Differentiate components of
to the sub topics marketing information
 Giving class room and system 
home based works  Explain competitive
 Checking, evaluating, environment
and giving feedback to

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

student’s work
 Summarizing the chapter
Delivery Methods Interactive Lecture, group
discussion and reflection
Assessment Test 15%
Week Chapter Financing the new venture Course Objectives and
13&14 6 Competences to be Acquired

6.1 Overview of Business After completing this chapter,


Financing students will be able to: 
6.2 Source of financing  Know business financing
6.2.1 Equity financing  Identify the sources of
6.2.2 Debt financing finance 
6.2.2.1 Trade credit  Understand with traditional
6.2.2.2 Lease financing financing techniques
6.3 Traditional Financing  Familiarize with crowd
(Equib/Edir, etc.) funding 
6.4 Crowd Funding  Know Ethiopian micro
6.5 Micro finance in Ethiopia finance system

Activity
Teaching Activity Student Activity
 Introducing objectives to  Discuss business financing
the students  Identify the sources of
 Asking brain storming finance 
questions  Explore traditional
 Giving brief introduction financing techniques 
to the sub topics  Aware about crowd funding
 Giving class room and  Examine Ethiopian micro
home based works finance system
 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
15&16 7 Transition Competences to be Acquired

7.1. Managing business growth After completing this chapter,


7.2. New venture expansion students will be able to: 
strategies  Know how to manage
7.3. Business Ethics and Social business growth
Responsibility  Understand business
expansion strategies
 Know & Internalize

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

business ethics & social


responsibilities
Activity
Teacher Activity Student Activity
 Introducing objectives to  Discuss business growth &
the students its management 
 Asking brain storming  Identify new venture
questions expansion strategies 
 Giving brief introduction  Examine business ethics &
to the sub topics social 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
Learning Methods reading assignment, Group Discussion, Individual reflection, Debate
among groups, Case study discussion and analysis, Assignment
presentation
Assessment As per the university academic regulation (Quiz, Test,Individual
Methods Assignment, Business Plan Preparation , Presentation, Final Exam ,…)
Commitment of Preparedness: You must come to class prepared by bringing with you
Instructors and the appropriate materials like handouts, worksheets and exercises given,
Learners text books 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 Attendance: It is compulsory to come to class on time and every time.
University If learners are going to 85% during the term, they should not take this
course Assignments: Learners must do their individual and group

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

projects and submit on time. Any assignments will be submitted on and


before the specified deadline.
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 RobertD. 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:SNIE2011
CP 4
Study Hour Lecture: Laboratory: Tutorial: Home
Study:
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 enhancing peace, stability and creating inclusive

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

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

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

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, 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 and The objective of this course is to develop knowledge, skill and
Expected Learning attitude of the learners so that they can provide appropriate
Outcomes services, the tools and strategies 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 persons 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

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

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. 
 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/Strategies This section is flexible to involve the instructor‘s creativity in
of learning and Teaching identifying 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.
Approach/Methods/Strategies This section is flexible to involve the instructor‘s creativity in
identifying 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 

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

 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 and Evaluation As per the academic regulation(Dear students, for each
Methods contents you will complete getting started activities, read
selected materials complete course works and group
assignments. Assessment of the students would be a
continuous process)
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

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

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 Introduction to International Relations and Global Issues


Title
Module Common and Supportive Courses
Title
Module 01 Course Number:IRGI2011
Number
CP 4
Student Lecture Tutorial Library Assign. Home Total W. L.
Work and Group Report Study
Load 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
Course Description

how the international 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!”

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

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
Course Purpose

do not understand why events happened the way 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.
At the end of the course, students will be able to:
 Understand nations, nationalism and states
 Explain the nature and historical development of international relations

Course Objectives and Expected Learning

 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

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

Chapter One: Understanding International Relations


1.1 Conceptualizing Nations, Nationalism and States
06 Hours
1.2 The Nature and Evolution of International Relations
1.3 Actors of International Relations - State Actors - Non-State Actors
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
06 Hours

2.2 Liberalism and Neo-Liberalism


2.3 Marxism and Neo-Marxism
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
- Determinants of National Interest and Foreign Policy
- Objectives of Foreign Policy
08 Hours

- Foreign Policy Orientations


- Instruments of Foreign Policy
3.3 A Survey of Foreign Policy and Diplomacy of Ethiopia
- Foreign Policy of Ethiopia during the Reign of Emperor Menilik 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
08 Hours

- Classical Liberalism and Adam Smith


- Comparative Advantage and David Ricardo
- Neoliberalism and Keynesianism
- Marxism and Dependency Theory
- Hegemonic Stability Theory
- Developmental State Model
4.3. The Political Economy of North-South, South-South: Conflict and
Cooperation
Chapter Five: International Law
08 Hours

5.1 Meaning, Nature and Areas of International Law


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

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

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- governmentalism
06 Hours

- 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
- The Convergence, Divergence and Overlapping relations of Regionalization
and Globalization
- The Hypocrisy of Sovereignty
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
06 Hours

- Environmental Issues
  Climate Change and Global warming
- Technology Related Issues
  Cyber Crime and Cyber Security
- Other Social, Economic and Political Issues
 Human Rights
 Migration and Refugee
 Trade War
 Aid, Debt Relief
Teaching Lectures, Group discussions, debates & Reflections
Methodolo
gy
Assessmen As per the academic regulation.
t Criteria
Instructor’ The course instructor is expected to provide timely lectures, demonstrate
s students to understand and analyze the issues pertaining to central theme of the
Commitme course, suggest available reading materials, and evaluate students’ performance
nts regularly.
Course Meaningful participation during class, group work and presentation is important
Policy for the success of this course. Since each class builds on the one before it,
attendance is mandatory.

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

Academic The department expects from its students a high level of responsibility and
Integrity academic 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.
Recommen Altinay, Hakan (2011) Global Civics: Responsibilities and Rights in an
ded Interdependent World. The Brookings institution:Washington
Reading Armstrong, David(ed.)(2009). Routledge Handbook of International Law.
Materials London: Routledge
Baylis, J. and Smith, S. (eds.) (1997).The Globalization of World Politics.
Oxford: Oxford University Press.
Browlie, Ian (2003). Principles of Public International Law. (6th ed.). New York:
Oxford University
Copson, Raymond w.(2007)The United States inAfrica:Bushpolicyand beyond in
association with InternationalAfrican InstituteRoyalAfrican Societyof
SocialScience Research Council, Zed Books:London
Crane, George T. and AbalAmawi (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)GoverningRegionalIntegrationforDevelopment:MonitoringExperien
ces,MethodsandProspects.AshgatePublishingCompany:England
Demelo, Jaime and ArvindPanagariy(eds.) (1993)ANew Dimensionsin
RegionalIntegration,Centre forEconomic PolicyResearch 1993, Cambridge
University Press:USA
Demelo, Jaime and ArvindPanagariy(eds.)(1993)ANew Dimensionsin
RegionalIntegration,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

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

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 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

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

Course This course is a common course given to Higher Learning Institutions


Description Students/HLIS. 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 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
Objectives in 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”

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

 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 
 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 4-6
Horn 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

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

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 – 7-8
the 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
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– 9-10
the 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

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

(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…
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 Methods and This course will be delivered based on learner centered approach.
Strategies Therefore, the main instructional strategies of the course are pair
& group discussions; interactive teaching; brainstorming;

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

icebreaker; debating & role-play.


Instructor Commitments An instructor of this course is expected to be honest to the
content, policies and 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.
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 and All students are expected to be abided by the code of conduct of
Integrity/Course and University __________University Academic Legislation throughout this
Policy course. Academic dishonesty including cheating, fabrication and
plagiarism will not be tolerated. Class activities will vary day to
day ranging from lectures to discussions. 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.

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

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.
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 Title Critical Thinking


Module Title Common and Supportive Courses
Module Number 01 Course Number:LoCt1011
CP 5
Study Hour Lecture:3 Laboratory: 0 Tutorial:2 Home Study:5
Mode of Delivery Semester wise
Course Description Logic and Critical Thinking is an inquiry that takes arguments as its basic
objects of 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

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

decisions about their merit. The 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 Outcomes At the end of the course, students should be able to: 
 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.1Introduction.
1.2Meaning 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

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

2.3Techniques of recognizing arguments.


2.4Types of Arguments
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. 4.1Induction
5.2. 4.2Types of Fallacies: Formal and Informal
4.3Categories of Informal Fallacies
5.3. 4.3.1Fallacies of Relevance
5.4. 4.3.2Fallacies of Weak Induction
5.5. 4.3.3Fallacies of Presumption
5.6. 4.3.4Fallacies of Ambiguity
5.7. 4.3.5Fallacies of Grammatical Analogy
Chapter 6: Categorical Propositions 14-16
6.1. 5.1Introduction
6.2. 5.2Categorical Propositions
6.3. 5.2.1The Components of Categorical Propositions
6.4. 5.2.2Attributes of Categorical Propositions: Quality, Quantity,
and Distribution
6.5. 5.2.3Representing Categorical Propositions
6.6. 5.2.3.1Venn Diagrams
6.7. 5.2.3.2Boolean and Aristotelian Square of Oppositions
6.8. 5.2.4Evaluating Immediate Inferences: Venn Diagrams and
Square of Oppositions

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

6.9. 5.2.5Logical Operations: Conversion, Obversion, and


Contraposition
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.
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 Textbook
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.
Reference
1. BooksCopi, 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. Simico, 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 & Conditioning


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

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

Study Hour Lecture: 0 Laboratory:3 Tutorial: 0 Home Study:6


Mode of Semester wise
Delivery
Course This course will provide the students with basic concepts of the five
Description components of 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
Outcomes types of 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
1.1.1. physical fitness answering
1.1.2. physical conditioning
1.1.3. Physical Activity,
1.1.4. Physical exercise and

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

1.1.5. Sport
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
Diseases/Conditions answering
2.2. Physical Activity and Cardiovascular
Diseases
2.3. physical activity and postural deformity
Week 3 Chapter 3 - Making Well-Informed  Lecture 
FoodChoices  Group discussion
3.1. Sound Eating Practices  Questioning and
3.2. Nutrition and Physical Performance answering
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
Practical Session
Week 7-16 Chapter 6- Development and Assessment  Field Practice
of the health related components of  Explanation
fitness  Demonstration
Assessment As per the university’s legislation

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

Techniques
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
Participation active 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”.
Discipline This is what 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 pods 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. Weik, William R. Corbin and Karen A.
Welk. (2006). Concepts of fitness and wellness: a comprehensive
lifestyle approach. 6th edt.
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 Geography of Ethiopia and the Horn


Title
Module Common and Supportive Courses
Title
Module 01 Course Number:GeES1011
Number
CP 5
Study Lecture Tutorial Group Work/ Home Study Total
Hour Discussion and
Presentation
48hrs - 35hrs 52hrs 135hrs
Mode of Semester wise
Delivery

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

Course This course attempts to familiarize students with the basic geographic concepts
Descriptio particularly in relation to Ethiopia and the Horn of Africa. It is also intended to
n 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 Upon completion of this course the students will be able to:
Objective • 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.
• 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

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

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 richdom 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 Exogenic 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 OF ETHIOPIA AND THE
HORN (3hrs)
3.1. Introduction
3.2. Physiographic Divisions
3.2.1 The Western Highlands and Lowlands
3.2.2 The Southeastern Highlands and Lowlands
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

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

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 Vegetations 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
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 Gap Lecture, Peer/ group Discussion and Reflection, Reading Assignment.
Methods
Assessment As per the academic regulation.
Criteria
Course As a student of this university, you are expected to abide by the code of conduct
Policy 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

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

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. Tathe.(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.
 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,

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

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
Module Number 01 Course Number:EmTe1012
CP 5
Contact hours(per Lecture:2 Laboratory:0 Tutorial:3 Home Study:5
week)
Mode of Delivery Semester wise
Status of the Course Compulsory
Course Description This course will enable students to explore current breakthrough
technologies in the 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 Upon completing this module, you will be able to:
objective /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 • Listening • Attend the lesson
Emerging Technologies • Note-taking • Listen and take notes
1.1. Evolution of • Brainstorming • Answer questions
technologies • Reading • Read
1.1.1. Introduction to •Individual •Doing class works

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

Industrial revolution work and home works,


1.1.2. Historical •Group • Reflects
background (IR 1.0, IR discussion
2.0, IR 3.0) • Reflections
1.1.3. Fourth industrial •Gapped
revolution (IR 4.0) Lecture
1.2. Role of data for
Emerging 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 • Listening • Attend the lesson
Data Science • Note-taking • Listen and take short
2.1. Overview for Data • notes,
Science Brainstorming • • Asking and
2.1.1. Definition of data Gapped Lecture answering questions,
and information • Group • Participating in
2.1.2. Data types and discussion group discussions.
representation • Class work • Reflects
2.2. Data Value Chain • Tutorials
2.2.1. Data Acquisition
2.2.2. Data Analysis
2.2.3. Data Curating
2.2.4. Data Storage
2.2.5. Data Usage
2.3. Basic concepts of
Big data
5-7 Unit 3: Artificial • Listening • Listening
Intelligence (AI) • Note-taking •Note-taking
3.1. Introduction to AI • • Brainstorming
3.1.1. What is AI Brainstorming • Gapped
3.1.2. History of AI • Gapped • Lecture
3.1.3. Levels of AI Lecture • Group discussion
3.1.4. Types of AI • Group • Class work
3.2. Applications of AI discussion • Tutorials Reflections
3.2.1. Agriculture • Class work
3.2.2. Health • Tutorials
3.2.3. Business • Reflections
(Emerging market)
3.2.4. Education
3.3. AI tools and

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

platforms (eg:
scratch/object tracking)
3.4. Sample application
with hands on activity
(simulation based)
8-10 Unit 4: Internet of Things • Listening • Attend the lesson
(IoT) • Note-taking • Listen and take short
4.1. Overview of IoT • 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 • Doing class works
4.1.4. Challenges of IOT work and home works,
4.2. How IOT works • Group • Participating in group
4.2.1. Architecture of discussion discussions.
IOT 4.2.2. Devices and • Reflections • Reflects
network 4.3. • Gapped
Applications of IOT Lectur
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 (eg: KAA
IoT /Device
Hive/Zetta/Things
Board…)
4.5. Sample application
with hands on activity
(eg IOT based smart
farming)
11-12 Unit 5: Augmented • Listening • Attend the lesson
Reality (AR) 5.1. • Note-taking • Listen and take short
Introduction to AR 5.2. • Brainstormin notes,
Virtual reality (VR), g • Asking and
Augmented Reality (AR) • Reading answering questions,
vs mixed reality (MR) • Individual • Doing class works
5.3. Architecture of AR work and home works,
systems. 5.4. • Group • Participating in group
Application of AR discussion discussions.
systems (education, • Reflections • Reflect
medical, assistance, • Gapped
entertainment) workshop- Lecture
oriented hands demo

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

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

professionalism of • Note-taking •Listen and take short


emerging technologies • notes,
6.1. Technology and • Lecture • Asking and
ethics 6.2. Digital
privacy
6.3. Accountability and
trust
6.4. Treats and
challenges
14-15 Unit 7: Other Emerging • Listening • Attend the lesson
Technologies • Note-taking • Listen and take short
7.1. Nanotechnology • Brainstormin notes,
7.2. Biotechnology g • Asking and
7.3. Blockchain • Reading answering questions,
technology •Individual • Doing class works
7.4. Cloud and quantum work and home works,
computing • Group
7.5. Autonomic discussion
computing
7.6. Computer vision
7.7. Embed systems
7.8. Cyber security
7.9. Additive
manufacturing (3D
Printing) Etc. …
Assessment Criteria Quiz ….12%
Individual Assignment …….11%
Group Assignment……12%
Mid exam…………….25%
Final Exam…………..40%
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, and what is
deemed to be cheating? If you are having problems with the

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

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.

Text Book 
Reference
Materials • Follett, J. (2014). Designing for Emerging Technologies: UX for
Genomics, Robotics, and the Internet of Things: O'Reilly Media.
• Vong, J., & Song, I. (2014). Emerging Technologies for Emerging
Markets: Springer Singapore.
• Francesco Corea. Artificial Intelligence and Exponential
Technologies: Business Models Evolution and New Investment
Opportunities, 2017.

Course Title Basic 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 Description This course is assumed to be the first course in
programming. The course is 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

Page
85
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 Outcomes At the end of the course students will be able to :
 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 Duration(Week) References
Chapter 1:Introduction to computer 1-2
programming
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 3-4


representation and Data structure
2.1. Introduction to flow chart and
pseudo code
2.2. How to write a pseudo code

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

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 5-7
constructs: 3.1. Process of
compiling and running programs
3.2. Basic syntax and semantics of
a high-level languages
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

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

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 and/or hardware Desktop Computer,Turbo C++ compiler or other C++
compilers
References Text Book
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
References
 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

Module Name Basics of Programming


Module Number 02
Category Compulsory
CP 10
Module Objective  Enables students to understand basic computer skills.
 Different Applications in software development.
 It introduces common Skills required for software
engineering and programming

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

 Enables to understand mathematical basics required for


the program
Module Computer Application Development
Competence
Module Description Course No Title
SEng2021 Fundamentals of Programming II
SEng2022 Data structures and Algorithms
Mode of delivery Semester Wise
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 Fundamentals of Programming II


Course Code SEng2021
CP 5(2hr Lecture, 3hr Lab)
Module Title Basics of Programming
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++

Page
89
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.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)
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-15 Chapter 4: File Operations (File Input/output)
1.18. Introduction
1.19. Stream classes
1.20. Writing and reading modes

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

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 BIT 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 Basics of Programming
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

Page
91
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

 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. Arrays
1.2. Structures
1.3. Functions
1.4. Pointers
Week 3-4 Chapter 2: Complexity analysis
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. Deques
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

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

5.4. Nontail recursion


5.5. Indirect recursion
5.6. Nested recursion
5.7. Excessive recursion
5.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 Sort
6.2.2. Selection Sort
6.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. Insertion
7.6. Deletion
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 functions
8.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 BIT academic regulation

References

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

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. Preiss. 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 Computer Systems

Module Number 03

Category Compulsory

CP 15

Module Objective  Able to understand architecture of computers and able to


operate on different operating systems.
 To give the students a knowledge of number of areas in
theoretical computer science and their hierarchical
interconnections.
 Able to understand basic principles of
ProgrammingLanguages
 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


SEng1032 Computer Organization and Architecture

SEng2031 Operating Systems

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

SEng2032 Principles of Programming Languagesand


Compiler

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 Fundamentals of Computer Organization and


Architecture
Course Code SEng3031
CP 5(2hr Lecture, 3hr Tutorial)
Module Title Computer Systems
Module Number 03
Pre-requisites None
Year III
Semester I
Status of Course Compulsory
Course Description

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

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

 Explain in detail the operation of the arithmetic unit including the algorithms & imple-
mentation of fixed-point multiplication & division. and floating-point addition, subtrac-
tion,
 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
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

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

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
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

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

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

References

Text book: William Stalling, Computer Organization and Architecture: Designing for
Performance, 7th Edition, Prentice Hall, 2006

Course Title Operating Systems


Course Code SEng2032
CP 5(2hr Lecture, 3hr Lab )
Module Title Computer Systems
Module Number 03
Pre-requisites None
Year II
Semester II
Status of Course Compulsory

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.

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

 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- pre-
emptive scheduling of tasks in operating systems, such as priority, performance compari-
son, 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
5.4 The process concept
5.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.10Overlays, swapping, and partitions
Week 7 Memory management
5.11 Paging and segmentation
5.12 Page placement and replacement policies
Week 8 Memory management
5.13Working sets and thrashing
5.14Caching
Week 9 Device management
5.15Characteristics 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

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

5.20Fundamental concepts (data, metadata, operations, organization,


buffering,
sequential vs. non-sequential files)
5.21Content and structure of directories
Week12 File systems
5.22File system techniques (partitioning, mounting and un mounting,
virtual file systems)
5.23Memory-mapped files
Week 13 File systems
5.24Special-purpose file systems
5.25Naming, searching, and access
Week 14 Security and protection
5.26Overview of system security
5.27Policy/mechanism separation Security methods and devices
Week 15 Security and protection
5.28Protection, access, and authentication
5.29Models of protection
5.30Memory protection
5.31Encryption
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

The course will be assessed using the different assessment methods like: Quizzes, Reading
assessments, Assignments, Project, Lab exam and Final exam

References

 Andrew Tanenbaum, Modern Operating Systems, 2nd Edition, USA, Prentice Hall, 2001
 William Stallings, operating Systems: Internals and Design Principles,5th Edition , Pren-
tice-Hall,2005

Course Title Principles of Programming Languagesand


Compiler
Course Code SEng4032
CP 5(2hr Lecture, 3hr Laboratory )

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

Module Title Computer Systems


Module Number 03
Pre-requisites Data structures and Algorithms,
Programming
Year IV
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

▪ 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.

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

▪ 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

▪ 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

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

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

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

optimization

Week 16 Final Exam

Summary of Teaching Learning Methods

Lecture, assignments, projects and exercises

Assessment Methods: -As per BIT academic regulation

References

Text Book:

1. John, Shelly and Roger Husst, “computer studies: A first course”, Pitman publishing
company, London, 1984.
2. Concepts of Programming Languages, 10th edition by Robert W. Sebesta, Addison-
Wesley, 2013.
Reference Books:

3. Alfred Aho, Ravi Sethi, V.Jeffery Ullman D. ―Compilers Principles, Techinques


AndTools ―, 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.

Module Name Database Management Systems

Module Number 04

Category Compulsory

CP 10

Module Objective  To enable students design and administer database for an


organization.

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

 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 Competence Database Manager

Module Description Course No Title


SEng2042 Fundamentals of Database Systems

SEng3041 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
Assessment Methods Assignments/mid exam/final exam/projects/laboratory exercises

Course Title Fundamentals of Database Systems


Course Code SEng2042
CP 5 (2hr Lecture, 3hr Lab )
Module Title Database Management Systems
Module Number 04
Pre-requisites None
Year II
Semester II
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

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

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 applica-
tions,
 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

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 constraints
2.6 Relational languages and views
2.7 Relational DBMS
Test 1 4
Chapter 3:Conceptual Database Design- E-R 5-7
Modeling
3.1 Database Development Life Cycle

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

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 Algebra
6.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
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 BiT‘s Academic Regulations

References

 Connolly T., Begg 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 Abra-
ham Silberschatz, Henry F.

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

 Korth, S. Sudarshan, Database System Concepts (4thed), USA, McGraw Hill Inc.,
2002.

Course Title Advanced Database Systems


Course Code SEng3041
CP 5 (2hr Lecture, 3hr Lab )
Module Title Database Management Systems
Module Number 04
Pre-requisites SEng2042
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…

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 1 -2
Control
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

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

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
Test 1
Chapter 3: Database Integrity, Security and Recovery 5-7
3.1 Integrity
3.1.1 Integrity Concept & Subsystem
3.1.2 Integrity Constraints
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 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 ObjCP and Attributes
1.7 Object Identity End of week 13
1.8 Storing objCP 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

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

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:

The course will be assessed using the different assessment methods like: Quizzes, Reading
assessments, Assignments, Project, Lab exam and Final exam

References

1. Connolly T., Begg C. and Strachan A.: Database Systems, 2nd, 3rd and 4th ed. Addison-
Wesley Publishing Company.

1. RamezElmasri, 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.

5. Ramakrishnan R. and Gehrke J., Database Management Systems (3rded), USA, McGraw Hill,
2003

Module Name Software Engineering Basics

Module Number 05

Category Compulsory

CP 26

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

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 Competence Analyst/project manager

Module Description Course No Title


SEng2041 Fundamentals of Software Engineering

SEng2054 Advanced Software Engineering

Software Engineering Tools and


SEng3051
Practices

SEng3053 Requirements Engineering

SEng2052 Object Oriented System Analysis and 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 Methods Assignments/mid exam/final exam/projects/laboratory exercises

Course Title Fundamentals of Software Engineering

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

Course Code SEng2041


CP 5(2hr Lecture, 3hr Tutorial)
Module Title Software Engineering Basics
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.

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)

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

 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 BiT‘s Academic Regulations

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

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

Pressman, Roger S, McGraw-Hill Companies, Inc.

Course Title Advanced Software Engineering

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

Course Code SEng2054


CP 5 (2hr Lecture, 3hr Tutorial)
Module Title Software Engineering Basics
Module Number 05
Pre-requisites SEng2041
Year II
Semester II
Status of Course Compulsory
Course Description

This course provides advanced concepts to the problems of software development and
maintenance. Software Testing and Maintenance phases of the software development life cycle
will be introduced in addition to advanced topics like Software Process Improvement, Software
Reuse, and Component-based Software Engineering, Service-oriented architecture, embedded
software, Aspect-oriented software and Emerging Trends in software Engineering

Course Goals or Learning Outcomes

At the end of the course, the student should be able to:

 Verify and validate a Software system practice effective communication skill.


 Understand the role of maintenance in software development
 understand the benefits and problems of reusing software as well as the concept of an ap-
plication framework
 Understand software product lines and learned how systems can be developed by config-
uring and composing off-the-shelf application software systems.
 know what component-based software engineering is and the principal activities in the
CBSE
 know the key issues that have to be considered when designing and implementing distrib-
uted software systems
 understand the basic notions of a web service, web service standards, service-oriented ar-
chitecture, the service engineering process and how business process models may be used
as a basis for the design of service-oriented systems
 understand the concept of embedded software, three architectural patterns that are com-
monly used in embedded real-time systems design and organization of real-time operat-
ing systems have been introduced to the fundamental ideas underlying aspects and as-
pect-oriented software development;
 Understand emerging trends in software Engineering
Course Content
Week Lecture Topics
1 Chapter 1: Software Testing
 Testing Fundamentals

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

 Black-Box and White-Box testing


 Testing and Debugging
 Software Quality Assurance

2 Chapter 2:Software Maintenance
 Introduction
 Types of Software Maintenance
 Maintenance Process
 Maintenance Models
 Legacy System
 Re-engineering
 Reverse Engineering
3 Chapter 3: Software Process Improvement
 What Is SPI?
 The SPI Process
 The CMMI
 The People CMM
 Other SPI Frameworks
 SPI Return on Investment
 SPI Trends
4 Chapter 4: Software Reuse
 The reuse landscape
 Application Frameworks
 Software product lines
 COTS product reuse
5 Chapter 5: Component-based Software Engineering
 Components and component models
 CBSE processes
 Component composition
6-8 Chapter 6: Service-oriented architecture
 Services as reusable components
 Service engineering
 Software development with services
9-10 Chapter 7: Embedded software
Embedded systems design
 Architectural patterns
 Timing analysis
 Real-time operating systems
11-13 Chapter 8: Aspect-oriented software engineering
 The separation of concerns

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

 Aspects, join points and point cuts


 Software engineering with aspect
14-15 Chapter 9: Emerging Trends in software Engineering
 Technology Evolution
 Identifying ‗Soft Trends‘
 Technology Directions
 Tools-Related Trends

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 BIT academic regulation

References

1. Ian Sommerville (2011), Software Engineering 8th or later edition. Pearson Education Ltd.

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


Pressman, Roger S, McGraw-Hill Companies, Inc.

3. Ian Sommerville (2011), Software Engineering 8th or later edition. Pearson Education Ltd.

4. Fundamental Software Engineering by Rajib Mall 2nded, Prentice Hall, India, 2004

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


Pressman, Roger S, McGraw-Hill Companies, Inc.

Course Title Software Engineering Tools and Practices


Course Code SEng3051
CP 5(2hr Lecture, 3hr Lab)
Module Title Software Engineering Basics
Module Number 05
Pre-requisites None
Year III
Semester I
Status of Course Compulsory

Course Description

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

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
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

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

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 BIT 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

Course Title Requirements Engineering


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

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

Module Title Software Engineering Basics


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
 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 R4: pg.1-14,
Engineering: What, Why, Who, R5: Part I (Chapter 1, 2 & 3)
When, and How R6: pg.1-60

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

 Non-functional requirements
2 Chapter 2;Requirement Engineering Process R1: pg. 25-52
  Process Models R3: pg. 19-63, 283 - 302
  Actors in Requirements R4: pg.25-46
engineering process R5: pg. partII (chapter 5, 6 &
  Process support 7)
  Process Improvement
3-5 Chapter 3:Requirement Elicitation and R1: pg. 53-86
Analysis R2: pg. 63-160
  Elicitation and Analysis R3: pg. 67-92
Process R6: pg. 61-105
  Elicitation Techniques R12, R13 & R16
  Prototyping R11: Part II (Chapter 7)
  Requirement Analysis and
Negotiation
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
  Requirement review R1: pg. 87-112
  Prototyping R2: pg. 189-214
  Model validation R4: pg. 159-180
  Requirement testing R5: Part II (Chapter 15)
R11: Part II (Chapter 17)
9-10 Chapter 6: Requirement Management R1: pg. 133-136
  Stable and volatile R2: pg. 215-254
requirements R6: pg. 109-126
  Requirements identification and R5: PartIII (All chapters)
storage R15
  Change management
  Traceability
11 Chapter 7: Requirement Engineering tools R11:Part IV (chapter 30)
12-13 Chapter 8: Requirement Engineering R1: pg. 137-186
Techniques R2: pg. 359-388
  Methods for RE
  Viewpoint-oriented
Requirements Methods
14 Chapter 9: Software Requirements and Risk R5: Part IV (Chapter 23)
Management R11:Part V (chapter 32)

Page
120
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 BIT 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 Object Oriented System Analysis and Design


Course Code SEng2052
CP 5(2hr Lecture, 3hr Tutor )
Module Title Basics of Software Engineering
Module Number 05
Pre-requisites None
Year II
Semester II
Status of Course Compulsory
Course Description

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

Introduction to Object Technology; Principles of Modeling, Principles of Object Orientation;


systems development using the object technology; Modeling; principles of modeling;
requirements gathering and modeling using use case; techniques of modeling static and dynamic
aspects of systems; finding classes and objCP; Interaction Diagrams – sequence and
collaboration diagrams; Class Diagrams; object diagram; activity diagram; State chart diagrams;
component diagram; deployment diagram. Individual and/or team project involving reports and
walk-through in systems analysis and design is also a major component of this course using
CASE tools.

Learning Outcomes

On successful completion of the course students will be able to:

 Differentiate structured approach from object oriented approach


 Explain the need for object oriented systems analysis and design
 Compare and contrast conventional and object oriented software development method-
ologies
 Demonstrate the application of Unified Modeling Language(UML)
 Apply software development process principles, and practices and crate a high quality
software
 Understand the object technology and modeling principles.
 Know the techniques of modeling aspects of systems
 Analyze user requirements using UML of OO techniques.
 Make a detailed design using UML of OO techniques.

Course contents

Topic Duration(Week)
Chapter 1: Object Orientation the new software 1-4
paradigm
1.1.Structured paradigm Vs. object oriented paradigm
1.2.The potential benefits of object orientation
1.3.The potential drawbacks of object orientation
1.4.The object orientation software process
Chapter 2:Understanding the Basics :Object oriented 5-6
concepts
1.1.OO concepts from structured point of view
2.2 Abstraction, Encapsulation and information hiding
2.3 Inheritance, Association and Aggregation
2.4 Collaboration
2.5 Persistence

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

2.6 Coupling and Cohesion


2.7 Polymorphism
2.8 Interfaces and Components
2.9 Patterns
Chapter 3:Gathering user requirements 7-9
3.1. Putting together requirements gathering team

3.2. Fundamental requirements gathering techniques

3.3. Essential Use Case Modeling

3.4. Essential User Interface Prototyping

3.5. Domain modeling with class responsibility

collaborator (CRC)
cards
3.6 Developing a supplementary Specification

Identifying Change Cases


Mid exam 10
Chapter 4:Ensuring Your Requirements Are correct: 11
Requirement
validation Techniques
4.1.Testing Early and Often
4.2.Use Case Scenario Testing
Chapter 5:Determining What to Build: OO Analysis 12-13
5.1.System Use Case Modeling
5.2.Sequence Diagrams: From Use Cases to Classes
5.3.Conceptual Modeling :Class diagrams
5.4.Activity diagramming
5.5.User interface prototyping
5.6.Evolving your supplementary specification
5.7.Applying Analysis patterns Effectively
5.8.User Documentation
5.9.Organizing your models with packages
Chapter 6:Determining How to Build Your System: OO 14
Design
6.1.Layering your models :Class Type Architecture
6.2.Class Modeling

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

6.3.Applying Design Patterns effectively


6.4.State chart modeling
6.5.Collaboration Modeling
6.6.Component Modeling
6.7.Deployment Modeling
6.8.Relational Persistence Modeling
6.9.User Interface Design
Chapter 7:Object Oriented Testing and Maintenance 15
Chapter 8:Software process 16

Summary of Teaching Learning Methods

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


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

Assessment Methods: - As per BIT academic regulation

References

1. Ambler, S. W. (2001).The Object primer: The Application Developer’s Guideto Object

Orientation and the UML Second edition .New York. Cambridge University Press

2. Scott w. ambler. The Object Primer 3rd ed. University of Cambridge press.2004

3. PankajJalote, an Integrated Approach to Software engineering (3rd ed), Springer, 2005

4. Ian Sommerville, Software Engineering (8thed), USA, Addison-Wesley, 2006

Module Name Project Management Skills

Module Number 06

Category Compulsory

CP 5

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

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
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


SEng4062 Software Project Management

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 Software Project Management


Course Code SEng4062
CP 5 (2hrs Lecture, 3hrs Tutorial)
Module Title Project Management Skills
Module Number 06
Pre-requisites None
Year IV
Semester II
Status of Course Compulsory

Course Description

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

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 af-
fect Software quality;
 Familiar with a range of standards, techniques and tools developed to support Software
project management and the production of high quality Software;
 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

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

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

3) Project Scheduling
3.1 Time Management
3.1.1. Importance of Project Schedules
5-6
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
5.2.1 Quality Planning
7-8
5.2.2 Quality Assurance
5.2.3 Quality Control
5.3 Quality Standards
5.4 Tools and Techniques For Quality Control
9-10 6) Project Human Resources Management
6.1. What is Project Human Resources Management?
6.2 Managing People

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

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
10) Project Management Process Groups
10.1 Introduction to Project Management Process Groups
10.2. Project Initiation

14-15 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

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

Assessment Methods: - As per BIT 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.

Module Name Advanced Programming

Module Number 07

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 Description Course No Title

SEng3071 Object Oriented Programming

SEng3072 Advanced programming

SEng3074 System Programming

Mode of delivery Parallel

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

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 Object Oriented Programming


Course Code SEng3071
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Advanced Programming
Module Number 07
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, ObjCP, 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

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

 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
 Explain the application of a variety of data structures, understand the advantages and dis-
advantages 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. Superclasses and subclasses
3.3. Protected members
3.4. Overriding methods

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

3.5. Using this() and super()


3.6. Use of final with inheritance
3.7. Constructors in subclasses
10-12 4. Chapter 4: Polymorphism
4.1. Introduction
4.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 overview
5.2. The causes of exceptions
5.3. The Throwable class hierarchy
5.4. Handling of an exception
5.5. The throw statement
5.6. The finally clause
5.7. User defined exceptions
15-16 6. Chapter 6: Files and Streams
6.1. Introduction
6.2. I/O classes
6.3. File and FileDialog objects
6.4. Low-Level File I/O
6.5. High-Level File I/O
6.6. Object I/O
6.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 BIT academic regulation

References

1. Y. Daniel Liang, 2009. Int. to Java Programming Comphrensive version, Seventh Edition.
Atlantic State University

2. Deitel, 2010, Java for Programmers Second edition. Prentice Hall

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

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 SEng3072
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Advanced Programming
Module Number 07
Pre-requisites Object-Oriented Programming (SEng3071)
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, multi-
processing, 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

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

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
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


ofinstructor/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

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

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 BIT academic regulation

References

1. S. Horstmann and Gary Cornell, Core Java 2 – Volume II- Advanced Features, Sun
Microsystems Press

Course Title System Programming


Course Code SEng3074
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Advanced Programming
Module Number 07
Pre-requisites None
Year III
Semester II
Status of Course Compulsory
Course Description

This course will introduce the student to different aspects of Programming and controlling their
system. In particular, the ability to build their own applications and tools that make use of key
operating system characteristics (exceptions, virtual memory,i/o, sockets, threads).

Course Objectives

The objective of this course is to address a range of issues in systems programming,


concentrating largely but not exclusively on issues related to operating system component design
and implementation

Course Contents

Week Lecture Topics


Week 1 and UNIX System Overview
2  UNIX Architecture
 Files and Directories
 Input and Output
 Programs and Processes
 Error Handling
 User Identification
Week 3 UNIX Standardization and Implementations

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

 UNIX Standardization
 UNIX System Implementations
 Limits
 Options
 Primitive System Data Types
 Conflicts Between Standards
Week 4 File I/O
 Introduction
 File Descriptors
 open Function
 creat Function
 close Function
 lseek Function
 read Function
 write Function
 File Sharing
Week 5 & Files and Directories
6  Introduction
 stat, fstat, and lstat Functions
 File Types
 Set-User-ID and Set-Group-ID
 File Access Permissions
 Ownership of New Files and Directories
 access Function
 File Systems
 link, unlink, remove, and rename Functions
 mkdir and rmdir Functions
 Reading Directories
Week 7 Standard I/O Library
 Streams and FILE Objects
 Standard Input, Standard Output, and Standard Error
 Buffering
 Opening a Stream
 Reading and Writing a Stream
 Line-at-a-Time I/O
 Password File
 Group File
 Other Data Files
Week 8, 9 Process Environment

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

and 10  main Function


 Process Termination
 Command-Line Arguments
 Environment List
 Memory Layout of a C Program
 Shared Libraries
 Memory Allocation
 Environment Variables
 setjmp and longjmp Functions
 getrlimit and setrlimit Functions
 fork Function
 vfork Function
 exit Functions
 wait and waitpid Functions
 waitid Function
Week 11 Signals
and 12  Introduction
 Signal Concepts
 signal Function
 Unreliable Signals
 Interrupted System Calls
 kill and raise Functions
 alarm and pause Functions
 abort Function
 system Function
 sleep Function
 Job-Control Sig
Week 13 & Threads
14  Thread Concepts
 Thread Identification
 Thread Creation
 Thread Termination
 Thread Synchronization

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, Lab work

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

Reading assignments and group discussions.

Assessment Methods: - As per BIT academic regulation

Reference

1. Bryant and O'Hallaron, (2002) Computer Systems: A Programmer's Perspective, Prentice Hall

Module Name Computer Networking and Security

Module Number 08

Category Compulsory

CP 20

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


SEng3081 Data Communication and Computer Networks

SEng3084 Software Security

SEng3082 Mobile Application Development

SEng5081 Introduction to Distributed 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

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

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

Course Title Data Communication and Computer


Networks
Course Code SEng3081
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Computer Networking and Security
Module Number 08
Pre-requisites None
Year III
Semester I
Status of Course Compulsory
Course Description

The course aims at exploring the various types of data communication systems, networks and
their applications. The content includes: computer networks, seven-layer architecture, OSI &
TCP/IP suite of protocols, network hardware, network software, standardization, guided
transmission media, wireless transmission, data link layer, Ethernet and IP addressing. It
involves practical session on Cabling and crimping, Configuring TCP/IP, Peer to Peer
Networking, Sharing Files, Sharing Printers, Client-server Networking, Steps for Creating a
home or small office Network, Experiencing collaboration tools, installing & Configuring
Network Operating System, Exploring Server Roles, Setting up a DNS Server, setting up a
DHCP server, Domain controller and IP Addressing.

Learning Outcomes

Up on the successful completion of the course, students will be able to:

 Describe the basics of data communications and network

 Explain the benefits and the need for network

 Understand data transmission and transmission media


 Understand Protocols and various networking components
 Understand TCP/IP & OSI Reference Model
 Demonstrate cable crimping, establishing, setup and troubleshooting Networks
 Demonstrate network addressing
 Understanding network Equipment
 Understand network security and data integrity

Course contents

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

Duration( Topic
Week)
1 Chapter 1: Introduction
1.1. History & overview of Networks
1.2. The impact of Networks on daily life
1.3. The network as a platform
1.4. Network Role & Elements
1.5. Network Architecture Characteristics
1.6. Computer Networks Versus Human Network
2 Chapter 2: Data Communications
2.1. What is communication?
2.2. The platform for communication
2.2.1. Communicating the Message
2.3. Data transmission
2.3.1. Concepts and Terminology
2.3.2. Analog and Digital Data Transmission
2.3.3. Transmission Impairments
2.4. Components of the network
2.4.1. End Devices & their role
2.4.2. Intermediary Devices & their role
2.4.3. Network Media
3 Chapter 3: Network Types
3.1. LANs, WANs and Internetworks
3.2. Peer to peer versus Server based Networks
3.3. Packet-switched and Circuit switched networks
3.4. Network cabling & Topologies
4 Chapter 4: Protocols
4.1. Rules & Network Protocols
4.2. Protocol suites & Industry Standards
4.3. Layered Models
4.3.1. The TCP/IP Model
4.3.2. The OSI Model
4.3.3. Comparing OSI Model with TCP/IP Model
4.3.4. Overview of familiar Protocols
Chapter 5: OSI Reference Model
5 5.1. Layered Framework of OSI
5.2. Overview & functions of each layer
5.2.1. Bits, Datagram, packet & Frames
5.2.2. Physical Signaling & Encoding

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

6 Chapter 6: Switching & Multiplexing


6.1. Switching Concept and Types
6.2. Multiplexing Concepts and Types
6.3. Introduction to Ethernet & Wireless Networks
6.3.1. Ethernet and Fast Ethernet
6.3.2. Introduction to Wireless Network
7 Chapter 7: Introduction to IP Addressing and Subnetting
7.1.Classful& Classless Addressing
7.2.Subnetting and Variable Length Subnet Masking(VLSM)
8 Chapter 8: Data Security and Integrity
8.1. Fundamentals of secure networks; cryptography
8.2. Encryption and privacy
8.3. Authentication protocols
8.4. Firewalls
8.5. Virtual private networks
8.6. Transport layer security

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. Data Communications and Networking, 4th Ed., Behrouz A. Forouzan

2. A S Tannenbaum" Computer Networks" Prentice Hall of India Publication, 2002

3. Data and Computer Communications, 8th ed., William Stallings

4. Computer Networking. Kurose & Ross. Addison Wesley

5. Fred Halshall "Data Communication, Computer Networks & Open systems" Publication

Pearson Education

6. Any Cisco Material (CCNA Module1) will be helpful

Course Title Software Security


Course Code SEng3084

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

CP 6 (3hrs Lecture, 3hrs Laboratory)


Module Title Computer Networking and Security
Module Number 08
Pre-requisites None
Year III
Semester II
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 soft-
ware 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 Security Goals
2 Secure System Design
3 Secure Design Principles
4 Risk management frameworks and processes
5 Worms and other Malwares
6 Buffer Overflows

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

7 Client State Manipulation


8 SQL Injection
9 Password Security
10 Cross-Domain Security in web Applications
11 Crypto Concepts
12 Code review using static analysis tools
13 Security and Penetration testing
14 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 BIT 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)

Course Title Mobile Application Development


Course Code SEng3082
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Computer Networkingand Security
Module Number 08
Pre-requisites None
Year III
Semester II
Status of Course Compulsory
Course Description

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

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 handson 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 Stu-
dio) and Android Software Development Kit (SDK) for implementing Android applica-
tions. 
 Demonstrate through a simple application the understanding of the basic concepts of An-
droid

Course Contents

Weeks(Duration) Topic Reading List


1 Chapter 1: Introduction
1. Introduction to Mobile Computing
2. Introduction to Android
Development Environment

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

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 Multimodial
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
b. Correct Communications Model
c. Android Web design and Web
5.2. Telephony a. Deciding Scope of
an App
b. Wireless Connectivity and Mobile

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

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,
Strategy student 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
Instructor(s) guide individual and group assignments, and assess performance of
learners
Role of Students Attend lectures, participate in class discussions, do individual and
group assignments, present individual and group assignment in class,
and attend quiz, midterm and final examination.
Required Mockups or similar functionality tool
software and/or
hardware
Reference 1. Text Book:Android Studio Development Essentials by Neil
Smith, 2014, CreateSpace Independent Publishing Platform; 2
edition, 978-1500613860.

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

2. T. Mikkonen, ‖Programming Mobile Devices: An Introduction


for Practitioners‖, Wiley, 2007.
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.

Course Title Introduction to Distributed Systems


Course Code SEng5081
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Computer Networking and Security
Module Number 08
Pre-requisites None
Year IV
Semester I
Status of Course Compulsory
Course Description

This course is an introductory course in distributed systems. The emphasis will be on


thetechniques for creating functional, usable, and high-performance distributed systems. To
makethe issues more concrete, the class includes several multi-week projects requiring
significantdesign 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.

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

 Employ and create common paradigms for easing the task of distributed systems pro-
gramming, such as distributed filesystems, RPC, and MapReduce. Be able to clearly elu-
cidate 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 encoun-
tered 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
 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

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

 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 BIT 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

Module Name Multimedia and Graphics

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

Module Number 09

Category Compulsory

CP 10

Module Objective  Able to understand basics of multimedia and easily perform


computer graphics programming.

Module Graphics Developer


Competence

Module Description Course No Title


SEng5091 Multimedia System

SEng5092 Computer Graphics

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 Multimedia Systems


Course Code SEng5091
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Multimedia and Graphics
Module Number 09
Pre-requisites None
Year V
Semester I
Status of Course Compulsory
Course Description

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

The course explore multimedia technologies; multimedia storage models and structures; data
models and interfaces; multimedia information systems; video/audio networking; media
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 & 8 Chapter 3: Multimedia Data Compression
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& 13 Chapter 5: Multimedia Database System
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

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

6.2.similarity measures during searching


6.3.retrieval performance measure
6.4.query languages
6.5.query expansion mechanism
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. 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.

Course Title Computer Graphics


Course Code SEng5092
CP 5 (2hrs Lecture, 3hrs Laboratory)
Module Title Multimedia and Graphics
Module Number 09
Pre-requisites None
Year V
Semester II
Status of Course Compulsory
Course Description

The aim of this course is to provide a unified introduction to computer graphics and computer
vision for students with an interest in imaging or digital visual arts and to the highest extent,
create animated objCP and video game development. The course primarily introduces both the
hardware and software utilized in computer graphics. The emphasis is on creating a working
graphics system from the ground up, but modern models and applications are also discussed and
utilized.The fundamentals of display hardware and applications, interactive techniques and color
models, study of 3D viewing pipeline, drawing images in OpenGL, 3D polygon rendering and

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

transformations are discussed shrewdly. Course provides hands-on experience through


programming assignments. Example code and lecture material will be presented in C++ or Java
using the OpenGL API. It is highly recommended that assignments be completed in C++/Java.
You are free to use whatever language you want, with four caveats discussed here under, unless
and otherwise the lecturer wants the students to work on a selected language due to some
reasons:

-Setup and debugging help will not be offered for languages other than C or C++.

-Code other than C or C++ must run on all of the Windows OS

-Instructions for compilation and running of executable must be extra clear.

-Partial credit may not be assigned for partially working code.

OpenGL should be installed on all laboratory Windows machines and Linux. Assignments may
be done on either Windows (using Visual Studio .NET or Net beans) or Linux (using gcc/g+
+).OpenGL does not have calls to deal with user interaction, like mouse clicks or opening
windows.

Learning Outcome

Up on the completion of the course, students will be able to:

 Have a knowledge and understanding of the structure of an interactive computer graphics


system, and the separation of system components.
 Understand the fundamental concepts of Perspective and other types of projections.
 Learn geometrical transformations especially 3D transformation.
 Be able to create interactive graphics applications.
 Learn how to use OpenGL to perform items stated above.
 Have a knowledge and understanding of techniques for representing 3D geometrical ob-
jects
 Learn line generation and geometrical artifacts.
 Have a knowledge and understanding of the fundamental principles of local and global il-
lumination models.
 Learn how to use image applications and use image format appropriately.
 Differentiate the difference between Modeling and graphics.
 Use openGL to manipulate lighting and shading.

Course Contents

Date Lecture Topics


Week 1 UNIT 1: Introduction to interactive computer graphics

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

 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

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

 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
 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 learning–teaching methodology will be student-centered with appropriate guidance of


instructor/s during the students‘ activities .There will be Lecture, Demonstrations, and Tutorials,

Reading assignments, Group Discussions and Lab work.

Assessment Methods: - As per BIT academic regulation

References

1. Richard S. Wright et.el. OpenGL® SuperBible: Comprehensive Tutorial and

Reference, Fifth Edition Addison-Wesley Professional

2. Glen W Rowe, Computer Graphics with Java, PALGRAVE, 2001

Module Name Human Computer Interaction, Simulation and Modeling

Module Number 10

Category Compulsory

CP 15

Module Objective  Able to understand basics of simulation and modeling

 Able to understand the basics of human and computer

interaction

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

 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 Simulator/Graphics Modeler/Intelligent System Developer
Competence

Module Description Course No Title


SEng5104 Computer Simulation and Modeling

SEng5102 Human Computer Interaction

SEng4102 Introduction to Artificial Intelligence

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 Simulation and Modeling


Course Code SEng5104
CP 5 (2hrs Lecture, 3hrs Tutorial)
Module Title Human Computer Interaction, Simulation
and Modeling
Module Number 10
Pre-requisites None
Year V
Semester II
Status of Course Compulsory
Course Description

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

Computer simulation is important subject as it is complementary to laboratory field


experimentation. Modeling a given problem and simulating it could lead to better results through
discussing the model and enhancing it before the actual model is built.

Learning Outcomes

 Knowledge and understanding

- Understand different methods for random number generation

- Have a clear understanding of the need for the development process to initiate the real
problem.

- Have a clear understanding of principle and techniques of simulation methods informed by


research direction.

 Cognitive skills (thinking and analysis)

- Be able to describe the components of continuous and discrete systems and simulate them

- Be able to model any system from different fields

- Be able to implement numerical algorithm to meet simple requirements, expressed in English

- Be able to discuss the simulation methods and select the suitable technique on the problems.

 Communication skills (personal and academic)

- Know how to simulate any discrete system using queuing systems

- Be able to work effectively with others

 Practical and subject specific skills (Transferable Skills)

Course Contents

Duration Topic
(Week)
1-3  Modeling
4-7  Scope of Simulation
 Types of Simulation (Next Event
Scheduling)
 Types of Simulation (Activity scanning)
 Types of Simulation( Three processes orientation ABC
method)
8 Random number (Concepts, Algorithms for generation)

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

9 Random number (Testing methods)


10 Random Variable (Concepts, Types of distributions)
11 Random Variable(Continue the types of distributions)
12 Improving random variables (Variance reduction method,
Layers
method)
13 Gathering Observations (Concepts, Replication method)
14 Gathering Observations (sub-interval, cycle method)
15 Simulation Language GPSS,
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

Reference

1. Discrete Event Simulations - Development and Applications

2. By Eldin Wee ChuanLim, ISBN 978-953-51-0741-5, 196 pages, Publisher: InTech, Chapters
published September 06, 2012

Course Title Human Computer Interaction


Course Code SEng5102
CP 5 (2hrs Lecture, 3hrs Tutorial)
Module Title Human Computer Interaction, Simulation
and Modeling
Module Number 10
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,
makingcomputer-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

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

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.

 Explain the conceptual terms for analyzing human interaction with products such as af-
fordance, conceptual model, and feedback.
 Analyze different user populations with regard to their abilities and characteristics for us-
ing 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.Definition
1.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

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

5.1.Interaction Design
5.1.1. Introduction
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

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

8.4. Adaptive help systems


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 BIT 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 Introduction to Artificial Intelligence


Course Code SEng4102
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title Human Computer Intersection, Simulation
and Modeling
Module Number 10
Pre-requisites None
Year IV
Semester II
Status of Course Compulsory
Course Description

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

The purpose of this course is to give students an understanding of Artificial Intelligence


methodologies, techniques, tools and results. Students will use at least one AI-language [Lisp,
Prolog]. Students will learn the theoretical and conceptual components of this discipline and firm
up their understanding by using AI and Expert System tools in laboratory sessions, projects and
home assignments

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

Content Week Reference book


CHAPTER 1: Russell, S. and P. Norvig
Introduction to AI week 1 and 2 (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

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

CHAPTER 2: Russell, S. and P. Norvig


Intelligent Agents weeks 3 and 4 (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
Russell, S. and P. Norvig
CHAPTER 3: Weeks 5,6,7 &8 (1995) Artificial
Solving Problems by Searching and Intelligence: A Modern
Constraint Satisfaction Problem Approach Prentice-Hall.
Problem Solving by Searching
Problem Solving Agents
Problem Formulation
Search Strategies
Avoiding Repeated States
Constraint Satisfaction Search
Games as Search Problems
CHAPTER 4: Russell, S. and P. Norvig
Knowledge and Reasoning Weeks 9 and 10 (1995) Artificial
Logical Agents Intelligence: A Modern
Propositional Logic Approach Prentice-Hall.
Predicate (First-Order)Logic
Inference in First-Order Logic
Knowledge Representation
Knowledge-based Systems
Uncertain Knowledge and Russell, S. and P. Norvig
Reasoning (optional) weeks 11 and 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 14 Russell, S. and P. Norvig
Learning (1995) Artificial
Learning from Examples/Observation Intelligence: A Modern
Knowledge in Learning Approach Prentice-Hall.
Learning Probabilistic Models
Neural Networks

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

Russell, S. and P. Norvig


Communicating, Perceiving, and weeks 15 and 16 (1995) Artificial
Intelligence: A Modern
Acting Approach Prentice-Hall.
Natural Language Processing
Natural Language for Communication
Perception
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 BIT 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.

Module Name Software Design and Metrics

Module Number 11

Category Compulsory

CP 11

Module Objective  Able to produce fully fledged architectural and design


documents from the descriptions of the problem represented
in software requirement specification
 Able to measure and interpret the measure of software
entities
Module Architect/Designer

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

Competence

Module Description Course No Title


SEng3112 Software Design and Architecture

SEng5111 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/ tutorial
Methods exercises

Course Title Software Design and Architecture


Course Code SEng3112
CP 6 (3hr Lecture, 3hr Laboratory)
Module Title Software Design and Metrics
Module Number 11
Pre-requisites SEng2054
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

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

 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)
 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

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

 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 BIT 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 Metrics


Course Code SEng5111
CP 5 (3hr Lecture, 3hr Tutorial)
Module Title Software Design and Metrics
Module Number 11
Pre-requisites SEng2054
Year V
Semester I
Status of Course Compulsory
Course Description

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

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?
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

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

 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
 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
9126model, etc.
 Basic software quality metrics
 Quality management models
 Measuring customer satisfaction
 Software Quality Assurance (SQA)
13 Chapter 9: Measuring software reliability

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

 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 BIT academic regulation

References

1. Software Metrics: A Rigorous and Practical Approach, (2nd ed.), N.E. Fenton and S.L.

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,

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

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 Software Testing and Evolution

Module Number 12

Category Compulsory

CP 12

Module Objective  Able to test and check the quality of a software system
 Able to modify or change and restructure existing Software
systems
Module Test Engineer/Maintenance Engineer
Competence

Module Description Course No Title


SEng4122 Software Testing and Quality Assurance

SEng5121 Software Evolution and Maintenance

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/ tutorial
Methods exercises

Page
171
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 SEng4122
CP 6 (3hr Lecture, 3hr Laboratory)
Module Title Software Testing and Evolution
Module Number 12
Pre-requisites SEng2054
Year IV
Semester II
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
 What is Functional Testing?
 Functional Testing Approaches

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

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 BIT academic regulation
References

1. AnneMetteJonassen Hass (2008), Guide to Advanced Software Testing, artechhouse, INC.

Course Title Software Evolution and Maintenance


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

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

Module Title Software Testing and Evolution


Module Number 14
Pre-requisites SEng2054
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,
 Maintenance Activities and Role,
 Outsourcing IT Maintenance,
 Managing the Maintenance
 Function, Maintenance Teams.
6-7 Maintenance Management Problems:
 Problems of Software Maintenance,

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

 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 BIT 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

Module Name Internet and Web Technology

Module Number 13

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

Category Compulsory

CP 5

Module Objective Understand the general concepts pertaining to the Internet and
World Wide web such as TCP/IP, protocols, domain names, IP
addresses and n-tier architecture. In addition students will
understand the roles of browsers, web servers and scripting
languages (JavaScript, PHP) in the general context of the
Internet and World Wide Web.

Module Competence Internet Programmer/Web Developer

Module Description Course No Title


SEng3132 Internet Programming

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 Internet Programming


Course Code SEng3132
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title Internet and Web Technology
Module Number 13
Pre-requisites None
Year III
Semester II
Status of Course Compulsory

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

Course Description

Overview of the internet and World Wide Web; characteristics of web-based information
systems; Client-server architecture; Web server and security, HTTP protocol; Web page design
and development; information architecture & visualization; static & dynamic pages; HTML,
CSS, client-side programming using scripting languages (JavaScript); introducing server-side
programming (PHP) and web-based database application development.

Learning Outcomes:

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

 Practical use of Internet and its application in the real life


 Practical use of HTML and CSS.
 Practical use client-based programming
 Practical use of Server based programming

Course Contents

Week Lecture Topics


1 CHAPTER 1 : OVERVIEW OF THE INTERNET AND WWW
 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

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

 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:

1. Harvey M. Deitel. 2nd and 4 thed. Internet and World Wide Web: How to Program.

2. Goodman: Java script bible (3rd edition) Gage Publishing

3. Deitel and Deitel. "Java - How to Program", Addison-Wesley Press, Reading,

Mass.1998,

4. David Flanagan. "Java in a Nutshell (Java 1.1)", Second Edition, O'Reilly and

5. Associates Publishing, Sebastopol, CA, 1997.

6. David Flanagan. "Java Examples in a Nutshell (Java 1.1)", O'Reilly and Associates

Publishing, Sebastopol, CA, 1997.

7. Larry Wall and Randall Schariz. "Programming Perl", O'Reilly and Associates

Publishing. Sebastopol, CA, 1994

8. Scott Oaks and Henry Wong. "Java Threads", O'Reilly and Associates Publishing.

Sebastopol, CA, 1997.

9. Gary Cornell, Cay Horstmann. "Core Java", SUN Soft Press Publishing, Mountain View,
1996.

10. S. Gundavaram. "CGI Programming on the World Wide Web", O'Reilly and

Associates Publishing, Sebastopol, CA, 1996.

11. http://www.w3schools.com- the best website to learn web development

12. Internet is your main resource.

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

Module Name Research and Project Works

Module Number 14

Category Compulsory

CP 14

Module Objective  Able to develop quality software, Converting a given


design into implementation, testing and deploying in
 Able to learn current software engineering topics

Module Competence Software Engineers

Module Description Course No Title


SEng5141 Seminar in Software Engineering

SEng4142 Recent Topics in Software Engineering

SEng5141 Preliminary Project

SEng5142 Final Year Project

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 Methods Assignments/mid exam/final exam/projects/laboratory/ tutorial
exercises

Course Title Seminar in Software Engineering


Course Code SEng5141
CP 1 (1hr Lecture, 0hr Tutorial)
Module Title Research and Project Works
Module Number 14
Pre-requisites None

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

Year V
Semester I
Status of Course Compulsory
Course Description

To offer a specialized series of seminars on selected topics in software engineering as an


essential activity of Software Engineering discipline.

Learning Outcomes

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

 To educate the students with hot topic in software engineering that might not covered by
course syllabus due to lack of time.
 To empower the students' presentation and research skills.

Course Content

Week Lecture Topics


1-16 Each group must select one of the surveys topics mentioned below, and
make apresentation about their research including examples as applicable.
 Agent Oriented Software Engineering.
 Goal Oriented Software Engineering.
 Goal Based Software Engineering Design and Implementation.
 Test Driven Development - TDD.
 Model Driven Development - MDD.
 Professional Ethics in Software Engineering.
 Aspect Oriented Software Engineering.
 V-Model – a Software Development Model.
 Critical Systems Engineering.
 Open Source Development.
 Legacy System Management.
 Embedded Real-Time Software Engineering.
 Service Oriented Architecture.
 Distributed Software Engineering.
 Cleanroom Software Engineering.
 Green Computing (with focus on Software Engineering).
 Software Usability Testing.

Page
180
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 BIT academic regulation

Course Title Recent Topics in Software Engineering


Course Code SEng4142
CP 3 (2hr Lecture, 1hr Tutorial)
Module Title Research and Project Works
Module Number 14
Pre-requisites SEng2054
Year IV
Semester II
Status of Course Compulsory
Course Description

The course covers recent theoretical and technical issues of software engineering. It will focus
onsome 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.

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 engi-
neering 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

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

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.

Course Title Preliminary Project


Course Code SEng5141
CP 5
Module Title Research and Project Works
Module Number 14
Pre-requisites
Year V
Semester I
Status of Course Compulsory

Course Title Final Year Project


Course Code SEng5142
CP 5
Module Title Research and Project Works
Module Number 14
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
andOther skills in running industries.

Learning Outcomes:

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

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

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 fourth year. An assessment will be made based on:

 Jury evaluation
 Advisor evaluation

Module Name Industry Practice and Holistic Exam

Module Number 15

Category Compulsory

CP 28

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

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

SEng4151 Holistic Exam

SEng4153 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 SEng4151
CP 2
Module Title Industry Practice and Holistic Exam
Module Number 15
Pre-requisites None
Year IV
Semester I
Status of Course Compulsory

Course Title Internship


Course Code SEng4153
CP 26
Module Title Industry Practice and Holistic Exam
Module Number 15
Pre-requisites None
Year IV
Semester I
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
thestudents 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

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

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 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

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 fourth year. An assessment will be made based on:

 Jury evaluation
 Advisor evaluation

Module Name Digital Logic Design and Embedded Systems

Module Number 16

Category Compulsory

CP 10

Module Objective  To provides a basic understanding of digital logic


design
 Able to develop and familiar with Real Time

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

Applications of Embedded Systems


Module System Engineer/Integrator
Competence

Module Description Course No Title


EEng2162 Digital Logic Design

SEng4162 Real Time and Embedded systems

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/ tutorial
Methods exercises

Course Title Digital Logic Design


Course Code EEng2162
CP 5 (2hr Lecture, 3hr Lab)
Module Title Digital Logic and Embedded systems
Module Number 16
Pre-requisites None
Year II
Semester II
Status of Course Compulsory
Course Description:

Digital Logic design course deals with SSI, MSI and how to design them. It covers Boolean
algebra, standard Boolean expression and methods of simplifications. This course also covers
both the combinational logic circuits and sequential circuits. Some advanced topics like Memory
unit design will also be dealt with.
Learning Outcomes:

At the end of this course the students should be able to:


 Differentiate the fundamental logic gates from derived gates.
 Represent digital circuitry in truth table, schematic diagram and Boolean expression.

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

 Simplify the Boolean expression and design the same.


 Differentiate between SSI and MSI.
 Design Memory units.

Course Contents:

Week Lecture Topics


1
Introduction :Digital computers and digital systems ; Number systems; Number
systems conversions

2-3
Boolean algebra and logic gates :Definition of Boolean algebra ; Truth
table ;Basic Theorems, Laws and Rules of Boolean algebra; Boolean functions ;
Digital Logic gates; Fundamental logic gates; Derived logic gates; Implementation
of simple Boolean Expression using gates.

4-7 Standard Boolean Expressions and Simplification: Need for Boolean Expression;
Why Standardization is needed? Types
of Standard Boolean Expression; Sum-Of –Product (SOP); Product-Of-Sum
(POS);NAND and NOR implementations; Methods of Simplifications; Algebraic
Method; K-Map method; Two variables K-Map; Three variables K-Map; Four
variables K-Map; Five variables K-Map; Quine-McCluskey method or Tabular
Method; Don‘t care conditions;

8-11 Combinational Logic Circuits: Design procedures; Arithmetic Circuit; Adders;


Half Adder; Full Adder; Subtractors; Half Subtractor; Full Subtractor; Designing
Adder- Subtractor Circuit; Multiplier; Multiplexer (MUXs); Designing Larger
MUXs; Designing Larger MUXs using OR gate & smaller MUXs; Designing
Larger MUXs using only smaller MUXs; Demultiplexer; Designing Half adder
using demultiplexer; Designing Full adder using demultiplexer; Designing Half
Subtractor using demultiplexer; Designing Full subtractor using demultiplexer;
Decoders ; Decoder Expansion; Designing Half adder using decoder; Designing
Full adder using decoder; Designing Half Subtractor using decoder; Designing
Full subtractor using decoder; Encoders; Octal –to- Binary encoder; Octal –to-
Binary encoder using NOR; Octal –to- Binary encoder using NAND; Octal –to-
Binary encoder using AND; Circuits for Code conversion; BCD to Excess-3
code ; Excess-3 to BCD code;Gray code to Binary code; Binary to Gray code;
BCD to 7-Segment; Decimal adder; Comparators; Designing 2-bits comparator;
Designing 3-bits comparator; Analysis Procedures; Seven Segment Display;

12-14
Sequential Logic Circuits: Flip-Flops and Latch; T Flip Flop; D Flip Flop; JK Flip
Flop; SR latch; Triggering of flip flops; Analysis of clocked sequential circuits;
Flip-Flop
Excitation table ; Conversion between Flip-Flops and latch;T Flip Flop to D Flip

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

Flop; T Flip Flop to JK Flip Flop; T Flip Flop to SR latch; D Flip Flop to T Flip
Flop; D Flip Flop to JK Flip Flop; D Flip Flop to SR latch; JK Flip Flop to SR
latch; JK Flip Flop to T Flip Flop ; JK Flip Flop to D Flip Flop; Design with state
equations ; Memory unit Design ; Read Only Memory (ROM) design;
Programmable Logic Array (PLA) design; Programmable Array Logic (PAL)
design; Registers and Counters ;

15-16
Digital ICs: Digital IC Logic families

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:

Course Title Real Time and Embedded Systems


Course Code SEng4162
CP 5 (2hr Lecture, 3hr Lab)
Module Title Digital Logic and Embedded systems
Module Number 16
Pre-requisites None
Year IV
Semester II
Status of Course Compulsory

Course Description

To allow the student to undertake the design and development process for embedded (dedicated)
computer systems in relation to the environment in which they operate and to know how to
integrate embedded hardware, software, and operating systems to meet the functional
requirements of embedded applications.

Learning Outcomes

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

 Understand and to apply design methodologies for embedded systems

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

 Understand the considerations of embedded systems design – specification; technologi-


cal choice; the development process; technical, economic, environmental and manufac-
turing constraints; reliability, security and safety issues, power and performance analysis
 Understand the fundamental building blocks of such systems (sensors, actuators, conver-
tors, processors, intra- and inter-communication networks and interfaces, hardware and
software co-design and related implementation and testing environments and techniques)
and their inter-relationships
 Be familiar with modern hardware/software tools for building prototypes of embedded
systems
 Demonstrate practical competence in these areas.

Course Content

Week Lecture Topics


1-3 Overview of embedded systems and their specific requirements (e.g. robust
design, temporal constraints, technological constraints, developmental
constraints); the product design cycle. Evaluation and justification of the
available levels of system integration (custom chip design through to turnkey-
systems) and technological choice. Development of a system specification,
including case studies. Overview of the software and hardware design
tools/techniques applicable to such systems such as UML, VHDL, Verilog, etc.

4-7 Software Issues


Development environments: compilers, linkers, debuggers, emulators, real time
operating systems and kernels. Designing, implementing and testing
software for embedded systems including multiprocessor and system-on-chip
(SoC) devices. Software design methodologies pertinent to real-time embedded
systems. Verification strategies for embedded software development.
8-10 Hardware Issues
Choice of: processor, memory, I/O, level(s) of integration, development
environments; Hardware acceleration devices such as DSPs and FPGAs.
Interfacing to commonly used I/O devices. Types of interconnection. Sensors
for measuring physical phenomena, output devices such as power actuators and
motors.
11-12 Software/Hardware Co-design Issues
Design, implementation and verification considerations for the simultaneous
design of both hardware and software.
13-16 Overview of embedded systems and their specific requirements (e.g. robust
design, temporal constraints, technological constraints, developmental
constraints); the product design cycle. Evaluation and justification of the
available levels of system integration (custom chip design through to
turnkey-systems) and technological choice. Development of a system
specification, including case studies. Overview of the software and

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

hardware design tools/techniques applicable to such systems such as UML,


VHDL, Verilog, etc.

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. Michael Barr. "Embedded Systems Glossary".Neutrino Technical Library. Retrieved

2007-04-21.

2. Heath, Steve (2003). Embedded systems design. EDN series for design engineers (2nded.).

Newnes.p. 2.ISBN 978-0-7506-5546-0. An embedded system is a microprocessor based system


that is built to control a function or a range of functions.

Module Name Electives

Module Number 17

Category Compulsory

CP 50

Module Objective  Able to understand advanced topic in software


engineering

Module Software Engineers


Competence

Module Description Course No Title


SEng5171 Software Agent

SEng5173 Software Risk management

SEng5175 Software Process Improvement

SEng5177 Event Driven Programming

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

SEng5179 WEB Service

SEng5170 Distributed Database Management Systems

SEng5172 Parallel Computing

Design and Analysis of Algorithms

SEng5174

SEng5176 Social Networks

SEng5178 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 Assignments/mid exam/final exam/projects/laboratory/ tutorial
Methods exercises

Course Title Software Agent


Course Code SEng5171
CP 5 (2hr Lecture, 3hr Tutorial)
Module Title Electives
Module Number 17
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:

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

 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.

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 competi-
tive 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 BIT academic regulation

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

References

1. MultiagentSystems: 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

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 SEng5173
CP 5 (2hrs Lecture, 3hrs Tutorial)
Module Title Electives
Module Number 17
Pre-requisites None
Year V
Semester I
Status of Course Elective

Course Description

Continuous Risk Management is a software engineering practice with processes, methods,


andtools 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:

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

 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 Manage-
ment.
 Be able to use key methods and tools.
 Be able to tailor Continuous Risk Management to a project.

Course Content

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 BIT academic regulation

References

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

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 EngineeringInstitute,
Carnegie Mellon University, 1996.

Course Title Software Process Improvement


Course Code SEng5175
CP 5 (2hr Lecture, 3hr Tutorial)
Module Title Electives
Module Number 17
Pre-requisites None
Year V
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 re-
lated to them
 Understand and be familiar with different approaches used for software process improve-
ment
 Understand the concept of measurements and their application in software process im-
provement
 Understanding the need for research in selected topics in process engineering

Course Contents

Week Lecture Topics


1 Introduction (Process Models, QA, CM, Project Planning)

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

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

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. 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 andRichard
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 SEng5177
CP 5 (2hr Lecture, 3hr Laboratory)
Module Title Electives
Module Number 17
Pre-requisites None
Year V
Semester I

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

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

 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
1-2
Chapter 1: Event Drive Fundamentals:
1.1. What’s an event driven program?
1.2. Working in the Programming Environment

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

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 Program-
ming
3-7
Chapter 2:Programming with Event Driven:
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
8-10
Chapter 3:The Elements of event driven programs:
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
1.19. Saving and Retrieving Your Data with
programs
1.20. Deploying your event driven Applica-
tions
11-12
Chapter 4: Advanced Programming with event
driven
1.21. Debugging Your Applications
1.22. Creating Controls On-the-Fly Using Con-
trol Arrays
1.23. Adding Help to Your Programs
1.24. Using VBA to Connect Your VB Pro-
grams or C# with Microsoft Office

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

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
13-16
Chapter 5: Database Programming:
1.29. Database Basics and the Data Control
1.30. Making Reports in event driven
1.31. Enhancing Your Programs Using the Ad-
vanced 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 BIT 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 SEng5179
CP 5 (2hr Lecture, 3hr Lab)
Module Title Electives
Module Number 17
Pre-requisites None
Year V
Semester I
Status of Course Elective

Course Description

Page
199
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

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

 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


 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

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

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


 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

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

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
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.

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

Course Title Distributed Database Management Systems


Course Code SEng5170
CP 5 (2hr Lecture, 3hr Lab)
Module Title Electives
Module Number 17
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


Chapter 1: Introduction to Distributed Database Management
Systems
1-2
 Distributed Data Processing

 Concepts of Distributed Database Systems

  Review of Computer Networks

Chapter 2: Distributed DBMS Architecture

3-4  Transparency Issues

 Architectural Models (including Client/Server

Models)

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

Chapter 3: Distributed Database Design

 Distributed Design Issues


5-6
 Fragmentation

 Allocation

 Integrity Constraints

Chapter 4: Query Processing

 A. Objectives of Query Processing


7-8
 Review of Relational Algebra

 Layers of Query Processing

 Query Decomposition and Data Localization

Chapter 5: Query Optimization

9-10  Centralized Query Optimization

 Join Ordering

 C. Distributed Query Optimization Algorithms

Chapter 6: Distributed Transaction Management and Concurrency


Control

11-12  Properties and Types of Transactions

 Serializability Theory

 Concurrency Control Algorithms

13 Chapter 7: Distributed DBMS Reliability and Replication


Techniques
Chapter 8: Multi-database Systems

14-16  Problems in Heterogeneous Multi-database Systems

 Database Integration Strategies

 Multi-database System Architectures

Summary of Teaching Learning Methods

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

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 SEng5172
CP 5 (2hr Lecture, 3hr Lab)
Module Title Electives
Module Number 17
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,
parallelprogramming 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

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

 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
 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:

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

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 SEng5174
CP 5 (2hr Lecture, 3hr Lab)
Module Title Electives
Module Number 17
Pre-requisites SEng2022
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.

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/ Topics to be discussed


Week

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 heapsort 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

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

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,
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 SEng5176
CP 5 (2hr Lecture, 3hr Tutorial)

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

Module Title Electives


Module Number 17
INFS Foundation Courses or equivalent,
Pre-requisites 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
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

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

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
2. Available in Fenwick Library as http://magik.gmu.edu/cgi-bin/Pwebrecon.cgi?BBID=2152843
3. The web page for our textbook is here:
http://www.cs.cornell.edu/home/kleinber/networks-book/
4. There is also an online pre-print PDF version of the book at Cornell
University: http://www.cs.cornell.edu/home/kleinber/networks-book/networks-book.pdf
5. Recommended Texts:
6. We will be using the GMU Digital Library for books as well as journal articles. The books
listed below are accessible in the GMU Digital Library.
7. Six Degrees: The Science of a Connected Age, Duncan J. Watts, W.W. Norton & Company,
2003. ISBN 0-393-32542-3.
8. Mining the Social Web: Analyzing Data from Facebook, Twitter, LinkedIn and other
social media sites, Matthew A. Russell, O'Reilly Media, 2011, ISBN: 978-1-449-38834-8.
9. Analyzing Social Media Networks with NodeXL: Insights from a Connected World,
Derek L. Hansen, Ben Shneiderman, and Marc A. Smith, Morgan Kaufman, ISBN 978-0-12-
382229-1.

Course Title Software Component Design


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

Course Description

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

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
 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 docu-
mentation 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

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

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,
groupDiscussions, and individual and group project works.

Assessment Methods: - As per BIT academic regulation

Texts and References:

Head First Design Patterns Freeman and Freeman, O’Reilly, 2004

Page
213

You might also like