Professional Documents
Culture Documents
VALIDATED Software Eng - Program - Revised Curriculum Final
VALIDATED Software Eng - Program - Revised Curriculum Final
CURRICULUM
FOR
SOFTWARE ENGINEERING
May 2021
Bahir Dar, Ethiopia
EXECUTIVE SUMMARY
Degree to be awarded by: Bule Hora Uiversity, Subjected to the Approval of the Senate
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)
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)
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.
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.
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)
On Duty
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)
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.
Page 6
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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.
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)
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
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)
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
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
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
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
Page
12
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Economics Econ-1011 5 2 0 3 5
Total 31
14 9 8 31
Page
13
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Module Number 01
Category Common/Supportive
CP 87
Page
15
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
SNIE2011 Inclusiveness
Page
16
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
17
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
18
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
19
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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:
Page
21
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
edition
Page
22
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
23
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
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).
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)
Page
28
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
31
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
32
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
35
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
36
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
37
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
38
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
39
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
40
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
41
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Course Contents
Topics Duration
- -
References -
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)
Page
44
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
47
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
48
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
49
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
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
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
Page
52
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
53
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
56
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
59
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Page
60
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
61
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
- 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
Page
64
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
65
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
69
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
72
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
73
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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.
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
Page
78
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
79
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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.
Page
81
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Page
83
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
84
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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.
Page
85
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
86
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
87
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
88
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Write a program that uses each of the following fundamental programming constructs:
Structures, Arrays, pointers
Course Contents
Page
90
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
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)
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
Page
92
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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 Number 03
Category Compulsory
CP 15
Page
94
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
This course introduces students to the fundamental computer organization and architecture
concepts. It covers digital systems, data representation, common digital components, register
transfer language and micro operations, basic computer organization and design, central
processing unit, memory organization, input-output organization, and pipeline and vector
processing; case study of at least two microprocessor families and other components of
computing system.
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
Page
96
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
97
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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 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.
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
Page
99
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Page
100
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Page
101
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
▪ Regular expressions
▪ Context-free grammars
Page
102
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
103
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
optimization
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:
Module Number 04
Category Compulsory
CP 10
Page
104
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Learning Outcomes
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)
References
Connolly T., Begg C. and Strachan A.: Database Systems, 2nd, 3rd and 4th ed. Addison-
Wesley Publishing Company.
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.
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
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)
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
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.
5. Ramakrishnan R. and Gehrke J., Database Management Systems (3rded), USA, McGraw Hill,
2003
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)
Page
111
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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:
Course Content
Page
112
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Page
113
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Page
114
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
115
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
1. Ian Sommerville (2011), Software Engineering 8th or later edition. Pearson Education Ltd.
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
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.
Upon successful completion of this course, the student will be able to:
• Create UML class, state, and sequence diagrams using a CASE tool
• 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
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
Page
117
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
1. J. Warmer, A. Kleppe 2003 The Object Constraint Language: Getting Your Models
Dresden, http://www-st.inf.tu-dresden.de/fs/
6. Kleppe, J. Warmer, W. Bast 2003 MDA Explained: The Model Driven Architecture-
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
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
Page
118
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Course Contents
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)
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
Page
121
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Learning Outcomes
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)
collaborator (CRC)
cards
3.6 Developing a supplementary Specification
Page
123
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
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
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
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
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
Page
126
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Page
128
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
Module Number 07
Category Compulsory
CP 15
Page
129
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Learning Outcomes
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)
Course contents
Page
131
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
1. Y. Daniel Liang, 2009. Int. to Java Programming Comphrensive version, Seventh Edition.
Atlantic State University
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
6. John Lewis & William Loftus, 1998. JAVA Software Solutions: - Foundations of Program
Design; Addison-Wesley.
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
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)
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.
References
1. S. Horstmann and Gary Cornell, Core Java 2 – Volume II- Advanced Features, Sun
Microsystems Press
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
Course Contents
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)
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)
Reference
1. Bryant and O'Hallaron, (2002) Computer Systems: A Programmer's Perspective, Prentice Hall
Module Number 08
Category Compulsory
CP 20
Page
138
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
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)
The course will be delivered in the form of lectures, demonstration, student presentations, group
References
5. Fred Halshall "Data Communication, Computer Networks & Open systems" Publication
Pearson Education
Page
141
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
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
Page
142
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
3. Exploiting Software: How to Break Code (2004), by Greg Hoglund& Gary McGraw,
Addison-Wesley Professional
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
Course Contents
Page
144
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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)
Learning Outcomes
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)
The course will be delivered in the form of lectures, demonstration, laboratory sessions, group
References
Co., 1996
2. S. Tanenbaum and Maarten van Steen, Distributed Systems, Principles and Paradigms,
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
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
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)
The course will be delivered in the form of lectures, demonstration, student presentations, group
References
5. Issac V. Kerlow, The Art of 3D Computer Animation and EffCP (3rded). Wiley, 2004.
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)
-Setup and debugging help will not be offered for languages other than C or C++.
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
Course Contents
Page
153
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
154
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
Module Number 10
Category Compulsory
CP 15
interaction
Page
155
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
156
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Learning Outcomes
- Have a clear understanding of the need for the development process to initiate the real
problem.
- Be able to describe the components of continuous and discrete systems and simulate them
- Be able to discuss the simulation methods and select the suitable technique on the problems.
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)
The course will be delivered in the form of lectures, demonstration, student presentations, Group
Reference
2. By Eldin Wee ChuanLim, ISBN 978-953-51-0741-5, 196 pages, Publisher: InTech, Chapters
published September 06, 2012
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
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)
The course will be delivered in the form of lectures, demonstration, student presentations, group
References
1. Dix, A., Finlay, J., Abowd, G. and Beale, R. (1997). Human-computer interaction.
3. Baecker, R., Grudin, J., Buxton, W., and Greenberg, S. (1995). Readings in Human
Computer Interaction.
Page
161
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
• Evaluate the strengths and weaknesses of these techniques and their applicability to
different tasks
• consider ideas and issues associated with social technical, and ethical uses of machines
that involve artificial intelligence
Course Contents
Page
162
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
163
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.
References
Bratko, Ivan (1990) PROLOG Programming for Artificial Intelligence, 2nd ed. Addison-Wesley,
1990
Module Number 11
Category Compulsory
CP 11
Page
164
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Competence
Involves analyzing and designing large scale software and apply different architecture styles to
Learning Outcomes
Up on the successful completion of the course the students will be able to:
Page
165
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Course Content
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
Instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
References
1. Len Bass, Paul Clements, Rick Kazman, ―Software Architecture in Practice‖, 3rd edition
4. Len Bass, Paul Clements, Rick Kazman, -Software Architecture in Practice,2nd edition
Addison-Wesley, 2003.
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
Course Content
Page
168
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
169
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
References
1. Software Metrics: A Rigorous and Practical Approach, (2nd ed.), N.E. Fenton and S.L.
2. Metrics and Models in Software Quality Engineering, Stephen H. Kan, 2nd ed., Addison-
Page
170
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
1996.
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
Page
171
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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:
Course Contents
Page
172
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
173
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Understand the maintenance process and system evolution, and apply metrics to manage
maintenance;
Course Content
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.
Instructor/s during the student’s activities .There will be Lecture, Demonstrations, Tutorials,
References
1. Mens, T., Demeyer, S., 2010, Software Evolution, 1st Ed, Springer.
3. April, A., Abran, A., 2008, Software Maintenance Management: Evaluation and
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.
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:
Course Contents
Page
177
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
References:
1. Harvey M. Deitel. 2nd and 4 thed. Internet and World Wide Web: How to Program.
Mass.1998,
4. David Flanagan. "Java in a Nutshell (Java 1.1)", Second Edition, O'Reilly and
6. David Flanagan. "Java Examples in a Nutshell (Java 1.1)", O'Reilly and Associates
7. Larry Wall and Randall Schariz. "Programming Perl", O'Reilly and Associates
8. Scott Oaks and Henry Wong. "Java Threads", O'Reilly and Associates Publishing.
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
Page
178
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Module Number 14
Category Compulsory
CP 14
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
Learning Outcomes
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
Page
180
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
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
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)
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)
Course Content:
Content Depends on the industry and the type of project the student choose
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
Jury evaluation
Advisor evaluation
Module Number 15
Category Compulsory
CP 28
Page
183
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
SEng4153 Internship
Teaching Methods Students shall make themselves familiar with practical industry
services and organizational issues
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
Course Contents
Content Depends on the industry and the type of project the student choose
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 Number 16
Category Compulsory
CP 10
Page
185
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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:
Page
186
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Course Contents:
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;
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
The course will be delivered in the form of lectures, demonstration, student presentations, group
References:
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
Page
188
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Course Content
Page
189
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
References
2007-04-21.
2. Heath, Steve (2003). Embedded systems design. EDN series for design engineers (2nded.).
Module Number 17
Category Compulsory
CP 50
Page
190
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
SEng5174
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)
Learning Outcomes
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:
The course will be delivered in the form of lectures, demonstration, student presentations, group
Page
192
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
References
2. M.N. Huhns and M.P. Singh, Edts. Morgan Kaufmann Publishers, (January 1998).
Bigus, Jennifer Bigus, (2nd Edition) John Wiley and Sons, (March, 2001).
Technology, Sydney, Australia; University of Trento, Italy, idea Group Publishing, (2005).
Course Description
Course Outcomes
Page
193
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Course Content
Process Model
Process Description
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-
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 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
Course Contents
Page
195
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.
References:
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
Page
196
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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:
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)
Page
198
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.
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
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
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
JAX-RPC
Building SOAP–based services with JAX–WS
Developing RESTful services with JAX–RS
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)
Page
201
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Page
202
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
References
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.
Page
203
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Models)
Page
204
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
Allocation
Integrity Constraints
Join Ordering
Serializability Theory
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.
References:
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
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
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
The course will be delivered in the form of lectures, demonstration, student presentations, group
discussions, and individual and group project works.
References:
Page
207
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
Week 1 Introduction:
Page
208
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
times
Greedy 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
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
Page
209
Curriculum for Software Engineering Program, for the new education roadmap 2013 E.C (2020/21 G.C)
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
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
Page
210
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.
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 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
4 Design patterns
5 Anti-patterns
6 Laboratory topics
Page
212
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,
groupDiscussions, and individual and group project works.
Page
213