Software Engineering

Download as pdf or txt
Download as pdf or txt
You are on page 1of 183

Arba Minch University

Arba Minch Institute of Technology


Department of CS & IT
Degree in Software Engineering Program Curriculum
Study Program
Degree of Bachelor of Science (BSc)

In

Software Engineering

(Five years RegulaR program)

July 2016
arba Minch, Ethiopia
EXECUTIVE SUMMARY

Name of the degree program: Software Engineering

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


Software Engineering

Degree to be awarded by: Arba Minch University, Subjected to the


Approval of the Senate

Standard period of study: 5 years with 10 semesters

Fees / charges: Cost-sharing

Page | II
Software Engineering Five Year Regular Program, AMU
Arba Minch University
Senate Academic Standard and Quality Assurance Standing Committee
Curriculum Approval Form
Name of the Program: Bachelor of Science (BSc.) in Software Engineering
Hosting Department: Computer Science and Information Technology
Date Approved by the Department Council _____________________________________

Sisay Tumsa ________________ October 2016


Department Head Signature Date

Date of Approval by College/Institute Academic Commission


__________________________ ________________ __________________
Director/Dean of College/Institute Signature Date

Page | III
Software Engineering Five Year Regular Program, AMU
Table of Contents
1. Background ............................................................................................................... 1
2. Rational for the program………………………………………………………………..3
3. Objective of the Program........................................................................................... 3
2.1. General Objectives……………………………………………………….............4
2.2. Specific Objectives……………………………………….……………................4
4. Resources .................................................................................................................. 4
5. Professional Profile ................................................................................................... 5
6. Graduate Profile ........................................................................................................ 5
7. Academic Requirements ............................................................................................ 6
7.1 Admission Requirements ........................................................................ 6
7.2 Duration of Study ................................................................................... 7
7.3 Mode of Study ........................................................................................ 7
7.4 Graduation Requirements ....................................................................... 7
7.5 Medium of Instruction ............................................................................ 7
7.6 Teaching Methods .................................................................................. 7
7.7 Mode of Assessment ............................................................................... 8
8. Grading System ......................................................................................................... 8
9. Course Coding........................................................................................................... 9
10. Assessment and Evaluation ...................................................................................... 9
11. Degree Nomenclature .............................................................................................. 10
12. Teaching-Learning Methods and Materials .............................................................. 10
13. Quality Assurance ................................................................................................... 10
14. List of Modules ....................................................................................................... 11
15. Module Profile ........................................................................................................ 17
16. Course/Module Breakdown ..................................................................................... 26
17. Course guide book................................................................................................... 30

Page | IV
Software Engineering Five Year Regular Program, AMU
1. Background
Currently, there is significant difference between the demand and supply of the quality
professionals in Computer & IT sector to fulfill country’s technocratic need. Various
Governmental and other organizations have the desire to use modern information technology
tools and techniques. However, there is an acute shortage of technical staff. The failure of many
projects in IT in terms of implementation and sustainability is largely attributed to shortage of
qualified professionals. Realizing the importance of Computer Science and IT and the acute
shortage of skilled manpower in the field, the Department of Computer Science and Information
Technology, Arba Minch University Institute of Technology, Arba Minch University was
established with the vision and mission to promote Computer Science and Information
Technology education at Graduate and post Graduate level to fulfill the technocratic need of
country. In starting phase department launched an Advanced Diploma programme in Computer
Science in 1995 E.C ( now Closed).The first curriculum for BSc degree programme was adopted
in 1996 E.C. under Faculty of Engineering. In addition to this the university launched a second
BSc Degree program in Information Technology in 2004 E.C. Currently both the programs run
under Computer Science and IT department under Arba Minch Institute of Technology (AMIT).
Further department started M.Sc. in Computer Science in 2011 E.C. In addition to it the
department has summer B.Sc. Computer Science, B.Sc. Information Technology and M.Sc.
Information Technology. All programmes are successfully running with adequate quality and
commitment to accomplish the vision and mission of the department, university and nation at
large.
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
confining. Software engineering is a discipline, which involves the specification, design,
construction and verification of large software systems.
Although the field of Software Engineering was established more than 30 years ago, Bachelor
degree programs in Software Engineering in Ethiopia came into existence in the last few years.
Page | 1
Software Engineering Five Year Regular Program, AMU
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 and 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, different universities have 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.
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.
Vision of the Department
 Filling the gap in between demand and supply in IT Human Resource
 Ensure Success Factor of IT projects & Technology Transfer (implementation and
sustainability )
 Develop an IT Echo System in the country for Technology Savvy society
Mission of the Department
 Run Computer Science and IT programmes at undergraduate, graduate and higher level
to fulfill the need of the country.
 Initiate technology transfer and research projects to solve business, industry, society
problems through computer and IT tools and technologies
 Formulate integrated research frameworks for interdisciplinary automations
 Initiate core and multidisciplinary research collaborations and Present or publish research
results in national/international journals and conferences.
2. Rationale for the program
Program learning outcome specifies the expectation of the program at the end of educational
process in the department of the Software Engineering. This clearly state what our students able
to perform at the end of successful completion of the course work. This mainly focuses on the
achievable output unlike the intention described as part of the program aim.

Page | 2
Software Engineering Five Year Regular Program, AMU
 Knowledge and understanding of the essential facts, concepts, principles and theories
related to Software Engineering.
 Ability to show the mastery of the software engineering knowledge and skills, and
professional issues necessary to bring practice as software engineer
 Ability to work as an individual and as a part of team to develop and deliver quality
software products.
 Ability to reconcile conflicting project activities, finding acceptable compromises within
limitations of cost, time, knowledge, existing systems and organizations
 Ability to design appropriate solutions in one or more application domains using software
engineering approaches that integrate ethical, social, legal and economic concerns.
 Ability to learn new models, techniques and technologies as they emerge and appreciate
the necessity of such continuing professional development.
 Study of advanced courses from basic and preliminary courses that will make the
students to understand all dimensions of the field (Software Engineering) thoroughly.
 Acquiring practical skills and knowledge in all dimensions of Software Engineering field
by being involved in several group/individual projects.
3. Objective of the Program
The Software Engineering program is aimed at providing a well-skilled manpower for the
software design, development and maintenance in the current information age.

3.1 General Objectives

Thus, the department aims at preparing students to empower them to face the challenge of the
field in the society and to enable them reap the fruit of globalization through extensive practical
work Train graduates who are equipped with the necessary methodologies and tools to develop
high standard software.

3.2 Specific Objectives


 Propose futuristic software designs and solutions to existing infrastructures.
 Enable graduates to work in a team and corporate environments that encompass local and
global software industries.

Page | 3
Software Engineering Five Year Regular Program, AMU
 Prepare graduates for further study and research in software engineering areas where
enhancement needs to be taken.
 To provide software engineering education for the students with at most quality and
thereby to cultivate confidence in the students to serve the country better.
 Assisting Government’s policy of increasing trained manpower, thereby reducing the
shortage of skilled manpower in software engineering areas that are required for different
organizations, to develop the nation.
 Assisting the industrial community and institutions around in the region to achieve
excellence.
 Train software engineering graduates that are globally competent and productive.
 Design, develop and maintain software of an industrial standard for private, non-
governmental and government clients.
 Create Software Engineers who can conduct research in the ICT discipline and
technologies emerging every day.
4. Resources
In order to run software engineering program, the department have sufficient Staffs, Excellent
number of staff such as MSc and above holder. We need also facility such as libraries,
laboratory, workshops and good internet facility for both staffs and students.
5. Professional profile
 Design software architecture for software development.
 Develop quality software in various domain
 Handle system programming tasks.
 Assist the ICT Tasks
 Make rational and justified decisions regarding the selection of methods, tools and
programming techniques for the development of a computer application
 Use CASE tools for software productivity.
 Develop web sites for network based applications.
 Design and develop database applications.
 Maintain and re-engineer the industry software projects.
 Operate and design hardware systems.

Page | 4
Software Engineering Five Year Regular Program, AMU
 Apply the acquired skill professionally to problem solving in a real world
environment.
 Manage the process of software quality management and Assurance.
6. Graduate Profile
The graduates of the program will be able to acquire:
A) Cognitive skill
 To make rational and justified decisions regarding the selection of methods, tools and
techniques for the development of software application.
 Design, develop and maintain good quality software by applying software
engineering principles.
 Selecting the appropriate software model to develop a 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.
B) Technical skill

 Use and apply current technical concepts and practice in the core area of Software
Engineering.
 Design effective and usable Software Engineering solutions and integrate them into
the End user environment.
 Assist in the creation of an effective Software Engineering project plan.
 Demonstrate independent critical thinking and problem solving skills in Software
Engineering
 Use current techniques, skills, and tools necessary to maintain and check quality of
Software Engineering and computer based systems.

Page | 5
Software Engineering Five Year Regular Program, AMU
C) Attitude skill

 Collaborate in teams to accomplish a common goal by integrating personal initiatives.


 Communicate effectively and efficiently with clients, users and peers both verbally and in
writing, using appropriate terminology.
 Understand and explain the quantitative dimensions of a problem.
 Manage one’s own learning and development, including time management and
organizational skills in Software Engineering.
 Keep abreast of current developments in the discipline to continue one’s own Software
professional development.
 Recognize and be guided by the social, professional, and ethical issues involved in the
use of Software Engineering technology.
7. Academic Requirements
7.1 Admission Requirements
The requirements for admission to the program are as per the Ministry of Education &
Universities admission requirement. Admission requirements would be similar to the general
institutional requirements. That is, the student should complete preparatory level education and
the entry point is determined accordingly by the Ministry of Education for the regular students.
7.2 Duration of Study
Since the program needs an intensive hands-on practical experiments and to meet the program
objectives and graduate profile, five years of study is required to complete the program.
7.3 Mode of delivery
Mode of delivery should be parallel to make fruitful student learning situation as a Regular
Program.
7.4 Graduation Requirements
The major graduation requirements of the program stated below are as per the legislation:
 Successful completion of all courses (307 ECTS, 180 Credit Hours);
 At least C grade in the internship courses;
 No grade of "F" in any of the courses.
7.5 Medium of Instruction
The medium of instruction for the program is ENGLISH

Page | 6
Software Engineering Five Year Regular Program, AMU
7.6 Teaching methods

 Lecture
 Demonstration
 Student presentation
 Lab experiment
 Simulation and modeling
 Project work
 Home study (assignment)
 Discussion
 Question and answering
 Class work (group work)
8. Grading System
Grading is done as per the University Grading System. However; during Grading be sure that the
following points are considered.
i. For any course having lecture, laboratory/practice and tutorial, raw mark
evaluation should be treated independently from 100 %.
ii. The final number grade for a course is obtained based on the weighted average of
lecture, laboratory/practice and tutorial.

Minimum Grade Point Pass


Grade Maximum Result
Result Value Grade
A+ 90.00 100.00 4 Yes
A 85.00 89.99 4 Yes
A- 80.00 84.99 3.75 Yes
B+ 75.00 79.99 3.5 Yes
B 70.00 74.99 3 Yes
B- 65.00 69.99 2.75 Yes
C+ 60.00 64.99 2.5 Yes
C 50.00 59.99 2 Yes
C- 45.00 49.99 1.75 Yes
D 40.00 44.99 1 Yes
Fx 30.00 39.99 0 No
F 0.00 29.99 0 No

Page | 7
Software Engineering Five Year Regular Program, AMU
9. Course Coding
The course code will have four-digit number like SENG abcd. The first digit, ‘a’, indicates the
year of the course offering (‘1’ for 1st year, '2' for 2nd year, ‘3’ for 3rd year and ‘4’ for 4th year
courses);the middle numbers, ‘bc’, indicate the module number in the program; the last number,
‘d’, indicates order of the course within the module.
10. Assessment and Evaluation
The different abilities that graduates of this program must acquire are assessed as followed.
 Cognitive Abilities: Cognitive abilities are assessed by a combination of traditional
written examinations and continuous assessment, including marked essays, class
tests and computer programming problems.
 Practical Abilities: Practical Abilities are assessed mostly by continuous
assessment. Some of practical abilities are assessed as part of group project module.
 Transferable skills: some skills, like the use of software tools and ability to
communicate orally and in written form are directly assessed, in assignments or
projects, other skills are not directly assessed but their effective use will enhance the
students overall performance.
 Evaluation will be done based on the continuous assessments, assignments,
laboratory sessions, demonstrations, Project work, and final exam.
11. Degree Nomenclature
The degree awarded to a student who has completed all the required courses of the program
reads,
English
Bachelor of Science Degree in Software Engineering

Amharic

የሳይንስ ባችለር ዲግሪ በሶፍትዌር ኢንጂነሪንግ

12. Teaching-Learning Methods and Materials


The basic teaching method is lecture supported by tutorial, design projects, practical laboratory
exercises and, in some cases, by simulation. E-learning and audio-visual aids are also used to

Page | 8
Software Engineering Five Year Regular Program, AMU
support lectures. Students are assigned to work on projects to enable them enhance innovative
and independent working ability. The industry internship is also an integral part of the
teaching/learning process. Students are provided with handouts and teaching materials.
13. Quality Assurance
Quality assurance can be used as an instrument to improve the system continuously, install
accountability and enable compatibility with other higher education systems. The quality of the
program is assessed in terms of the instruction performance and impact of program on the quality
of graduates looking for a job or further studies. The following factors help to ensure the quality
of the education:
 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 Exam Review committee
 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.

Page | 9
Software Engineering Five Year Regular Program, AMU
14. Module Breakdown

Clusters
Module Module Name Course Courses in a Module ECTS Credit Total
Code Code ECTS
EnLa1011 Communicative English 5 3
EnLa-M1013 Language Skills 10
EnLa.1012 Basic Writing Skills 5 3
Stat-M3052: Statistics Stat 2053 Probability and Statistics 5 3 5
Math1031 Applied Mathematics I 7 4
Math1032 Applied Mathematics II 7 4
Math-M1032 Mathematics Math1033 Applied Mathematics III 7 4 31

Math1034 Discrete Mathematics 5 3


Math1035 Numerical Analysis 5 3
SENG2041 Computer Organization and Architecture 5 3
EEng1041 Fundamentals of Electricity and Electronic 5 3
HwPr-M1041 15
Hardware Devices
Programming
EEng1042 Digital Logic 5 3
CvEt-M1023 Civics and Logic CvEt 1021 Civics and Ethical Education 5 3
10
Phil1022 Introduction to Logic (Reasoning Skill) 5 3
BaSEPr- Basics of Software SENG1071 Introduction to Computing and Software 7 4
M1071 Engineering and 17
Engineering
programming
SENG1072 Programming Fundamentals I 5 3

Page | 10
Software Engineering Five Year Regular Program, AMU
SENG1073 Programming Fundamentals II 5 3
AdPr-M2081 Advanced SENG2081 Object Oriented Programming 7 4
Programming
SENG2082 Data structures and Algorithms 5 3
SENG2083 Advanced programming 5 3 29
SENG2085 Event-Driven Programming 7 4
SENG3084 Mobile Programming 5 3
SySd-M2091 System Software SENG2093 Operating Systems 7 4
Development 14
SENG4092 Principles of Compiler Design 7 4
CoNt-M3101 Computer Networking SENG3101 Data Communication and Computer Networks 7 4
SENG3102 Computer Security 5 3
19
SENG4103 Server Administration 7 4
DbSy-M3111 Database Systems SENG2111 Database Management Systems 7 4
SENG3112 Introduction to Distributed Systems 5 3
17
SENG2113 Database Administration 5 3
WeTec-M3121 Web Technology SENG3121 Web Design and Programming 5 3
10
SENG4122 WEB Service 5 3
SrMa-M3131 Software Requirement SENG2131 Object Oriented System analysis and modeling 5 3
Modeling and Analysis
SENG2132 Software Requirements Engineering 5 3
10
SoDe-M3141 Software Design SENG3141 Software Design and Architecture 5 3
15
SENG4143 Software Component Design 5 3
SENG4144 Software engineering tools and practices 5 3

Page | 11
Software Engineering Five Year Regular Program, AMU
SoMg-M4161 Software Management SENG5161 Software Project Management 5 3
SENG5162 Software Quality Assurance and Benchmarks 5 3
20
SENG3164 Software Testing 5 3
SENG5163 Software Project management 5 3
SyMs-M3151 Graphics SENG3151 Computer Graphics 5 3 5
RePw-M4171 Research and Project SENG3172 Seminar in Software Engineering 5 2
Works
SENG5173 Software Engineering Capstone project I 5 3
SENG5174 Software Engineering Capstone project II 5 3 50

SENG4175 Research methodology in Software Engineering 5 2

SENG4176 Internship 30 18
CoEn-M5201 Elective Module CoSc520X Elective I 5 3
10
CoSc520X Elective II 5 3
EnPr-M4181 Entrepreneurship Mgt5181 Entrepreneurship 5 3 5
CoEn-M2191 Information System COSC2191 Microprocessor and Assembly Language 5 3
and Computer
Programming
Engineering 15
COSC5192 Introduction to Artificial Intelligence 5 3
COSC5193 Introduction to Robotics 5 3
Total 307 180

Page | 12
Software Engineering Five Year Regular Program, AMU
Elective Courses
Elective I
Course Title Status ECT Cr Lec Lab Tut H/S
Code S
CoSc5201 Real time and Embedded System Elective I 5 3 2 3 2 3

CoSc5202 Simulation and Modeling Elective I 5 3 3 0 2 3

Total 10 6

Elective II
Course Title Status ECT Cr Lec Lab Tut H/S
Code S
CoSc5204 Cryptography and Network Elective II 5 3 3 3 2 3
Security
CoSc5205 Neural Networks Elective II 5 3 3 3 2 3

COSC5206 Geographic Information System Elective II 5 3 3 3 2 3

Total 15 9

15. Module profile

Module Name Language Skills


Code EnLa-M1013
Category Common
Weight (ECTS) 10
Module Enable Students to develop their speaking skills
Objective Enable students to advance their writing skills
Empower the students to enhance their overall English language skills
Module Develop Interpersonal communication and writing skills
Competence
Module Course Title
Description No

Page | 13
Software Engineering Five Year Regular Program, AMU
EnLa1011 Communicative English
EnLa.1012 Basic Writing Skills
Mode of delivery Semester Wise
Teaching  student centered approach
Methods  Debate on given title to develop communication skills
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/multimedia laboratory exercises
Methods

Module Name Mathematics


Code Math-M1036
Category Supportive
Weight (ECTS) 17
Module Enable students to solve complex mathematical problems
Objective Enable students to think, analyze and solve problems mathematically
Enable students to develop complex mathematical algorithm and principles in
developing program or software
Module Develop Mathematical algorithm skills
Competence
Module Course No Title
Description Math1031 Applied Mathematics I
Math1032 Applied Mathematics II
Math1033 Applied Mathematics III
Math1034 Discrete Mathematics
Math1035 Numerical Analysis
Mode of delivery Semester Wise
Teaching  student centered approach
Methods  Lecture based offering with active participation by students
 group discussion and student participation in problem solving
Assessment Assignments/mid exam/final exam/projects/worksheet exercises

Page | 14
Software Engineering Five Year Regular Program, AMU
Methods

Module Name Civics and Ethical Education


Code CvEt-M1021
Category Common
Weight (ECTS) 10
Module Objective Enable students to learn different ethical values and norms
Enable students to know their rights and responsibilities
Enable students to learn about good governance
Module Competence Know their right and responsibility as well as their constitution
Module Description Course Title
No
CvEt1021 Civics and Ethics
Phil1022 Introduction to Logic (Reasoning Skill)
Mode of delivery Semester Wise
Teaching Methods  student centered approach
 Lecture supported by active participation of students
 group discussion and presentation on assignments
Assessment Methods Assignments/mid exam/final exam/projects/ exercises

Module Name Hardware Programming


Code HwPr-M1041
Category Core
Weight (ECTS) 12
Module Objective Enable students to learn internal and external architecture of computers
Enable students to learn digital concepts in computers
Enable students to learn the functionality of the computer
Enable students to learn Assembly Language Programming
Module Understand the Internal and External Architecture of Computers and Assembly
Competence Language Programming

Page | 15
Software Engineering Five Year Regular Program, AMU
Module Course No Title
Description SENG2043 Computer organization and architecture
EEng1041 Fundamentals of Electricity and Electronic Devices
EEng1042 Digital Logic
Mode of delivery Semester Wise
Teaching Methods  student centered approach
 Lecture supported by Laboratory practice
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Statistics


Code Stat-M3052
Category Supportive
Weight (ECTS) 5
Module Objective Enable students to solve statistical problems
Enable students to learn data gathering statistically
Enable students to learn different probability concepts
Module Develop statistical problem solving skills
Competence
Module Description Course No Title
Stat 2053 Probability and Statistics
Mode of delivery Semester Wise
Teaching Methods  student centered approach
 Lecture supported by student participation
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/worksheet exercises
Methods

Page | 16
Software Engineering Five Year Regular Program, AMU
Module Name Basics of Software Engineering and programming
Code BaSEPr-M1071
Category Core
Weight (ECTS) 17
Module Objective Enables students to understand basic computer skills. Different Applications
in software development.
To introduce common Skills required for software engineering.
Able to assist in an organization for tasks like solving problems and assist in
computer based applications through on line and off line. Data entry,
organizing data and storage, systematic way of analysis and programming in a
commercial Application for standalone domain.
Module Competence Understand Basic Programming concepts
Module Description Course No Title
SENG1071 Introduction to Computing and Software Engineering
SENG1072 Programming Fundamentals I
SENG1073 Programming Fundamentals II
Mode of delivery Semester Wise
Teaching Methods  Lecture based laboratory supported offering, student centered
approach
 Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Methods Assignments/mid exam/final exam/projects/laboratory exercises

Module Name Advanced Programming


Code AdPr-M2081
Category Core
Weight (ECTS) 29
Module Objective To design and implement different software and desktop applications,
 Develop client server programs
 Connecting application programs to a database

Page | 17
Software Engineering Five Year Regular Program, AMU
 Creating a simple server page
Module Competence Develop Software Applications
Module Description Course No Title
SENG2081 Object Oriented Programming
SENG2082 Data structures and Algorithms
SENG2083 Advanced programming
SENG2084 Mobile Programming
SENG2085 Event-Driven Programming
Mode of delivery Semester Wise
Teaching Methods  Lecture based laboratory supported offering, student centered
approach
 Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Methods Assignments/mid exam/final exam/projects/laboratory exercises

Module Name System Software Development


Code SySd-M2091
Category Core
Weight (ECTS) 21
Module Objective Able to operate on different operating system. Develop software for graphical
user interface programming environment and design and develop system
software application.
Module System Software Development
Competence
Module Course No Title
Description SENG4092 Principles of Compiler Design
SENG2093 Operating Systems
Mode of delivery Semester Wise
Teaching Methods  Lecture based laboratory supported offering, student centered approach
 Students should work projects in solving real world problems
 group discussion and presentation on assignments

Page | 18
Software Engineering Five Year Regular Program, AMU
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Computer Networking


Code CoNt-M3101
Category Core
Weight (ECTS) 12
Module Objective To design and configure network installations for different organizations like
switch, routers, and hubs.
To maintain security of networking environment.
Module Configure, Install and Administer Network
Competence
Module Course No Title
Description SENG3101 Data Communication and Computer Networks
SENG3102 Computer Security
SENG4103 Server Administration
Mode of delivery Semester Wise
Teaching Methods  Lecture based laboratory supported offering, student centered approach
 Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Database Systems


Code DbSy-M3111
Category Core
Weight (ECTS) 17
Module Objective To enable students design and administer database for an organization.
To expand students’ knowledge on database that helps them in developing

Page | 19
Software Engineering Five Year Regular Program, AMU
applications that incorporate database with some Programming tool.
Introduce concepts and applications of Data mining and warehousing.
Module Design, Develop and Manage Database
Competence
Module Course No Title
Description SENG2111 Database Management Systems
SENG3112 Introduction to Distributed Systems
SENG2113 Database Administration
Mode of delivery Semester Wise
Teaching  Lecture based laboratory supported offering, student centered approach
Methods  Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Web Technology


Code WeTe-M3121
Category Core
Weight (ECTS) 10
Module Able to design and develop network based website application development for
Objective various domains.
Design and develop E-commerce application by applying appropriate security
services.
Module Design and Develop Web Application and Website
Competence
Module Course No Title
Description SENG3121 Web Design and Programming
SENG4122 WEB Service
Mode of delivery Semester Wise
Teaching  Lecture based laboratory supported offering, student centered approach

Page | 20
Software Engineering Five Year Regular Program, AMU
Methods  Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Software Requirement Modeling and Analysis


Code SrMa-M3131
Category Core
Weight (ECTS) 10
Module To analyze software by following object oriented software development approach,
Objective like blueprint to our system.
Module Understand Data gathering and analysis Techniques
Competence
Module Course No Title
Description SENG2131 Object Oriented System analysis and modeling
SENG2132 Software Requirements Engineering
Mode of delivery Semester Wise
Teaching  Lecture based laboratory supported offering, student centered approach
Methods  Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Software Design


Code SoDe-M3141
Category Core
Weight (ECTS) 20
Module To design a big software by using the concept of object oriented and system
Objective analysis design
Module System Designers

Page | 21
Software Engineering Five Year Regular Program, AMU
Competence
Module Course No Title
Description SENG3141 Software Design and Architecture
SENG4143 Software Component Design
SENG4144 Software engineering tools and practices
Mode of delivery Semester Wise
Teaching  Lecture based laboratory supported offering, student centered approach
Methods  Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name System Modeling and simulation


Code SyMs-M3151
Category Core
Weight (ECTS) 5
Module Able to apply hardware concepts to design new embedded system development
Objective and programming and computer graphics programming.
Module Graphics Developer
Competence
Module Course No Title
Description SENG3151 Computer Graphics
Mode of delivery Semester Wise
Teaching  Lecture based laboratory supported offering, student centered approach
Methods  Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Page | 22
Software Engineering Five Year Regular Program, AMU
Module Name Software Management
Code SoMg-M4161
Category Core
Weight (ECTS) 20
Module Able to apply the software process and project management to industry level
Objective quality software development application and to develop a real world project in a
professional way.
Module Software Project Manager
Competence
Module Course No Title
Description SENG5161 Software Project Management
SENG5162 Software Quality Assurance and Benchmarks
SENG5163 Software Project management
SENG3164 Software Testing
Mode of delivery Semester Wise
Teaching  Lecture based laboratory supported offering, student centered approach
Methods  Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Research and Project Works


Code RePw-M4171
Category Core
Weight (ECTS) 50
Module Able to develop quality software, Converting a given design into implementation,
Objective testing and deploying in Final Year project I.
Module Software Engineers
Competence
Module Course No Title
Description SENG3172 Seminar in Software Engineering

Page | 23
Software Engineering Five Year Regular Program, AMU
SENG5173 Software Engineering Capstone project I
SENG5174 Software Engineering Capstone project II
SENG4175 Research methodology in Software Engineering
SENG4176 Internship program
Mode of delivery Semester Wise
Teaching  Lecture based laboratory supported offering, student centered approach
Methods  Students should work projects in solving real world problems
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Entrepreneurship


Code EnPr-M4181
Category Supportive
Weight (ECTS) 5
Module Objective Enable students to know how to become an entrepreneur
Enable students how to start a business
Module Know different business and become entrepreneur
Competence
Module Description Course No Title
Mgt5181 Entrepreneurship for Software Business
Mode of delivery Semester Wise
Teaching Methods  student centered approach
 Debate on given title to develop communication skills
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Module Name Computer Engineering


Code CoEn-M3191
Category Core

Page | 24
Software Engineering Five Year Regular Program, AMU
Weight (ECTS) 15
Module Enable students to learn Microprocessor and how it function
Objective Enable students to learn Microcontroller and how it works
Enable students to develop embedded application for consumers electronic devices
using microcontroller
Module Develop Embedded system Application
Competence
Module Course No Title
Description COSC2191 Microprocessor
COSC5192 Introduction to Artificial Intelligence
COSC5193 Introduction to Robotics
Mode of delivery Semester Wise
Teaching  student centered approach
Methods  Lecture supported by laboratory practice
 group discussion and presentation on assignments
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods

Page | 25
Software Engineering Five Year Regular Program, AMU
16. Modular Structure of the program

Year I Semester I
Course Course Title ECTS Cr Tut/ No of Delivery
Code Lab Weeks
EnLa1011 Communicative English 5 3 16 Parallel
Math1031 Applied Mathematics I 7 4 2 16 Parallel
SENG1061 Introduction to Computing and Software 7 4 3 16 Parallel
Engineering
EEng1041 Fundamentals of Electricity and 5 3 0 16 Parallel
Electronic Devices
SENG1071 Fundamentals of Programming I 5 3 3 16 Parallel
CvEt 1021 Civics and Ethical Education 5 3 0 16 Parallel
Total 34 20

Year I Semester II
Course Course Title ECTS Cr Tut/Lab No of Delivery
Code weeks
Math1031 Applied Mathematics II 7 4 2 16 Parallel
EnLa.1012 Basic writing skills 5 3 0 16 Parallel
SENG1072 Fundamentals of Programming II 5 3 3 16 Parallel
Math 1033 Discrete Mathematics 5 3 2 16 Parallel
EEng1042 Digital Logic 5 3 0 16 Parallel
Phil1022 Introduction to Logic (Reasoning 5 3 0 16 Parallel
Skill)
Total 32 19

Page | 26
Software Engineering Five Year Regular Program, AMU
Year II Semester I
Course Code Course Title ECTS Cr Lab/ No of Delivery
Tut weeks
Math1033 Applied Mathematics III 7 4 2 16 Parallel
SENG2082 Data structures and Algorithms 5 3 16 Parallel
SENG2111 Database Management Systems 7 4 16 Parallel
Stat 2053 Probability and Statistics 5 3 16 Parallel
SENG2041 Computer Organization and Architecture 5 3 16 Parallel
SENG2131 Object Oriented System Analysis and 5 3 16 Parallel
Design
Total 34 20

Year II Semester II
Course Course Title ECTS Cr. Tut/ No of Delivery
Code Lab Weeks
SENG2081 Object Oriented Programming 7 4 16 Parallel
SENG2093 Operating Systems 7 4 16 Parallel
COSC2191 Microprocessor and Assembly 5 3 16 Parallel
Language Programming
SENG2113 Database Administration 5 3 16 Parallel
SENG2132 Software Requirements 5 3 16 Parallel
Engineering
Math3035 Numerical Analysis 5 2 2 16 Parallel
Total 34 19

Page | 27
Software Engineering Five Year Regular Program, AMU
Year III Semester I
Course Course Title ECTS Cr. Tut/ No of Delivery
Code Lab Weeks
SENG2083 Advanced programming 5 3 16 Parallel
SENG3084 Mobile Programming 5 3 16 Parallel
SENG3101 Data Communication and 7 4 16 Parallel
Computer Networks
SENG3151 Computer Graphics 5 3 16 Parallel
SENG3121 Web Design and Programming 5 3 16 Parallel
SENG5163 Software Project Management 5 3 16 Parallel
Total 32 19

Year III Semester II


Course Course Title ECTS Cr. Lab/ No of Delivery
Code Tut Weeks
SENG4103 Server Administration 7 4 16 Parallel
SENG3172 Seminar in Software Engineering 5 2 16 Parallel
SENG2085 Event Driven Programming 7 4 16 Parallel
SENG3164 Software Testing 5 3 16 Parallel
SENG3112 Introduction to Distributed Systems 5 3 16 Parallel
SENG3141 Software Design and Architecture 5 3 16 Parallel
Total 34 19

Page | 28
Software Engineering Five Year Regular Program, AMU
Year IV Semester I
Course Code Course Title ECTS Cr No of Delivery
Weeks
SENG4144 Software Engineering Tools and Practices 5 3 16 Parallel
SENG4092 Principles of Compiler Design 7 4 16 Parallel
SENG4175 Research Methodology in SENG 3 2 16 Parallel
SENG4143 Software Component Design 5 3 16 Parallel
SENG3102 Computer Security 5 3 16 Parallel
SENG4122 Web Services 5 3 16 Parallel
Total 30 18
Year IV Semester II
Course Code Course Title ECTS Cr. No of Weeks Delivery
SENG4176 Internship program 30 18 16
Total 30 18

Year V Semester I
Course Code Course Title ECTS Cr No of Delivery
Weeks
SENG5173 Software Engineering Capstone project I 5 3 16 Parallel
COSC520X Elective I 5 3 16 Parallel
Mgt5181 Entrepreneurship 5 3 16 Parallel
COSC5192 Introduction to Artificial Intelligence 5 3 16 Parallel
Total 20 12

Page | 29
Software Engineering Five Year Regular Program, AMU
Year V Semester II
Course Course Title ECTS Cr Number Delivery
Code of Week
COSC520X Elective II 5 3 16 Parallel

SENG5162 Software Quality Assurance and 5 3 16 Parallel


Benchmarks
COSC5193 Introduction to Robotics 5 3 16 Parallel

SENG5174 Software Engineering Capstone 5 3 16 Parallel


Project II
Total 20 12 24

Elective Courses:

Course Title Status ECTS Cr Lec Lab Tut H/S


Code
COSC5201 Real time and Embedded System Elective I 5 3 2 3 2 3

COSC5202 Simulation and Modeling Elective I 5 3 3 0 2 3

COSC5204 Data Mining and Warehousing Elective I 5 3 2 3 2 3

COSC5205 Cryptography and Elective II 5 3 3 3 2 3


Cryptanalysis
COSC5206 Information systems and data Elective II 5 3 2 3 2 3
processing
COSC5207 Neural Networks Elective II 5 3 3 3 2 3
COSC5208 Computer Vision and Image Elective II 5 3 2 3 2 3
processing
Total 35 21

Page | 30
Software Engineering Five Year Regular Program, AMU
17. Course guidebook:

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG1061
Course Title: Introduction to Computing and Software Engineering
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 55 151
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: I
Pre-requisites None
Status of the Core
Course
Course Description Principles of software engineering: Requirements, design and testing.
Review of principles of object orientation. Object oriented analysis using
UML. Frameworks and APIs. Introduction to the client-server
architecture. Analysis, design and programming of simple servers and
clients. Introduction to user interface technology

Page | 31
Software Engineering Five Year Regular Program, AMU
Course Objective: Upon completion of this course, students will have the ability to:
 Develop clear, concise, and sufficiently formal requirements for
extensions to an existing system, based on the true needs of users
and other stakeholders
 Apply design principles and patterns while designing and
implementing simple distributed systems-based on reusable
technology
 Create UML class diagrams which model aspects of the domain and
the software architecture
 Create UML sequence diagrams and state machines that correctly
model system behavior
 Implement a simple graphical user interfaces for a system
 Apply simple measurement techniques to software
 Demonstrate an appreciation for the breadth of software engineering

Course Goals  Implement a simple graphical user interfaces for a system


 Apply simple measurement techniques to software
 Demonstrate an appreciation for the breadth of software engineering
Course Outline
Date Topic
Software engineering and its place as an engineering discipline
Software development process models
Requirement elicitation, analysis and specification
Design concepts: Abstraction, information hiding, cohesion, coupling
Design using formal methods and UML
Week/Lecture
Implementation coding standards, stepwise refinement
Testing methods, metrics, verification and validation
Reusable technologies as a basis for software engineering: Frameworks
and APIs.
Software architecture: Distributed architectures, pipe-and-filter, model-
view-controller, etc.

Page | 32
Software Engineering Five Year Regular Program, AMU
Maintenance and Evolution
Introduction to project management: roles, activities and deliverables in
each life cycle phases
Sample labs and assignments:
Evaluating the performance of various simple software designs
Testing a system to verify conformance to test cases
Numerous exercises building models in UML, particularly class diagrams
and state machines
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assessment Assignment ……….….10% Submission Date:

LAB…………………20%

Final Examination ……50%


Reference Text Books:
Introduction to Software Engineering, Ronald J. Leach, November 24,
1999 by CRC Press.
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project, Lab
Methods exam and Final exam.
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given.

Page | 33
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering

Course Code EEng1041


Course Title: Fundamentals of Electricity and Electronic Devices
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
32 48 0 55 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: I
Pre-requisites None
Status of the Course Common Course
Course Description
Course Objective:

Course Goals 

Course Outline
Date Topic

Page | 34
Software Engineering Five Year Regular Program, AMU
Week/Lecture

Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
LAB………..30% Date of Exam:

Final Examination ……40% All Lectures


As per university schedule.
Reference o

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


Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code EEng1042
Course Title: Digital Logic
Instructor/Tutor

Page | 35
Software Engineering Five Year Regular Program, AMU
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
32 48 0 55 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: II
Pre-requisites None
Status of the Course Common Course
Course Description Number systems; Binary logic, logic gates; Boolean algebra:
DeMorgan's Theorem, Karnaugh maps; Logic families; Combinational
circuits: decoders, encoders, code converters, multiplexer,
demultiplexer, half-adder, full-adder; Sequential circuits: latches, Flip-
flops (including RS, D type and master slave JK), counters, shift
registers; Memory; analog-digital converter; A/D and D/A converter.
Course Objective: At the end of the course the student will be able to:
 explain and work with different number systemsand use
DeMorgan’s Theorem &Karnaugh maps to minimize logic
gates;
 explain different logic families;
 build different combinational and sequential circuits ; and work
with ADC and DACs.
Course Goals  To apply the principles of Boolean algebra to manipulate and
minimize logic expressions.
 To use K-maps to minimize and optimize two-level logic
functions up to 5 variables.
 The operation of latches, flip-flops, counters, registers, and
register transfers.
 To analyze the operation of sequential circuits built with various
flip-flops.

Page | 36
Software Engineering Five Year Regular Program, AMU
 The concepts of data paths, control units, and micro-operations
and building blocks of digital systems.

Course Outline
Date Topic
Introduction to digital and computer systems and information
representation.
Number Systems
Their conversion and
Arithmetic, Standard Codes
Logic Gates, Boolean Algebra
Truth Tables and K-Maps
Karnaugh map logic simplification tool
Combinational circuits analysis and design
Digital Design Using LSI Circuits
Sequential Circuit Concept
Week/Lecture Introduction to Flip-Flops
Types i.e. J-K F/F
Introduction to Latches
Design procedures
Introduction to develop state diagram and state table
Structured Sequential Circuits
Registers
Shift Registers, Parallel Loading of Registers
Counters
Synchronous ,Asynchronous ,Serial
Programmable logic
Random access memory (RAM) ,Prorammable logic Array (PLA)
Memory construction using RAM integrated circuits

Page | 37
Software Engineering Five Year Regular Program, AMU
Basic Computer Datapath
Pipelined version
Register transfer operations
Bus oriented transfer
Non-Bus oriented transfer
Sequencing of register transfer operations
Control Unit
Introduction to Algorithmic State Machine (ASM) chart
ASM chart to represent sequencing and controlling operations
Hardwired and Microprogrammed controlled design
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
LAB………..30% Date of Exam:

Final Examination ……40% All Lectures


As per university schedule.
Reference 2. "Logic and Computer Design Fundamentals," 4th Edition, by M. Mano and
C. Kime, Prentice Hall, Upper Saddle River, NJ, 2008. ISBN# 0138134006.
3. Online Student material, including solutions to selected problems and
additional reading: Â online student resources.
4. "Designing Digital Circuits Using VHDL"; by Jon Turner (pdf)
5. "Fundamentals of Logic Design", by C. H. Roth, Jr, PWS Publishing
Company.
6. "Digital Design and Computer Architecture," David Money Harris and Sarah
Harris, Morgan Kaufmann Publ, 2007
7. "Digital Design " 3rd Edition by J. F. Wakerly, Prentice Hall, Upper Saddle
River, NJ, 2000.
8. "Digital Principles," 3rd Ed, Roger L. Tokheim, Schaum's Outline Series,

Page | 38
Software Engineering Five Year Regular Program, AMU
McGraw-Hill Publ, 1994 [contains many worked out examples]
9. "The Art of Electronics,"Â 2nd edition, F. Horowitz and W. Hill, Cambridge
Univ. Press, New York, 1989.[has a lot of practical implementation
information for both digital and analog circuits].
10. "Fundamentals of Logic Design", 4th Edition, by C. Roth, PWS Publishing
Company, New York, 1999.
11. VHDL related books:
o "Â VHDL Starter's Guide", S. Yalamanchili, Prentice Hall, Upper
Saddle River, NJ, 1998
o "VHDL Made Easy", D. Pellerin, D. Taylor, Prentice Hall, Upper
Saddle River, NJ, 1997
o "The Students' Guide to VHDL," P. Ashenden, Morgan Kaufman
Publ, San Francisco, 1998.

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


Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG1071
Course Title: Fundamentals of Programming I
Instructor/Tutor

Page | 39
Software Engineering Five Year Regular Program, AMU
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
32 16 48 39 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: I
Pre-requisites None
Status of the Course Core
Course Description This course introduces the fundamental concepts of procedural
programming. Topics include data types, control structures, functions,
arrays, files, and the mechanics of running, testing, and debugging.
Course Objective: After completing this course students should be able to:
 Analyze and explain the behavior of simple programs involving
the fundamental programming constructs
 Choose appropriate conditional and iteration constructs for a
given programming task.
 Design, implement, test, and debug a program that uses each of
the following fundamental programming constructs: basic
computation, simple I/O, standard conditional and iterative
structures, and the definition of functions.
Course Goals  he following goals will be addressed in the course:
Apply basic programming
 syntax Diagram program logic flow
Use simple variables (strings/numbers)
Use complex data structures (lists, tuples, dictionaries, arrays) 
 Create program code to use iteration and looping
 Create program code that makes decisions and uses branching
Use sequential files 
 Create program statements that perform mathematical

Page | 40
Software Engineering Five Year Regular Program, AMU
calculations 
 Apply object-oriented programming techniques in writing
programs 
 Apply program debugging techniques and methods in program
testing
 Construct subroutines and functions in program development and
packaging
 Generate programs that have graphical user.
Course Outline
Date Topic
Algorithms and problem-solving: Problem-solving strategies; the role of
algorithms in the problem-solving process; implementation strategies for
algorithms; debugging strategies; the concept and properties of
algorithms
Basic concepts and Definitions: What is a Program?, "Hello, world", The
Programming Process, Program Files and Program Execution,
Programming Languages, Compiler Errors vs. Runtime Errors,
Development Environments, Reading Input, Formatting Output,
Commenting Your Source Code, Good Programming Style
Week/Lecture
Data Types, Constants, and variables: Computer Memory, Variables,
Literal Data, key words, operators, Expressions
Decision Making: Sequential Execution, What is Decision Making?,
Simple Decisions: if, Two-Way Decisions: else, Code Blocks, Nesting
Control Statements, Multi-Way Decisions: switch
Looping: Kinds of Loops, Iterative Loops, Code Blocks and Loops,
Nested Loops, Conditional Loops, Infinite Loops
Function: Definition, Reusable Code in a Subroutine, the Starting Point,
Variable Visibility, Parameters, Returning a Value, recursive functions,
inline functions, default parameters, Libraries
Date of Exam:
Assessment Test 1…………………10%

Page | 41
Software Engineering Five Year Regular Program, AMU
Test 2…………………10%

Assignment ……….….10% Submission Date:

Lab……………………30% Date for Project Assessment/


Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference 1. Exploring Programming And Computer Science With C ++ By -
Owen L. Astrachan (McGraw Hill)
2. C++ How To Program – By Deitel&Deitel - (Addison Wesely)
3. Teach Yourself C++ By - Herbert Schildt - (Tmh)
4. Thinking In C++ By - Bruce Eckel - (Pearson Education, Second
Edition)
5. Standard C++ With Object-Oriented Programming By - Paul S
Wang - (Vikas Pub.)
6. Fundamental Of Computing With C ++ By - J.R. Hubbard,
Schaum’s Series
7. Complete Reference C ++ -By- Schildt (Tmh)
8. C++ Programming, By Al Stevens Wiley, Dream Tech
9. C ++ Programming - By - Ds. Mallik (Thomson Learning)
10. C ++ Programming -By-Herbert Schildt(Dream Tech Press)
11. Starting Out With C ++ By - Tony Gaddis (Dream Tech Press)
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

Page | 42
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code CvEt 1021
Course Title: Civics and Ethics
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 0 0 87 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: II
Pre-requisites None
Status of the Common Course
Course
Course Description The student will be able to learn To inculcate ethic and civic sense
among our youth, so that they become responsible citizens
Course Objective:  Citizens who work within the provisions of the constitution and
abide by the rule of law.
 Patriotic citizens that uphold the democratic ideals and the
principles of the constitution as well as defend the sovereignty
and territorial integrity of their country.
 Responsible citizens that nurture tolerant culture and resolve
differences peacefully.
 Citizens who are active participants in the political process of
their country and dedicated to work for the common good.

Page | 43
Software Engineering Five Year Regular Program, AMU
Course Goals  Citizens that have decision making capacity on the basis of
knowledge and objectivity.
 Bearing these objectives in mind, especially teachers have great
national responsibility to work diligently for the materialization
of the mission of civics and ethical education
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Date for Project Assessment/
Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code Phil1022
Course Title: Introduction to Logic (Reasoning Skill)

Page | 44
Software Engineering Five Year Regular Program, AMU
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 0 0 87 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: II
Pre-requisites None
Status of the Common Course
Course
Course Description
Course Objective:

Course Goals

Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Date for Project Assessment/
Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference

Page | 45
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code EnLa.1012
Course Title: Basic writing skills
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 0 0 87 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: II
Pre-requisites None
Status of the Common Course
Course
Course Description The student will be able to Learning how to write English may be
difficult for many individuals, and takes much practice and patience. ESL
students as well as native English speakers who wish to improve their
writing skills need to have a basic understanding of grammar structure,
tense usage, vocabulary, and how to commit thought processes and ideas
onto paper
Course Objective:  This course will also help students learn to write natural and clear
sentences, as well as composing personal and business letters to help
increase job skills and communication. Increasing proficiency in
clarity not only in the spoken but written language is an important

Page | 46
Software Engineering Five Year Regular Program, AMU
part of the basic human necessity known as communication.
 In order to write well, students must practice concepts that involve
grammatical structure, voice, style, and vocabulary usage. This
course will carefully guide you through the basic structures and rules
of the English-language and focus on improving skills that are
necessary in order to write clearly and accurately
Course Goals  Students will be able to use rhetorical terminology to describe
writing.
 Students will be able to identify instances of plagiarism and explain
why it is a serious
 Offense in academic writing.
 Students will be able to interpret texts written for academic
audiences.
 Students will be able to use academic writing conventions in their
own writing
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment Assignment ……….….10%
Quizz……………….20% Date for Project Assessment/
Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference 1. The Burkean Parlor
2. (http://english.ttu.edu/kairos/2.1/features/brent/burke.htm)
Plagiarism (Guide 3-12)
3. “Plagiarism Lines Blur in Digital Age” article from The New York
Times.
4. http://www.nytimes.com/2010/08/02/education/02cheat.html)
5. Wikipedia founder on using Wikipedia in college

Page | 47
Software Engineering Five Year Regular Program, AMU
6. (http://chronicle.com/blogs/wiredcampus/wikipedia-
founderdiscourages-academic-use-of-his-creation/2305)
7. “How to Write a Personal Essay” article from the Utne Reader
8. (http://www.utne.com/1999-03-HowtoWriteaPersonalEssay.aspx)
9. “The History of Dialogue: Other People’s Papers” article from The
10. New Inquiry (http://thenewinquiry.com/post/6797940267/the-
historyof-dialogue-other-peoples-papers)
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SEN1072
Course Title: Fundamentals of Programming II
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
32 16 48 39 135
Target Group: G1Software Engineering Regular Program

Page | 48
Software Engineering Five Year Regular Program, AMU
Year /Semester Year: I, Semester: II
Pre-requisites Fundamentals of Programming I
Status of the Course Core
Course Description This course starts with overviewing functions and discusses the concept
of arrays, Strings, pointers, structures and files in detail. It also
discusses about the mechanics of running, testing, and debugging
programs and introduces object oriented programming.
Course Objective: After completing this course students should be able to:
 Apply the techniques of structured (functional) decomposition to
break a program into smaller pieces.
 Implement string, array, structures in simple programs
 Able to allocate and release memory locations dynamically
 Apply basic file I/O in programs
 Understands the differences between structural and object
oriented programming paradigms.
Course Outline
WEEK/ Date Topic
Over view of functions:
Week/Lecture

Arrays and Strings: Array definition, array declaration, Array


Initialization, Accessing Array Elements, Multidimensional Arrays,
string definition, string manipulation, getting string from keyboard,
arrays as parameters.
Pointers: Definition, The address-of operator &, Pointers and arrays,
Pointers and functions, Pointers and strings, Memory
management: new and delete, pointer manipulation
Structures and Classes: definition of structure, defining a structures,
records, accessing, defining class, Using Arrays with structures, Linked
lists

Page | 49
Software Engineering Five Year Regular Program, AMU
Working with files: File I/O, Opening Files, Opening a File for Writing,
Opening a File for Reading, Checking for File Open Errors, Closing a
File, Text Files vs. Binary Files
Debugging: What is Debugging? Commenting Out Code, Simple
Debugging with Print Statements, Making Debugging Print Statements
Conditional, Programs that Help You Debug Programs
Introduction to Object oriented programming:
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Lab……………………30% Date for Project Assessment/
Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference 1. Exploring Programming And Computer Science With C ++ By -
Owen L. Astrachan (McGraw Hill)
2. C++ How To Program – By Deitel&Deitel - (Addison Wesely)
3. Teach Yourself C++ By - Herbert Schildt - (Tmh)
4. Thinking In C++ By - Bruce Eckel - (Pearson Education, Second
Edition)
5. Standard C++ With Object-Oriented Programming By - Paul S
Wang - (Vikas Pub.)
6. Fundamental Of Computing With C ++ By - J.R. Hubbard,
Schaum’s Series
7. Complete Reference C ++ -By- Schildt (Tmh)
8. C++ Programming, By Al Stevens Wiley, Dream Tech
9. C ++ Programming - By - Ds. Mallik (Thomson Learning)
10. C ++ Programming -By-Herbert Schildt(Dream Tech Press)
11. Starting Out With C ++ By - Tony Gaddis (Dream Tech Press)

Page | 50
Software Engineering Five Year Regular Program, AMU
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2043
Course Title: Computer Organization and Architecture
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: II, Semester: I
Pre-requisites EEng1042 Digital Logic
Status of the Course Core
Course Description This course introduces students to basic computer organization and
architecture concepts. It covers: number systems, Boolean algebra,
digital logic circuits and their design, simple machine architecture,

Page | 51
Software Engineering Five Year Regular Program, AMU
genealogy of microprocessors, von Neumann architecture, the system
bus model, data representation and manipulation, organization of
instruction sets and program execution, microprocessor organization,
memory organization, organization of input and output subsystem, I/O
interface; instruction set design philosophies, parallel processing,
symmetric multiprocessing and clustering; case study of at least two
microprocessor families and other components of computing system..
Course Objective: To become familiar in following topics:
 How Computer Systems work & its basic principles
 How to analyze the system performance.
 Concepts behind advanced pipelining techniques.
 The current state of art in memory system design
 How I/O devices are being accessed and its principles.
 To provide the knowledge on Instruction Level Parallelism
 To impart the knowledge on nano programming

Course Goals  To apply the knowledge of performance metrics to find the


performance of systems.
 To create an assembly language program to program a
microprocessor system.
 To design a hardware component for an embedded system
 To deal with different types of computers
 To identify high performance architecture design
 To identify the problems in components of computer.
 To develop independent learning skills and be able to learn more
about different computer architectures and hardware.
 To learn & use the new technologies in computers.
 To use the knowledge of micro programming in the field of
speech processing.

Course Outline
Date Topic

Page | 52
Software Engineering Five Year Regular Program, AMU
Week/Date TOPIC TO BE DISCUSSED

Introduction
 Logic gates
 Boolean Algebra
 Combinational circuit
 Flip Flops
 Sequential circuits

Week/lecture Number Systems and Codes


 Data types
 Complements
 Fixed point representation
 Floating point representation
 Codes
Common Digital Components
 Integrated Circuits
 Decoders, multiplexers and registers
 Binary counters
 Memory units
QUIZ-1
Register Transfer Language and Micro Operations
 Register Transfer Language
 Bus and Memory Transfer
ASSIGNMENT -1
Register Transfer Language and Micro Operations
 Arithmetic and Logic Operations
 Shift Micro operations
TEST # 1

Page | 53
Software Engineering Five Year Regular Program, AMU
Basic Computer Organization and Design
 Instructional Code
 Computer Registers
 Computer Instructions
 Timing and Control
Basic Computer Organization and Design
 Memory Reference Instructions
 Design of Basic Computer
 Design of accumulator Logic
QUIZ -2
Central Processing Unit
 General Register Organization
 Stack Organization
 Instruction Formats
Central Processing Unit
 Addressing modes
 Data Transfer and Manipulation
 Program Control
 Characteristics of RISC and CISC
ASSIGNMENT -2
Memory Organization
 Memory Hierarchy
 Main Memory
 Cache memory
o Mapping Functions
 Direct Mapping
 Associative Mapping
 Set Associative Mapping

Page | 54
Software Engineering Five Year Regular Program, AMU
Memory Organization
 External Memory
o Magnetic Disks
o RAID Technology
o Optical disks
o Magnetic Tape
TEST # 2

Input-Output Organization
 Peripheral Devices
 Input-Output Interface
 Asynchronous Data Transfer
 Mode of Transfers
Input-Output Organization
 Priority Interrupts
 Direct Memory Access(DMA)
 Input-Output Processor(IOC)
 Serial Communication
Pipeline and Vector Processing
 Parallel Processing
 Pipelining
Pipeline and Vector Processing
 Vector Processing
 Multiprocessors
FINAL EXAM

Date of Exam:
Test 1…………………10%

Test 2…………………10%
Assessment
Assignment ……….….10% Submission Date:

Page | 55
Software Engineering Five Year Regular Program, AMU
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book: William Stalling, Computer Organization and Architecture:
Designing for Performance, 7th Edition, Prentice Hall, 2006
Reference books:
1. Andrew S. Tannenbaum , Structured Computer Organization, 4th
Edition, Prentice Hall, 1999
2. Mano M, moris, Computer System Architecture,3rd Edition,1993

3. B. Ram, Computer Fundamentals, Architecture and


Organization,2007

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


Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2081
Course Title: Object Oriented Programming
Instructor/Tutor

Page | 56
Software Engineering Five Year Regular Program, AMU
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 16 46 50 158
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: I
Pre-requisites SEN1072 Fundamentals of Programming II
Status of the Core
Course
Course Description Introduction to object-oriented programming. Emphasis on the
fundamentals of structured design with classes, including development,
testing, implementation, and documentation. Includes object-oriented
programming techniques, classes, and objects. The Java programming
language is used as the teaching vehicle for this course. Also see
the Expanded Course Description.
Course Objective: This course is aimed at students who wish to learn how to develop
applications in Java. This course will also provide an overview of Object
Oriented Programming concepts using Java.
Course Goals At the end of this course, students will be able to:

 Explain the notion of types and synthesize his/her own types as


needed to realize software specifications.
 Evaluate the quality of programs according to object oriented
principles.
 Through sufficient mastery of an object oriented programming
language, develop a software program of about 1000 lines from a
design or specification.

Course Outline
Date Topic

Page | 57
Software Engineering Five Year Regular Program, AMU
Introduction to Computers, Programming, and Java
Primitive Data Types and Operations Lab on Java IDE
Selection Statements

Loops
Methods
Arrays Chapter 8 Strings and Text I/O
Exceptions and Assertions
Objects and Classes
Inheritance and Polymorphism
Abstract Classes and Interfaces
Week/Lecture Object-Oriented Design
Getting Started with GUI Programming
Creating User Interfaces
Event Driven Programming
Java Database Programming
Remote Method Invocation

Java Server Pages

Multithreading
Networking
Advanced Swing Models
Menus, Toolbars, Dialogs
Containers, Layout Managers, and Borders
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.

Page | 58
Software Engineering Five Year Regular Program, AMU
Reference Introduction to Java Programming, By: Y. Daniel Liang. .
Summary of Teaching The learning–teaching methodology will be student-centered with
Learning Methods appropriate guidance of instructor/s during the students’ activities
.There will be Lecture, Demonstrations, Tutorials, Reading
assignments and Group Discussions
Summary of Assessment The course will be assessed using the different Continues
Methods Assessment methods like: Quizzes , Reading assessments,
Assignments, Project, Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2082
Course Title: Data structures and Algorithms
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 0 38 50 136
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: I
Pre-requisites Fundamentals of Programming II
Status of the Course Core
Course Description This course focuses on the study of data structures, algorithms and
program efficiency. Topics include: analysis of time and space

Page | 59
Software Engineering Five Year Regular Program, AMU
requirements of algorithms; program efficiency improving techniques,
abstract data types such as linked lists, stacks, queues, trees (traversal,
implementations); simple searching algorithms (linear search, binary
search, … ), simple sorting algorithms (bubble sort, insertion sort,
selection sort, … ), advanced sorting algorithms (merge sort, quick sort,
heap sort … )
Course Objective: The course aims:
- To introduce the most common data structures like stack, queue,
linked list
- To give alternate methods of data organization and representation
- To enable students use the concepts related to Data Structures and
Algorithms to solve real world problems
- To practice Recursion, Sorting, and Searching on the different data
structures
- To implement the data structures with a chosen programming
language
Course Outline
Date Topic
Week/Lecture Chapter 1: Introduction to Data Structures
1.1 Introduction
1.2 Abstract Data Type and Abstraction
Chapter 2 – Algorithm and Algorithm Analysis
2.1 Properties of Algorithm
2.2 Analysis of Algorithm

Page | 60
Software Engineering Five Year Regular Program, AMU
Chapter 3: Simple Sorting and Searching Algorithms
3.1 Sorting
3.1.1 Selection Sort
3.1.2 Bubble Sort
Week/Lecture 3.1.3 Insertion Sort
3.1.4 Pointer Sort
3.2 Searching
3.2.1 Linear/Sequential Searching
3.2.2 Binary Searching
Chapter 4: Linked Lists
4.1 Review on Pointer, Dynamic Memory allocation and De-
allocation
4.2 Singly Linked Lists
4.3 Doubly Linked Lists
4.4 Implementation of Linked Lists
Chapter 5: Stacks and Queues
 Basic Stack Operations
 Basic Queue Operations
 Implementation of Stacks and queues
Chapter 6: Tree Structures
6.1 Binary Trees and Binary Search Trees
6.2 Basic Tree Operations
6.3 Traversing in a Binary Tree
6.4 General Trees and Their Implementations
Chapter 7: Graphs
7.1 Introduction
7.2 Describing graphs
7.3 Directed Graphs
7.4 Traversing a graph

Page | 61
Software Engineering Five Year Regular Program, AMU
Chapter 8: Advanced Sorting and Searching
8.1 Sorting
8.1.1 Heap Sort
8.1.2 Quick Sort
8.1.3 Merge Sort
8.1.4 Shell Sort
8.2 Advanced Searching
8.2.1 Hashing

Final Exam
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book:

1. E. Horowitz, S.Sahni and Dinesh Mehta. Fundamentals of data


structures in C++, W.H Freeman and Company (1995
2. Sanjay Pahuja, A practical approach to data structures and
algorithms, New age International publishers, 2008
3. Weiss, Mark. Data structures and algorithm analysis in C,
Benjamin Cummings Publishing (1997)
4. The Design and Analysis of Computer Algorithms. Aho,
Hopcroft, and Ullman
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.

Page | 62
Software Engineering Five Year Regular Program, AMU
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2111
Course Title: Database Management Systems
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 16 50 164
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: I
Pre-requisites SENG1061 Introduction to Computing and Software Engineering
Status of the Course Core
Course Description This course is assumed to be the first course in database management
systems. It starts by introducing what database is and database systems,
and how it differs with the traditional file processing system. It then
deals with data models, ER diagrams, database design methods,
normalization, relational algebra and calculus, file organizations and
storage management, index structure for files, and SQL statements. The
course mainly emphasizes on basics of database systems how to retrieve

Page | 63
Software Engineering Five Year Regular Program, AMU
and modify data. It also deals different database environments
Course Objective: The primary objective of this course is to Understand database
normalization & functional dependency. Understand the principles of
relational database management systems and their languages.
Understand file organizations and storage management, and index
structure for files. Demonstrate queries in the relational algebra.
Demonstrate queries in the tuple relational calculus. Create a relational
database schema in SQL that incorporates key, entity integrity, and
referential integrity constraints
Course Goals By the end of this course, students will be able to:
 Understand what database is, database system and DBMS
 Differentiate database system from file system
 Identify the pros and cons of manual approach, file based
approach and database approach
 Understand the basic principles of database design systems
using different database models
 Appreciate the use of database system in the real world.
 Design different types of databases
Course Outline
Date Topic
Introduction to Database Systems
 Introduction to database system
 Database system and File System
 Characteristics of the Database Approach
Week/Lecture  Actors on the Scene
Database System Concepts and Architecture
 Data Models, Schema and Instances
 DBMS Architecture and Data Independence
 Database Language and Interface
 The Database System Environment
 Classification of DBMS

Page | 64
Software Engineering Five Year Regular Program, AMU
Database Modeling
 Introduction to ODL
 E/R Model
 Design principles, Network and hierarchical
Data Modelling using Entity Relationship Model
 Using High level Data Models for Database Design
 Entity types and Sets, Attributes and Keys
 Relationships, Roles and Structural Constraints
 Weak Entity Types
 Database Abstraction
 E/R Diagram naming conventions, and Design issues
Record Storage and Primary File Organization
 Introduction
 Operations on Files
 Files of Unordered Records (Heap Files)
 Files of Ordered Records (Sorted Files)
 Hashing Techniques
Index Structure for Files
 Types of Single level Ordered Index
 Dynamic Multilevel indexes using B-Trees and B+ Trees
 Indexes on Multiple Indexes
Database Design
 Introduction
 Functional Dependency
 Normalization
Structured Query Language(SQL)
 SQL Statements
 SQL Query
 Data Manipulation Language
 Constraints and Triggers

Page | 65
Software Engineering Five Year Regular Program, AMU
Date of Exam:
Test 1……….10%

Assignment ……….….10% Submission Date:

Assessment Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book:
 RamezElmasri and Shamkant B. Navathe (2000) Fundamentals of
Database Systems, 3rd edition.

Reference books:
 Massachusetts AddisonWesleyC. J. Date (2000) An Introduction
to Database Systems. Massachusetts: Addison Wesley
 Ramakrishna, Raghu & Johannes Gehrke (2000) Database
Management Systems, 2nd edition. McGraw Hill
 Shepherd John C. (1990) Database Management: Theory and
Practice. Boston: IRWIN
 Database Management Systems, 2/e. Raghu Ramakrishna &
Johannes Gehrke, McGraxv-Hiil, 1998.
 Database System Concepts 3/e. Abraham SibcrschatzH e r i y F
Korth& S. Sudarshan, McGraw-Hill,1997.
 A First Course in Database Systems, Jeffrey Ullman &Jennifer
Widom, Prentice-Hall,1997.
 Database System Implementation, Hector Garcia-Molina, Jeffrey
Ullman &Jennifer Widom, Prentice-Hall, 2000.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.

Page | 66
Software Engineering Five Year Regular Program, AMU
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2093
Course Title: Operating Systems
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 16 50 164
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: II
Pre-requisites Computer Organization and Architecture
Status of the Course Core
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,

Page | 67
Software Engineering Five Year Regular Program, AMU
paging, segmentation; file systems, access methods, directory structure,
file sharing and protection; security, authentication, intrusion detection,
encryption.
Course Objective: The primary objective of this course is Explain the objectives and
functions of modern operating systems and Describe the functions of a
contemporary operating system with respect to convenience, efficiency,
and the ability to evolve
Course Goals By the end of this course, students will be able to:
 Explain the different states that a task may pass through and the
data structures needed to support the management of many tasks.
 Explain conditions that lead to deadlock.
 Compare and contrast the common algorithms used for both
preemptive and non-preemptive scheduling of tasks in operating
systems, such as priority, performance comparison, and fair-share
schemes.
 Explain the concept of virtual memory and how it is realized in
hardware and software
Course Outline
Date Topic
Overview: Role and purpose of operating systems; history of operating
system development; functionality of a typical operating system; design
issues (efficiency, robustness, flexibility, portability, security,
compatibility)
Week/Lecture Basic principles: Structuring methods; abstractions, processes, and
resources; device organization; interrupts; user/system state transitions
Concurrency: The idea of concurrent execution; states and state
diagrams; implementation structures (ready lists, process control blocks,
and so forth); dispatching and context switching; interrupt handling in a
concurrent environment

Page | 68
Software Engineering Five Year Regular Program, AMU
Mutual exclusion: Definition of the “mutual exclusion” problem;
deadlock detection and prevention; solution strategies; models and
mechanisms (semaphores, monitors, condition variables, rendezvous);
producer-consumer problems; synchronization; multiprocessor issues
Scheduling: Preemptive and non-preemptive scheduling; scheduling
policies; processes and threads; real-time issues
Memory management: Review of physical memory and memory
management hardware; overlays, swapping, and partitions; paging and
segmentation; page placement and replacement policies; working sets
and thrashing; caching
Device management: Characteristics of serial and parallel devices;
abstracting device differences; buffering strategies; direct memory
access; recovery from failures
File systems: Fundamental concepts (data, metadata, operations,
organization, buffering, sequential vs. nonsequential files); content and
structure of directories;
file system techniques (partitioning, mounting and unmounting, virtual
file systems); memory-mapped files; special-purpose file systems;
naming, searching, and access; backup strategies
Security and protection: Overview of system security; policy/mechanism
separation; security methods and devices; protection, access, and
authentication; models of protection; memory protection; encryption;
recovery management
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment

Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:
Final Examination ……40% All Lectures

Page | 69
Software Engineering Five Year Regular Program, AMU
As per university schedule.
Reference Text book: Andrew Tanenbaum, Modern Operating Systems ,2nd
Edition, USA, Prentice- Hall, 2001
Reference books:
 William Stallings, operating Systems: Internals and Design
Principles,5th Edition , Prentice-Hall,2005
 Abraham Silberschatz, P.B. Galvin and G. Gagne, Operating
Systems Concepts, 6th Edition, John Wiley &Sons ,2006

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


Teaching Learning appropriate guidance of instructor/s during the students’ activities
Methods .There will be Lecture, Demonstrations, Lab work Tutorials, Reading
assignments and Group Discussions
Summary of The course will be assessed using the different assessment methods
Assessment like: Quizzes , Reading assessments, Assignments, Project, Lab
Methods exam and Final exam

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2131
Course Title: Object Oriented System Analysis and Design
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total

Page | 70
Software Engineering Five Year Regular Program, AMU
48 0 32 55 135
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: I
Pre-requisites Introduction to Computing and Software Engineering
Status of the Course Core
Course Description This course will explore the Introduction to Object Technology;
Principles of Modeling, Principles of Object Orientation; systems
development using the object technology; Modeling; principles of
modeling; requirements gathering and modeling using use case;
techniques of modeling static and dynamic aspects of systems; finding
classes and objects; Interaction Diagrams - sequence and collaboration
diagrams; Class Diagrams; object diagram; activity diagram; Statechart
diagrams; component diagram; deployment diagram. Individual and/or
team project involving reports and walk-through in systems analysis and
design is also a major component of this course using CASE tools.
Course Objective: At the end of the course students will be able to:
 Understand the object technology and modeling principles.
 Know the techniques of modeling aspects of systems
 Analyze user requirements using UML of OO techniques.
Make a detailed design using UML of OO techniques.
Course Outline
Date Topic
Brief Introduction about the course
Week/Lecture

Page | 71
Software Engineering Five Year Regular Program, AMU
Chapter 1: Understanding the Basics :Object oriented concepts
1.1 OO concepts from structured point of view
o Abstraction, Encapsulation and information hiding
o inheritance
o Association
o Aggregation
o Collaboration
o Persistence
o Coupling
o Cohesion
o polymorphism
o Interfaces
o components
o Patterns
Chapter 2: Object Orientation the new software paradigm
1.1.The potential benefits of object orientation
1.2.The potential drawbacks of object orientation
1.3.Object standards
1.4.The object orientation software process
Chapter 3: Gathering user requirements
3.1. Putting together requirements gathering team
3.2. Fundamental requirements gathering techniques
3.3. Essential Use Case Modeling
3.4. Essential User Interface Prototyping
3.5. Domain modeling with class responsibility collaborator (CRC)
cards
3.6. Developing a supplementary Specification
3.7. Identifying Change Cases
Chapter 4:Ensuring Your Requirements Are correct: Requirement
validation Techniques
4.1. Testing Early and Often
4.2. Use Case Scenario Testing

Page | 72
Software Engineering Five Year Regular Program, AMU
Chapter 5: Determining What to Build: OO Analysis
5.1. System Use Case Modeling
5.2. Sequence Diagrams: From Use Cases to Classes
5.3. Conceptual Modeling :Class diagrams
5.4. Activity diagramming
5.5. User interface prototyping Evolving your supplementary
specification
5.6. Applying Analysis patterns Effectively
5.7. User Documentation
5.8. Organizing your models with packages
Chapter 6 : Determining How to Build Your System: OO Design
6.1. Layering your models :Class Type Architecture
6.2. Class Modeling
6.3. Applying Design Patterns Effectively
6.4. State chart modeling
6.5. Collaboration Modeling
6.6. Component Modeling
6.7. Deployment Modeling
6.8. Rational Persistence Modeling
6.9. User Interface Design
Chapter 7: Object Oriented Testing

Chapter 8 : Software process

Project Presentation

Date of Exam:
Test 1…………………10%
Assessment
Test 2…………………10%

Page | 73
Software Engineering Five Year Regular Program, AMU
Assignment ……….….10% Submission Date:

Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book
 Ambler, S. W. (2001).The Object primer: The Application
Developer’s Guide to Object Orientation and the UML Second
edition .New York. Cambridge University Press
References
 Booch G., (2000).Object oriented analysis and design with
applications, Second Edition, Pearson Education,Inc.
 Hoffer J.,George J. ,Valacich J. . (2008). Modern Systems
Analalysis and Design. 5th Edition. Pearson Education.
 Subburaj R. (2003).Object Oriented with C++ ANSI/ISO
Standard.Vikas Publishing House PVT LTD.
 Priestley M. (2003).Practical Object oriented Design with UML.
second Edition McGraw-Hill Education.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class.

Page | 74
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2083
Course Title: Advanced programming
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 16 50 164
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: II
Pre-requisites Object Oriented Programming
Status of the Course Core
Course Description This course covers topics on Java which includes:, AWT and Swing,
I/O Streams, Multithreading, Network Programming, Java database
connectivity (JDBC), RMI, and Introduction to Servlets.
Course Objective: The primary objective of this course is to provide experience for the
student, and in particular to promote a successful transition to the work
place or further academic study. Research methodologies and related
topics are introduced
Course Goals At the end of this course, students should be able to:
- Carry out design and development of complex elements, such as
user interfaces, multiprocessing, and fault-tolerant components;
- Write TCP/IP Client Server applications using Sockets;
- Write Java applications using the JDBC to make database

Page | 75
Software Engineering Five Year Regular Program, AMU
independent queries; and
- Call methods remotely.

Course Outline
Date Topic
Chapter 1 - AWT and Swing
1.1.Concepts of AWT and Swing
 Frame, label, Button, TextField, ComboBox, …
 JFrame, JLabel, JButton, JtextField, JComboBox, …
1.2.Event Handling
 Sources
 Listeners
Chapter 2 – Streams and File I/O
2.1. Streams
2.2. Various Stream classes
Week/Lecture 2.3. Using Streams
2.4. Object Streams
2.5. File Management
Chapter 3 – Multi threading Concept
3.1. Threads Vs process
3.2. Multiple threads
3.3. Thread priorities
3.4. Synchronization
Chapter 4 – Networking in Java
4.1. Connecting to a server
4.2. Implementing Servers in Java
4.3. Sockets, ports, URIs

Page | 76
Software Engineering Five Year Regular Program, AMU
Chapter 5 – Remote Method Invocation
5.1. Overview of RMI
5.2. The RMI Registry
5.3. The Remote Interface
5.4. Implementing RMI
Chapter 6 – Java Database Connectivity
6.1. Database Systems – an Introduction
6.2. Structured Query Language
6.3. Installing and setting up JDBC
6.4. Basic JDBC Programming concepts
6.5. Populating a database
6.6. Executing Queries
6.7. Scrollable and Updateable Result Sets
Chapter 7 – Servlets
7.1.Servlet Overview and Architecture
7.2.Handling HTTP get Request
7.3.Handling HTTP get Requests Containing Data
7.4.Handling HTTP post request
7.5.Redirecting Requests to Other Resources
7.6.Multi-Tier Applications: Using JDBC from a Servlet
Chapter 8 –
JavaBeans:- The Basic Bean, Bean Properties, Bound Properties,
Constrained Properties, Visual Beans, Packaging Beans
Java Security:- The Java Date of Exam:
Security Model, Policy Entries,
Policy Files, Using the Policy
Tool, Security Managers,
Default Applet Security
Assessment
Assignment ……….….10% Submission Date:

Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:

Page | 77
Software Engineering Five Year Regular Program, AMU
Final Examination ……40% All Lectures
As per university schedule.
Reference Required Texts:

1. S. Horstmann and Gary Cornell, Core Java 2 – Volume II-


Advanced Features, Sun Microsystems Press
2. Harvey M. Deitel and Paul J. Deitel, Java How to Program,
Deitel& Associates Inc.
3. java.sun.com/docs/books/tutorial
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentationwill be a group project and will be presented in
class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code Stat 2053
Course Title: Probability and Statistics
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5

Page | 78
Software Engineering Five Year Regular Program, AMU
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: I
Pre-requisites None
Status of the Course Core
Course Description The subject matter statistics, methods of presentation: frequency
distributions and graphical presentation, measures of Central tendency,
dispersion and shape detailed discussion, analysis and comparison of
various measures, basic concepts of probability, conditional probability,
independent events, Baye's formula, random variables, discrete and
continuous, distribution and density functions, variance, standard
deviation, point estimation and confidence interval, hypothesis testing,
linear regression and curve fitting, Distributions: Binomial
Course Goals At the end of this course students will be able to:
 Summarize concepts in probability and statistics;
 Select inferential procedures appropriate to certain elementary
statistical problems involving means and proportions,
 Interpret statements of statistical inference based on calculations
of confidence intervals, observed significance levels, correlation
coefficients,
Calculate certain probabilities in terms of other more elementary
probabilities which arise in the discussion of statistical
phenomena
Course Outline
Date Topic
Week/Lecture
1
(2 Hours)
Date of Exam:
Assessment Test 1…………………10%

Page | 79
Software Engineering Five Year Regular Program, AMU
Test 2…………………10%

Assignment ……….….10% Submission Date:

Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code COSC2191
Course Title: Microprocessor
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135

Page | 80
Software Engineering Five Year Regular Program, AMU
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: II
Pre-requisites Computer Organization & Architecture
Status of the Course Core
Course Description Microprocessor architecture; memory organization; assembly language
programming; microprocessor assemblers; use of microprocessor
boards; memory and I/O interfaces; programming peripherals; interrupt
system programming; microprocessor system design and applications.
Course Goals By the end of this course, students will be able to:
 Become familiar with the basic components of 8086 instruction
set architecture.
 Inspect and modify 8086 processor registers and memory.
 Use assembler to develop and run assembly language programs.
 Identify registry, memory allocation, memory reference
techniques, File processing, modular programming etc
 Identify how to interface serial and parallel I/O devices with a
microprocessor
Write code to process exceptions and interrupts
Course Outline
Date Topic
 Introduction to the Microprocessor and computer
 The Microprocessor and its Architecture
 Addressing Modes
 The Microprocessor and its Architecture
Week/Lecture
 Addressing Modes
 Data Movement Instruction.
 Arithmetic and Logic Instruction.
 Program Control Instruction
QUIZ-1

Page | 81
Software Engineering Five Year Regular Program, AMU
 Programming the Microprocessor.
 8086/8088 Hardware Specification.
ASSIGNMENT -1
 The Arithmetic Coprocessor
 Memory Interface.
 Basic I/O Interface
 Bus Interface
TEST # 1
Computer organization
o Memory
o CPU
Computer organization
o The 80x86 family of CPUs
o Interrupts
o Registers
QUIZ -2
Assembly Languages
 Machine language
 Assembly languages
Assembly Languages
 Instruction operands
 Basic instructions
 Directives
ASSIGNMENT -2
Creating a program
 First program
 Compiler dependencies
 Assembling the code

Page | 82
Software Engineering Five Year Regular Program, AMU
Basic Assembly Language
 Control structures
o Comparisons
o Branch Instructions
 Control structures
o The loop instructions
Procedure and Functions
 Procedures
 Functions
 saving the state of the machine
 parameters
Instructions Types
 Stack instructions
 Integral ALU instructions
Instructions Types
 Floating point instructions
 Data manipulation instructions
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book:
TheIntel Microprocessors 8086/8088, 80186/80188, 80286, 80486,
Pentium and Pentium processor – Architecture, Programming and
Interfacing By Barry B Brey. 4th Edition, prentice Hall – India – 2002
Reference books:

Page | 83
Software Engineering Five Year Regular Program, AMU
1. Ouglas v. Hall 'Microprocessors and Interfacing', tatamcgraw hill
2. Uffenbeck 'Microcomputers and Interfacing', prentice hall
3. Ram 'Fundamentals of Microprocessors and Microcomputers',
DhanpatRai
4. Ompkins 'PC interfacing', prentice hall
5. Richard Trooper, Assembly Language Programming the IBM PC,
McGraw Hill,1994
6. VladPirogov, The Assembly Programming Master Book, 2006
7. Peter Abel, IBM PC Assembly Language and Programming, 5h
Edition, 2001
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3121
Course Title: Web Design and Programming
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7

Page | 84
Software Engineering Five Year Regular Program, AMU
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 16 50 164
Target Group: G2Software Engineering Regular Program
Year /Semester Year: III, Semester: I
Pre-requisites None
Status of the Course Core
Course Description This course will provide a basic understanding of the methods and
techniques of developing a simple to moderately complex web site.
Using the current standard web page language, students will be
instructed on creating and maintaining a simple web site. After the
foundation language has been established, the aid of an web editor will
be introduced. A second web-based language will be included to further
enhance the web sites.
Course Objective: The primary objective of this course is to
Learn website development and design concepts.

Course Outline
Date Topic
HTML Common tags- List, Tables, images, forms, Frames; Cascading
Style sheets;
Introduction to Java Scripts, Objects in Java Script, Dynamic HTML
with Java Script, CSS
XML: Document type definition, XML Schemas, Document Object
Week/Lecture
model, Presenting XML, Using XML Processors: DOM and SAX
Review of Applets, Class, Event Handling, AWT Programming.
Introduction to Swing: JApplet, Handling Swing Controls like Icons –
Labels – Buttons – Text Boxes – Combo – Boxes – Tabbed Pains –
Scroll Pains – Trees – Tables Differences between AWT Controls &
Swing Controls Developing a Home page using Applet & Swing

Page | 85
Software Engineering Five Year Regular Program, AMU
Java Beans: Introduction to Java Beans, Advantages of Java Beans, BDK
Introspection, Using Bound properties, Bean Info Interface, Constrained
properties Persistence, Customizes, Java Beans API.
Web servers: Tomcat Server installation & Testing.
Introduction to Servelets: Lifecycle of a Serverlet, JSDK The Servelet
API, The javax.servelet Package, Reading Servelet parameters, Reading
Initialization parameters.
More on Servlets: The javax.servelet HTTP package, Handling Http
Request & Responses, Using Cookies-Session Tracking, Security Issues.
Introduction to JSP: The Problem with Servelet. The Anatomy of a JSP
Page, JSP Processing. JSP Application Design with MVC architecture.
AJAX.
JSP Application Development: Generating Dynamic Content, Using
Scripting Elements
Implicit JSP Objects, Conditional Processing – Displaying Values Using
an Expression to Set an Attribute, Declaring Variables and Methods
Error Handling and Debugging Sharing Data Between JSP pages,
Requests, and Users Passing Control and Date between Pages – Sharing
Session and Application Data – Memory Usage Considerations
Database Access Database Programming using JDBC Studying
Javax.sql.* package Accessing a Database from a JSP Page Application –
Specific Database Actions Deploying JAVA Beans in a JSP Page
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.

Page | 86
Software Engineering Five Year Regular Program, AMU
Reference TEXT BOOKS:
1. Web Programming, building internet applications, Chris Bates 2nd
edition,
WILEY Dreamtech (UNIT 1,2)
2. The complete Reference Java 2 Fifth Edition ,PatrickNaughton and
Herbert Schildt., TMH (Chapters: 25) (UNIT 2,3)
3. Java Server Pages –Hans Bergsten, SPD O’Reilly (UNITs 3,4,5)
REFERENCE BOOKS:
1. Programming world wide web-Sebesta,Pearson Core
SERVLETS ANDJAVASERVER PAGES VOLUME 1: CORE
TECHNOLOGIES , Marty Hall and Larry Brown Pearson
2. Internet and World Wide Web – How to program ,Dietel and
Nieto PHI/Pearson.
3. Jakarta Struts Cookbook , Bill Siggelkow, S P D O’Reilly for
chap 8.Murach’s beginning JAVA JDK 5, Murach, SPD
4. An Introduction to web Design and Programming –Wang-
Thomson Professional Java Server Programming,S.Allamaraju
and othersApress(dreamtech).
5. Java Server Programming ,Ivan Bayross and others,The X
Team,SPD
6. Web Warrior Guide to Web Programmming-Bai/Ekedaw-Thomas
7. Beginning Web Programming-Jon Duckett WROX.
8. Java Server Pages, Pekowsky, Pearson.
9. Java Script,D.Flanagan,O’Reilly,SPD.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class

Page | 87
Software Engineering Five Year Regular Program, AMU
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given.If not the student will be penalized 10% of the total mark
of the assignment. They may be individual or group work.
Project (Paper and These consist of activities for directly applying and integrating the
Presentation) concepts presented in the course. You will be given a case scenario to use
in the development of the project. These projects will require you to use
critical thinking skills, logical analysis, and creativity. They may be
individual or group projects.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2132
Course Title: Software Requirements Engineering
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: II
Pre-requisites Object Oriented System Analysis and Design

Page | 88
Software Engineering Five Year Regular Program, AMU
Status of the Course Core
Course Description Techniques for eliciting requirements. Languages and models for
representing requirements. Analysis and validation techniques,
including need, goal and use-case analysis. Requirements in the context
of system engineering. Specifying and measuring external qualities:
performance, reliability, availability, safety, security, etc. Specifying
and analyzing requirements for various types of systems: embedded
systems, consumer systems, web-based systems, business systems,
systems for scientists and other engineers. Resolving feature
interactions. Requirements documentation standards. Traceability.
Human factors. Requirements in the context agile processes.
Requirements management: Handling requirements changes.
Course Objectives Upon successful completion of this course, students will:
• Understand the need for requirements for large-scale systems.
• Understand the stakeholders involved in requirements
engineering.
• Understand requirements engineering processes.
• Understand models of requirements.
• Understand functional requirements.
• Understand non-functional requirements.
• Understand scenario analysis
• Understand object-oriented and goal-oriented requirements
engineering.

Page | 89
Software Engineering Five Year Regular Program, AMU
Course Goals Upon completion of this course, students will have the ability to:

 Elicit requirements using a variety of techniques


 Organize and prioritize requirements
 Apply analysis techniques such as needs analysis, goal analysis,
and use case analysis
 Validate requirements according to criteria such as feasibility,
clarity, freedom from ambiguity, etc.
 Represent functional and non-functional requirements for
different types of systems using formal and informal techniques
 Specify and measure quality attributes
 Negotiate among different stakeholders in order to agree on a set
of requirements
 Detect and resolve feature interactions

Course Outline
Date Topic

Page | 90
Software Engineering Five Year Regular Program, AMU
1. Basics of requirements engineering
o definition of requirements engineering
o importance of requirements engineering
o place of requirements engineering in development process
o types of requirements: functional requirements, non-
functional requirements, quality attributes
o main requirements engineering activities, documents and
processes
2. Requirements inception and elicitation
o product vision and project scope
o traditional elicitation approaches (interviews, stakeholders
study, workshops, ...)
o scenario/use case approaches
o prototyping
o requirements negotiation and risk management
Week/Lecture 3. Requirements analysis and specification - modeling techniques
o inception vs. specification
o techniques for writing high-quality requirements
o documentation standards (e.g., IEEE 830-1998)
o goal-oriented modeling
o Structured analysis and other techniques
o UML v2 and URN notations
o external qualities management, contract specification
4. Requirements verification, and validation
o detection of conflicts and inconsistencies, completeness
o techniques for inspection, verification and validation
o feature interaction analysis and resolution
5. Requirements management
o traceability, priorities, changes, baselines
o tool support (e.g., DOORS)

Page | 91
Software Engineering Five Year Regular Program, AMU
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference  Strongly recommended for this course: Ian K. Bray, An
Introduction to Requirements Engineering, Addison Wesley,
2002
 Also recommended:
o Ian F. Alexander, Richard Stevens, Writing better
requirements, Addison-Wesley, 2002 - for the topic of
how to write requirements
o Elizabeth Hull, Ken Jackson, Jeremy Dick, Requirements
Engineering, Springer-Verlag, 2004 - for the topic of
tracability and an introduction to the DOORS tool
 Other interesting books providing more details on the different
aspects of requirements engineering:
o Karl E. Wiegers, Software Requirements, Microsoft Press,
2003
o Axel van Lamsweerde, Requirements Engineering: From
System Goals to UML Models to Software Specifications,
Wiley, 2009.
o Ian Alexander and Ljerka Beus-Dukic, Discovering
Requirements: How to Specify Products and Services,
Wiley, 2010,
o Klaus Pohl, Requirements Engineering - Fundamentals,
Principles, and Techniques, Springer, 2010 (to be

Page | 92
Software Engineering Five Year Regular Program, AMU
published), ISBN 978-3-642-12577-5 (l

Summary of The course will be delivered in lectures (with a participatory approach) -


Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given. If not the student will be penalized 10% of the total mark
of the assignment. They may be individual or group work.
Project (Paper and These consist of activities for directly applying and integrating the
Presentation) concepts presented in the course. You will be given a case scenario to use
in the development of the project. These projects will require you to use
critical thinking skills, logical analysis, and creativity. They may be
individual or group projects.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG2113
Course Title: Database Administration
Instructor/Tutor

Page | 93
Software Engineering Five Year Regular Program, AMU
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 55 0 135
Target Group: G2Software Engineering Regular Program
Year /Semester Year: II, Semester: II
Pre-requisites None
Status of the Course Core
Course Description The student will be able to gain suitable expertise in maintenance of a
database its availability and to ensure security controls are adequate and
are functioning as intended within the operating system.
Course Objective: The primary objective of this course is to provide experience for the
student, and in particular to promote a successful transition to the work
place or further academic study. Research methodologies and related
topics are introduced
Course Goals Provide students with the opportunity to build upon the knowledge
learned in
 Database Systems (COP4710/COP5725)
 Prepare students for an entry-level database administration
position
 Demonstrate to students how to manage database services and
clients
 Demonstrate to students how to implement and configure a
database environment
 Explain to students best practices for data management
 Demonstrate and apply database optimization, maintenance and
recovery
 procedure
Course Outline

Page | 94
Software Engineering Five Year Regular Program, AMU
Date Topic
Introduction: DBMS architecture and data independence, DBA roles and
responsibilities
SQL *PLUS Overview: SQL Plus Fundamentals, Producing more
readable outputs, Accepting values at urntime, Using iSQL *Plus
Modifying Data: Introduction to DML Statements, Truncating a table,
Transaction control language. Managing Constraints: Creating
constraints, Dropping constraints, enabling and disabling constaints,
deferring constraints checks
Managing Views: Creating and modifying views, Using views, Inserting,
Updating and deleting data through view
Week/Lecture User Access and Security: Creating and modifying use accounts, creating
and using roles, granting and revoking privileges, Managing user groups
with profile
Oracle Overview and Architecture: An overview of logical an physical
storage structures, Oracle memory structures, Oracle background
processes, connecting to oracle instance, processing SQL command
Introduction to Network Administration: Network design considerations,
network responsibilities for the DBA, network configuration, Overview
of oracle Net features, Oracle Net Stack Architecture. Backup and
Recovery Overview: Database backup, restoration and recovery, Types
of failure in oracle environment, defining a backup and recovery strategy,
Testing the backup and recovery plan
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment

Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:
Final Examination ……40% All Lectures

Page | 95
Software Engineering Five Year Regular Program, AMU
As per university schedule.
Reference  C.J. Date, Database Systems, Addison Wesley, 2000
 Chip Dawes, Biju Thomas, Introduction to Oracle 9i SQL, BPB,
2002
 Bob Bryla, Biju Thomas, Oracle 9i DBA Fundamental I, BPB,
2002
 Doug Stums, Matthew Weshan, Oracle 9i DBA Fundamental I,
BPB, 2002
 Joseph C. Johnson, Oracle 9i Performance Tuning., BPB, 2002.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentationwill be a group project and will be presented in
class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG4092
Course Title: Principles of Compiler Design
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:

Page | 96
Software Engineering Five Year Regular Program, AMU
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 16 50 135
Target Group: G3Software Engineering Regular Program
Year /Semester Year: IV, Semester: I
Pre-requisites None

Status of the Course Core


Course Description The course builds on the student's core knowledge of languages,
grammars and programming and provides an opportunity to see how
these core areas can come together to form an application area
Course Objective:  The primary objective of this course is to learn basic data
structures used in compiler construction such as abstract
syntax trees, symbol tables, three-address code, and stack
machines.
 To learn software tools used in compiler construction such
as lexical analyzer generators, and parser generators.

Course Goals By the end of this course, students will be able to:
 Implementing a small compiler using modern compiler writing
tools.
 Providing the student with skills and knowledge (such as lexical
analysis and parsing) which are applicable to a broad range of
computer science application areas (such as text editors,
information retrieval, etc...).
Course Outline
Date Topic

Page | 97
Software Engineering Five Year Regular Program, AMU
Chapter 1: Overview of Finite Automata, Compilation and
Translation
 Finite Automata, DFA, NFA,NFA to DFA
 Introduction to compiling
 Parts of compilation
 Phases of compilation
 Analysis of source program
 Cross compiler
Chapter 2: Lexical Analysis
 Introduction to Lexical analyzer
 The role of Lexical Analyzer
 Regular Expressions
Week/Lecture
 Language for specifying Lexical Analyzer
- LEX
-YACC
Chapter 3: Syntax Analysis
 The role of parser
 Context-free Grammars
- Left-most Derivation
- Right-most Derivation
 Parsing
- Top down parsing
- LL parsers
- Bottom up parsing
- LR parsers

Page | 98
Software Engineering Five Year Regular Program, AMU
Chapter 4: Semantic Analysis
 Semantic analysis
 Types and declarations
 Type Checking
 Designing a type checker
 Symbol tables
Syntax directed translation
Chapter 5: Code-generation
 Issues in the design of code generation
 Target Machine
 Instruction costs
 Runt-time storage management
 Intermediate code generation
Final code generation
Chapter 6: Code Optimization
 Classification of Optimization
- Machine dependent optimization
- Machine independent optimization
 Principal sources of Optimization
 Optimization of Basic Blocks
 Loops in flow graphs
Peephole Optimization
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.

Page | 99
Software Engineering Five Year Regular Program, AMU
Reference Text books: Alfred Aho, Ravi Sethi, V.Jeffery Ullman D.
“COMPILERS PRINCIPLES, TECHINQUES AND TOOLS “, Addison-
Wesley, 1988.
Reference Books:
 Allen Holub l. “Compiler Design in C”, Prentice Hall of India.
1990.
 Charles N.Fischer Richard J.Leblanc, “Crafting a compiler with
C”, Benjamin Cummings, 1991
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3084
Course Title: Mobile Programming
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total

Page | 100
Software Engineering Five Year Regular Program, AMU
48 0 32 55 135
Target Group: G3Software Engineering Regular Program
Year /Semester Year: III, Semester: I
Pre-requisites None
Status of the Course Core
Course Description This course involves a careful examination of mobile device
programming. Emphases are on developing applications as a
community that run on the Android platform. Students planning to
enroll in this course should have background in computer science and
be familiar with Java, XML, and unix. This course will also give
students insight to today's common procedures for getting their mobile
application work academically published.
Course Objective: The assignments and structure of the class is organized to accomplish
the following learning objectives:
 Be competent in programming in an event-based model used in
application development for mobile devices
 Be able to write and deploy a content based application using a
mobile computing software framework
 Be able to describe the differences in software development
between mobile device programming and server application
programming, and develop applications that incorporate both
programming methods to efficiently construct a single
application task.
Course Goals Students completing this course are expected to be able to:
 Understand the unique aspects of mobile application design.
 Work in resource sensitive and resolution variant environments.
 Develop applications with location awareness and hardware
sensors.
 Understand the use of a mobile device API.
 Develop applications in a client-server environment.
Course Outline

Page | 101
Software Engineering Five Year Regular Program, AMU
Date Topic
User-interaction design and requirements design
 Graphical User Interfaces and Event-Driven Programming
 Advanced Object-Oriented Programming
 Robust design and programming for user constraints (application
interruption, application responsiveness, partial user engagement)
Week/Lecture  Robust design and programming for device constraints (power
consumption, screen size, network connectivity, memory
limitations)
 Data distribution: distribution types, basic parsing, distribution
security.
 Location awareness, messaging, and other connections between the
device and the outside world.
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference A majority of the relevant material for this course will come from online
resources, API documentation, and notes written specically for this
course
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,

Page | 102
Software Engineering Five Year Regular Program, AMU
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3101
Course Title: Data Communication and Computer Networks
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 16 50 164
Target Group: G3Software Engineering Regular Program
Year /Semester Year: III, Semester: I
Pre-requisites Introduction to Computing and Software Engineering

Status of the Course Core


Course Description This course will explore the various types of the data communication
systems, networks and their applications. Concept & terminologies like
computer networks, layer architecture (OSI & TCP/IP), network
hardware, network software, standardization, network medium, and IP
addressing will be explored. The practical aspect will deal with building
small to medium level networks including Cabling, Configuring

Page | 103
Software Engineering Five Year Regular Program, AMU
TCP/IP, Peer to Peer Networking, Sharing resources, Client Server
Networking.
Course Objective: The primary objective of this course is to provide experience for the
student, and in particular to promote a successful transition to the work
place or further academic study. Research methodologies and related
topics are introduced
Course Goals By the end of this course, students will be able to:
 Understand the concepts and principles of data communications
and computer networks
 Understand data transmission and transmission media
 Understand Protocols and various networking components
 Understand TCP/IP & OSI Reference Model
 Understand LAN and WAN technologies
 Understand and implement IP addressing.
 Build small to medium level Computer networks
Course Outline
Date Topic
Data Communication Basics :
o Communication Basics
o Data Representation techniques
o Digital Data Transmission formats
o Transmission Impairments

Week/lecture o Modes of Data transmission


o Multiplexing
o Signal Encoding Techniques
o Data Transmission Error Detection and Correction
ASSIGNMENT -1

Page | 104
Software Engineering Five Year Regular Program, AMU
Introduction to Computer Networks:
o Computer Network and its Applications
o Computer Network Types
o Computer Network Topologies
Week/lecture o Computer Network Components
o Computer Network Models
Data Communication and Transmission Medias
o Guided Media Types: Twisted Pair cable, Coaxial Cable and Fiber
Optic Cable
o Unguided Media Types: Wireless Media,Wireless LAN, Terrestrial
Microwave and Satellite communication
Layered Models
o Communication and Layer Architecture
o The Need for Layer Architecture
o Open System Interconnection (OSI) Model
o The Seven Layers of an OSI Model
 Peer-to-peer Processes
 Encapsulation
 Physical Layer and its responsibilities
 Data-link and its responsibilities: Error Detection and Correction,
Data Link Control, Data Link layer Protocols
o Network Layer and Routing
 Introduction
 Network layer and its services
 The Internet Protocol
 Internet Control Message Protocol
 Routing
 Routing in the Internet

Page | 105
Software Engineering Five Year Regular Program, AMU
Internet Protocol and IP addressing
o Introduction to Addressing: Physical addressing, Logical addressing,
Port Addressing and Specific Addresses
o IP as a Routed Protocol
o Packet Propagation
o IP Addressing Scheme
 Class full addressing Scheme and Subnet masking
 Classless IP addressing Scheme and Subnet masking
o Subnetting
o IPv6: structure, Address space
Address Mapping, Error Reporting and Multicasting
 Address Mapping:
 Logical to Physical Address Mapping –ARP
 Physical to Logical Address Mapping -RARP
 ICMP: Types of Messages, Message Format, Error Reporting
and Query
 IGMP: Group Management, IGMP Messages, Message Format,
IGMP Operation, Encapsulation, Netstat
 ICMPv6
o Transport Layer and its services
 Multiplexing/Demultiplexing
 Connectionless Transport: UDP
 Reliable Data Transfer: TCP
 Congestion Control
o Application Layers: Session, Presentation, and Application Layers
o The TCP/IP Model
LAN Technologies
o LAN Devices: Repeaters, Hubs, Bridges and Switches
o LAN Technology Options

Page | 106
Software Engineering Five Year Regular Program, AMU
WAN Technologies
o WAN Devices: Routers, Layer 3 Switches and Gateways
o WAN Technology Options
Computer Network Security Basics
 The importance of Network Security
 Techniques of Network Security, Encryption and Decryption
Techniques, Access Control and Firewalls, Attacks and
Countermeasures
Revision Week

FINAL EXAM Date of Exam:

LAB EXAMINATION

PROJECT EVALUATION

Assignment ……….….10% Submission Date:

Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book:Data Communications and Networking, 4th Edition, Behrouz
A. Forouzan
Reference books:

1. Computer Networks Prentice Hall of India Publication, A S


Tannenbaum, 2003
2. Data and Computer Communication, 8th edition Pearson Printice
Hall, William Stallings, 2007
3. Computer Networking. Kurose & Ross. Addison Wesley
4. , Computer Networks and Internet, Pearson Edu.Inc, Douglas E.
comer , 2002

Page | 107
Software Engineering Five Year Regular Program, AMU
5. Computer Networking, Pearson Edu. Inc.,James F. Kurose,2003
Any Cisco Material (CCNA Module1) will be helpful
Summary of This course wills focus on writing strategies. Emphasis will be on
Teaching Learning development of sentence structure and sentence variety to the paragraph
Methods level. The sentence level writing includes writing accurate sentences i.e.
avoiding fragments
Summary of This course wills focus on writing strategies. Emphasis will be on
Assessment development of sentence structure and sentence variety to the paragraph
Methods level. The sentence level writing includes writing accurate sentences i.e.
avoiding fragments

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG4122
Course Title: Web Services
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits 5
(CP)
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 10 32 45 135
Target Group: G3Software Engineering Regular Program
Year /Semester Year: IV, Semester: I
Pre-requisites SENG3121 Web Design and Programming

Page | 108
Software Engineering Five Year Regular Program, AMU
Status of the Core
Course
Course This course will provide a basic understanding of the methods and
Description techniques of developing a simple to moderately complex web site. Using
the current standard web page language, students will be instructed on
creating and maintaining a simple web site. After the foundation language
has been established, the aid of an web editor will be introduced. A second
web-based language will be included to further enhance the web sites.
Course Objective: In this course, students will:
 Review the history of distributed systems with an examination of
traditional client server models, RPC and RMI. To examine how
client-server design fits into a web context.
 Examine and understand the different design models for web services –
specifically to understand the difference between restful web services
and message oriented web services.
 To implement various types of web services using servlet, EJB and web
service abstract class structures.
 Understand and implement public interfaces using Interface Definition
Languages and IDL compilers including Reflection and other interface
query mechanisms
 Design and develop web systems that allow people to conduct business.
 Understand the nature, functionality, and limitations of various
standards and specifications that support service orientation,
specifically the XML parser architecture and the various parser API’s –
i.e. SAX, DOM, and Trax.
 DBMS APIs and SQL will be reviewed and XML databases and
XQuery will be introduced.
 Directory Services, Application Servers and Registries.
 Security and configuration issues for enterprise systems.
 Design issues for n-tier distributed systems.
 The design of marketplaces

Page | 109
Software Engineering Five Year Regular Program, AMU
Course Goals The goals of this capstone course are as follows:

 To provide students with a high level design experience that allows


them to integrate the knowledge and skills they have developed during
the program.
 To provide students with an opportunity to implement a network
based application modeled in terms of a “Service Oriented
Architecture.
 To explore the new kinds of capability that may be developed and
deployed using loosely coupled services with published interfaces and
dynamic composition.
 To provide students with a hands on experience with the full range of
technologies that support service oriented approaches.
 To provide students with an opportunity to reflect on the differences
between traditional client server, SOA, and Web service approaches to
systems.

Course Outline
Date Topic
XML
XML Syntax
XML Attributes
DTD – Elements
What is cardinality operator in DTD?
DTD – Attributes
DTD – Entities
How to associate a DTD with XML?

Page | 110
Software Engineering Five Year Regular Program, AMU
XSD Restrictions/Facets
Week/Lecture Nonatomic Types
Complex Types
Empty Elements
Indicators
Order indicators:
Order indicators:
 All
 Choice
 Sequence
Occurrence indicators:
 maxOccurs
 minOccurs
Group indicators:
 Group name
 Attribute Group name
Annotating XML Schemas
XML Namespaces
Refer a Schema in an XML Document
Import/include Schema

Page | 111
Software Engineering Five Year Regular Program, AMU
Web services
Web services Introduction
Web services architecture
Web Services Development Parameters
 Specification
 API
 Implementation
 Approach
 MEP
 MEF
Communication in distribute technology
 Stub
 Skeleton
Week/Lecture SOAP
WSDL
Soap UI
TCP IP Monitor
JAX-RPC, JAX-RPC-SI web service development
 Service development
 Contract first approach
 Contract last approach
 Client development
 Stub-based
 Dynamic-proxy based
 Dynamic-Invocation-Interface
 Development using command line tools
 Development using IDE support

Page | 112
Software Engineering Five Year Regular Program, AMU
AX-WS, Metro Web service development
 Service development
o Contract first approach
o Contract last approach
o Client development
 Stub based client
 Dynamic proxy based client
 Annotation based client
 Development using command line tools
 Development using IDE tools
 Handlers
 Attach handlers at client side handler
 Attach handlers at server side handler
 Track soap message using handlers
 Adding soap headers
 Adding http headers
 Developing secured web services
 Web service development using standalone
server
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text Books:
Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL
and RESTful Web Services, Robert Daigneau Publisher: Addison-Wesley
Professional; 1 edition (November 4, 2011) ISBN-10: 032154420X,

Page | 113
Software Engineering Five Year Regular Program, AMU
ISBN-13: 978-0321544209 352 pages
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3151
Course Title: Computer Graphics
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 10 32 45 135
Target Group: G3Software Engineering Regular Program
Year /Semester Year: III, Semester: I
Pre-requisites SENG1072 Fundamentals of Programming II

Status of the Course Core


Course Description  The aim of this course is to provide a unified introduction to
computer graphics and computer vision for students with an interest

Page | 114
Software Engineering Five Year Regular Program, AMU
in imaging or digital visual arts and to the highest extent, create
animated objects 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
transformations are discussed shrewdly.
Course Objective: The primary objective of this course is to provide experience for the
student, and in particular to promote a successful transition to the work
place or further academic study. Research methodologies and related
topics are introduced
Course Goals  Have a knowledge and understanding of the structure of an
interactive computer graphics system, and the separation of
system components.
 Understand the fundamental concepts of Perspective and other
types of projections.
 Learn geometrical transformations especially 3D transformation.
 Be able to create interactive graphics applications.
 Learn how to use OpenGL to perform items stated above.
 Have a knowledge and understanding of techniques for
representing 3D geometrical objects.
 Learn line generation and geometrical artifacts.
 Have a knowledge and understanding of the fundamental
principles of local and global illumination models.
 Learn how to use image applications and use image format
appropriately.
 Differentiate the difference between Modeling and graphics.
 Use openGL to manipulate lighting and shading.

Page | 115
Software Engineering Five Year Regular Program, AMU
 Know how colors are maneuvered in computer.
 Understand the fundamental concepts of rendering with openGL.
 Model 3D objects using polygons.
 Understand non-polygon representation of objects and realize
the difference between the above.
Course Outline
Date Topic
 Brief History of Computer Graphics
 3D Graphics Techniques and Terminology
 Common Uses of Computer Graphics
 Examples of application areas

 Raster display systems

Week/Lecture  Introduction to the 3D graphics pipeline


 The Z Buffer for hidden surface removal

 The role of OpenGL in the reference model Coordinate systems


 Viewing using a synthetic camera
 Output primitives and attributes.

 Point and Lines, Bresenham’s


 algorithm Generating Circles
 Plotting General Curves
 Line Thickness
 Line Style
 Polygons
 Filling
 Text and Characters

Page | 116
Software Engineering Five Year Regular Program, AMU
 3D transformation
 Matrix representation
 Homogeneous coordinates
 Combination of transformations
 Basic State management
 Displaying Points Lines and Polygons
 Normal Vector
 Vertex Arrays
Week/Lecture
 Modeling using polygons
 Techniques for creating representational polygonal meshes
 Non-polygonal representations
 Colour in Computer graphics RGB; CIE
 Image formats and their applications: GIF, JPG, PNG.
 Using the camera model for viewing 3D scenes
 Perspective and other types of projection
 Viewing Types of light source
 Reflectance models: diffuse (Lambert) and specular (Phong)
Gouraud and Phong interpolation
 Lighting and shading in OpenGL
 Textures
 Distinction between Modeling and graphics
 Immediate mode versus retained mode Model
 Storage Strategies
 The matrix stacks
 OpenGL display lists: traversal, Instancing
 How the concepts are realized in specific systems: OpenGL,
Java3D
Date of Exam:
Test 1…………………10%
Assessment
Test 2…………………10%

Page | 117
Software Engineering Five Year Regular Program, AMU
Assignment ……….….10% Submission Date:

Project………………...20% Date for Project Assessment/


Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book:
[1] Richard S. Wright et.el. OpenGL® SuperBible: Comprehensive
Tutorial and Reference, Fifth Edition Addison-Wesley Professional

[2] Glen W Rowe, Computer Graphics with Java, PALGRAVE, 2001

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


Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3102
Course Title: Computer Security
Instructor/Tutor
Office location:

Page | 118
Software Engineering Five Year Regular Program, AMU
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135
Target Group: G3Software Engineering Regular Program
Year /Semester Year: III, Semester: II
Pre-requisites None
Status of the Course Core

Course Description Information Security is a comprehensive study of the principles and


practices of computer system security including operating system
security, network security, software security and web security. Topics
include common attacking techniques such as virus, trojan, worms and
memory exploits; the formalisms of information security such as the
access control and information flow theory; the common security policies
such as BLP and Biba model; the basic cryptography, RSA,
cryptographic hash function, and password system; the real system
implementations, with case study of UNIX, SE-Linux, and Windows;
network intrusion detection; software security theory; web security; legal
and ethical issues in computer security.
Course Objective:  Understand the basic concepts in information security, including
security attacks/threats, security vulnerabilities, security policies,
security models, and security mechanisms
 Understand the concepts, principles and practices related to
elementary cryptography, including plain-text, cipher-text, the four
techniques for crypto-analysis, symmetric cryptography,
asymmetric cryptography, digital signature, message authentication
code, hash functions, and modes of encryption operations.
 Understand issues related to program security and the common
vulnerabilities in computer programs; including buffer overflow
vulnerabilities, time-of-check to time-of-use flaws, incomplete

Page | 119
Software Engineering Five Year Regular Program, AMU
mediation.
 Explain and compare security mechanisms for conventional
operating systems, including memory, time, file, object protection
requirements and techniques and protection in contemporary
operating systems.
Course Goals The learning outcome is students shall be able to understand what are the
common threats faced today, what are the foundational theory behind
information security, what are the basic principles and techniques when
designing a secure system, how to think adversarially, how today's
attacks and defenses work in practice, how to assess threats for their
significance, and how to gauge the protections and limitations provided
by today's technology
Course Outline

Date Topic

Security Goals, Security Attacks (Interruption, Interception, Modification


and Fabrication), Security Services (Confidentiality, Authentication,
Integrity, Non-repudiation, access Control and Availability) and
Mechanisms
A model for Internetwork security, Internet Standards and RFCs,
Mathematical Tools for Cryptography: Introduction to number theory,
Week/Lecture
prime & relative numbers, modular arthimetic, Fermat’s and Euler’s
theorems, testing for primality, Chinese remainder theorem, Discrete
logarithms
Conventional Encryption Principles &Algorithms(DES, AES, RC4),
Block Cipher Modes of Operation, Location of Encryption Devices, Key
Distribution,Public key cryptography principles, public key cryptography
algorithms(RSA, RABIN, ELGAMAL, Diffie-Hellman, ECC), Key
Distribution

Page | 120
Software Engineering Five Year Regular Program, AMU
Approaches of Message Authentication, Secure Hash Functions(SHA-
512, WHIRLPOOL) and HMAC - Digital Signatures: Comparison,
Process- Need for Keys, Signing the Digest, Services, Attacks on Digital
Signatutres, Kerberos, X.509 Directory Authentication Service
Network Management, Basic concepts of SNMP, SNMPv1 Community
facility and SNMPv3
OS Security, OS Security Functions, Separation, Memory Protection,
Access Control, Trusted Operating System: MAC, DAC, Trusted path,
Trusted Computing Base
Viruses and related threats, Anatomy of Virus, Virus Counter Measures -
Software Flaws: Buffer Overflow, Incomplete Mediation, Race
Conditions, Malware: Brain, Morris Worm, Code Red, Malware Detection
- Firewalls, Design principles, Types of Firewalls, Firewall Architectures,
Trusted Systems.
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:

Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:

Final Examination ……40% All Lectures


As per university schedule.
Reference Text book:
Security in Computing, Charles P. Pfleeger and Shari L. Pfleeger. (3rd
edition).Prentice-Hall. 2003. ISBN: 0-13-035548-8.
Reference books:
 Computer Security, DicterGouman, John Wiley & Sons
 Computer Security: Art and Science, Mathew Bishop, Addison-
Wesley
 Principles of Information Security, Whitman, Thomson.

Page | 121
Software Engineering Five Year Regular Program, AMU
Network security, Kaufman, Perl man and Speciner, Pearson
Education
 Cryptography and Network Security, 5th Edition William Stallings,
Pearson Education
 Introduction to Cryptography, Buchmann, Springer
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions

Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3164

Course Title: Software Testing


Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 4
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135
Target Group: G3Software Engineering Regular Program

Page | 122
Software Engineering Five Year Regular Program, AMU
Year /Semester Year: III, Semester: II
Pre-requisites SENG3132 Software Requirements Engineering

Status of the Course Core


Course Description The student will be able to learn, basic skills and concepts of Software
Testing. Lessons are taught using REAL-LIFE SCENARIOS for
improved learning. refer the tutorials sequentially one after the other.
Course Objective:  Analyze and critically evaluate software requirements and
proposed solutions;
 Apply complex decision making to select appropriate testing
techniques;
 Write professional level management, planning, quality
assurance and testing documentation for a software system;
 Apply effective testing techniques to software systems of
varying scales and test levels;
 Work in a team to evaluate and implement appropriate methods
for determining quality and reliability in software systems;
 Undertake quality assurance processes
Course Goals At the end of this course students can able to learn:
 Critically evaluate software requirements as inputs toward
testing of the final solution; 
 Analyze and critically evaluate appropriate tools and techniques
to support the testing process; 
 Develop a good understanding of selecting and applying
measures and models used for testing that are compliant with the
appropriate professional industry standards such as the ACS and
IEEE; 
 Critically reflect on the outcomes of software testing and
propose strategies for improving quality and performance
outcomes in the software process
Course Outline
Date Topic

Page | 123
Software Engineering Five Year Regular Program, AMU
Overview of testing, test levels and test types
• Testing lifecycle and methodologies
• Critical analysis of software requirements
• Critical analysis of proposed solutions
• Testing scoping and approach
Week/Lecture • Non-functional testing
• Testing artefacts and deliverables
• Test management metrics and reporting
• Applying quality management to testing
• Defect identification, logging, tracking and reporting
• Tools and techniques to support the testing process
• Future trends and the implication for testing
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference TEXT BOOKS:
1. Srinivasan Desikan and Gopalaswamy Ramesh, “ Software Testing –
Principles and Practices”, Pearson education, 2006.
2. Aditya P.Mathur, “Foundations of Software Testing”, Pearson
Education,2008.87
REFERENCES:
1. Boris Beizer, “Software Testing Techniques”, Second
Edition,Dreamtech, 2003
2. Elfriede Dustin, “Effective Software Testing”, First Edition, Pearson
Education, 2003.

Page | 124
Software Engineering Five Year Regular Program, AMU
3. Renu Rajani, Pradeep Oak, “Software Testing – Effective Methods,
Tools and Techniques”, Tata McGraw Hill, 2004.
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3112
Course Title: Introduction to Distributed Systems
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 4
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135
Target Group: G3Software Engineering Regular Program
Year /Semester Year: III, Semester: II
Pre-requisites Database management system, operating system
Status of the Course Core
Course Description A distributed system is a computer system consisting of several

Page | 125
Software Engineering Five Year Regular Program, AMU
independent computers, connected by a network, that can work together
to perform a task or provide a service. Typical examples include: the
World Wide Web, networked file systems, DNS, and massive
multiprocessor supercomputers.
Course Objective: In this course we aim to provide students with a deeper understanding of
distributed systems. In particular we focus on the principles, techniques,
and practices relevant to the design and implementation of such
systems. The course takes a systems-oriented view of distributed
systems, concentrating on infrastructure software and providing hands-
on experience implementing distributed systems
Course Goals After completing this course students will be able to:
 Explain what a distributed system is, why they would design a
system as a distributed system, and what the desired properties of
such systems are;
 List the principles underlying the functioning of distributed
systems
 Describe the problems and challenges associated with distributed
systems, and evaluate the effectiveness and shortcomings of their
solutions;
 Recognize how the principles are applied in contemporary
distributed systems, explain how they affect the software design
Course Outline
Date Topic
Introduction to distributed system
definition
Week/Lecture
characteristics
organization and goals of distributed systems
hardware and software concepts
the client-server model

Page | 126
Software Engineering Five Year Regular Program, AMU
Communication
layered protocols
client-server TCP
middleware protocols
remote procedure call and remote object invocation
message oriented and stream oriented communication
Quality of Service
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
Naming
naming entities
name spaces and name resolution; DNS and X.500
different approaches in locating mobile entities
identifying and removing (unreferenced) unreachable entities
Synchronization
clock synchronization, physical clocks and clock synchronization
algorithms
logical clocks and time stamps
global state
distributed transactions and concurrency control
election algorithms
mutual exclusion and various algorithms to achieve mutual exclusion

Page | 127
Software Engineering Five Year Regular Program, AMU
Consistency and Replication
reasons for replication and object replication
replication as scaling technique
data-centric and client-centric consistency models
distribution and consistency protocols
implementation example: Orca
Fault Tolerance
basic concepts
failure modes
failure masking by redundancy
process resilience
reliable client-server and group communication
distributed commit
recovery
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Text book:
S. Tanenbaum and Maarten van Steen, Distributed Systems, Principles
and Paradigms, 2nd edition, Prentice Hall, 2007
Reference books:
 B. A. Forouzan, Data Communications and Networking, McGraw
Hill, 3rd edition, 2003
 S. Mullender, Distributed Systems, 2nd edition, Addison-Wesley,
1993

Page | 128
Software Engineering Five Year Regular Program, AMU
 K. Birman, Building Secure and Reliable Network Applications,
Manning Publications Co., 1996
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentationwill be a group project and will be presented in
class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3141
Course Title: Software Design and Architecture
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 55 135
Target Group: G3Software Engineering Regular Program
Year /Semester Year: III, Semester: II
Pre-requisites None
Status of the Course Core

Page | 129
Software Engineering Five Year Regular Program, AMU
Course Description The student will be able to learn the technique that is in use for writing
reports in computer science domain. They are also exposed to current
research topics in computer science, and allowed to exercise their report
writing skill through preparing a report on a specified research topic
either in group or individually. A formal presentation of the results of
their report paper is required.
Course Objective: The primary objective of this course is to provide experience for the
student, and in particular to promote a successful transition to the work
place or further academic study. Research methodologies and related
topics are introduced
Course Goals  Familiarize with concepts and methods of software design and
architecture.
 Learn how to perform architectural design and OO design and
basic project management tasks using examples.
 Experience design and architecture in a larger project – Not all
lecture material covered by the project.
Course Outline
Date Topic
• Introduction to design
• Software lifecycle and process models; XP
• Introduction to architecture – Basic design principles (modularity,
coupling & cohesion, interfaces) – Documenting architectures
• OO analysis & design
• OO design patterns and refactoring
• Architectural styles & patterns
• Enterprise patterns
• Embedded software patterns
• Project discussion
• Product-line architectures and OO frameworks
• Model driven development

Page | 130
Software Engineering Five Year Regular Program, AMU
 Introduction to the fundamentals of software architecture. Software
architecture and quality requirements of a software system.
 Fundamental principles and guidelines for software architecture
design, architectural styles, patterns and frameworks.
 Methods, techniques and tools for describing software architecture
and documenting design rationale.
Week/Lecture
 Software architecture design and evaluation processes. Rationale
and architectural knowledge management in software architecting.
 Approaches and tools for designing and evaluating software
architectures for the state of the art technologies such as cloud-
computing and service-operation and mobile computing.
 Future challenges and emerging trends in software architecture
discipline.
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference Books
The students will be expected to work with the course curriculum based
on the following book:
1. Gorton, I., Essential Software Architecture, 2nd edition (2011),
Springer.Research Papers included in the course syllabus (Assessable
material) and for Presentations
References:
1. Chen, L., Ali Babar, M., Nuseibeh, B., Characterizing
Architecturally Significant Requirements, IEEE Software 30(2):
38-45 (2013).

Page | 131
Software Engineering Five Year Regular Program, AMU
2. Jane Cleland-Huang, Adam Czauderna, Ed Keenan: A Persona-
Based Approach for Exploring Architecturally Significant
Requirements in Agile Projects. REFSQ 2013:18-33.
3. Hofmeister, C., et al., A general model of software architecture
design derived from five industrial approaches, Journal of Systems
and Software (JSS), 2006.
4. Fielding, R., Taylor, R., Principled Design of the Modern Web
Architectures by Roy Fielding and Richard Taylor, ICSE, 2000.
5. Singh, M., and Huhns, M., Service-Oriented Computing: Key
Concepts and Principles, IEEE Internet Computing: 9(1): 75-81
(2005).
6. Ali Babar, M., Making Software Architecture and Agile
Approaches Work Together: Foundations and Approaches, in Ali
Babar, M., Brown, A.W., Mistrik, I., (Ed.), Agile Software
Architecture: Aligning Agile
Processes with Software Architecture, Morgen Kaufmann
Publishers, December 2013.
7. Model Driven Architecture: A Perspective by Singh and Sood,
2009.
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes, Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

Page | 132
Software Engineering Five Year Regular Program, AMU
DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY
Program Software Engineering
Course Code SENG4144
Course Title: Software Engineering Tools and Practices
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours per Lecture Tutorials Laboratory Home Study Total
Week 32 16 48 39 135
Target Group: G4Software Engineering, Regular Program
Year /Semester Year: IV, Semester: I
Pre-requisites SENG2081, SENG2131
Status of the Course Core
Course Description This course provides an introduction to the software engineering tools and
practices - a look at typical approach software engineers use to create
applications in practice. Topics include requirements analysis, high-level
design, detail-level design, UML modeling, code generation, application
building, and revision management. Laboratory assignments provide an
opportunity for students to develop an understanding of these tools and how
they are used in actual practice.
Course Objective: Upon successful completion of this course, the student will be able to:
 Transform requirements documented as use cases into UML
design models
 Generate source code from UML design models, and synchronize
subsequent changes
 Create user interfaces using a visual design tool
 Maintain source code and related design documents in a revision
control system
 Create a deployable software package using an automated build
tool

Page | 133
Software Engineering Five Year Regular Program, AMU
 Track software defects using a change management system
 Be able to create an installable software package using an
automated build tool

Course Outline
Date Topic
Introduction to software engineering practices
Source code generation from UML models
Synchronizing source code with UML models
Use of a revision control system to archive source code and related
documentation
Graphical UI layout (1 class)
Week / Lecture Use of a change management system for tracking software defects
Use of an automated build tool for software package creation: meta-languages,
scripts, rules, targets, actions
Software requirements analysis: reading use case scenarios and use case textual
analysis
High-level design: requirements coverage, communication diagrams
Detailed design: class, communication, activity, state, and sequence diagrams
Laboratory topics
Development of various small software projects to facilitate practice and with
integrated tool usage
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Lab Report……………...20% Date for Lab Report/
Presentation…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.

Page | 134
Software Engineering Five Year Regular Program, AMU
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG5161
Course Title: Software Project Management
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Lecture Hours Lecture Tutorial Laboratory Home Study Total
32 16 48 39 135
Target Group: G5Software Engineering, Regular Program
Year /Semester Year: V, Semester: I
Pre-requisites SENG2132
Status of the Course Core
Course Description The module discusses about the role and functions of software project
management.

Page | 135
Software Engineering Five Year Regular Program, AMU
Course Objective: On successful completion of the module students will be able to:
 Describe software project management tasks
 Estimate software project costs
 Prepare planning documents: SPMP, RMP, SCMP, and SQAP
 Manage and assess real projects
 Develop team work spirit

Course Outline
Date Topic
Overview
Project management Fundamentals
Software project management tasks
Software Project Planning
Software Project Management Plan
WBS and Schedule
Work Breakdown Structure
Scheduling
Week / lecture
Software Project Estimation
Estimation Approaches
Risk and Change Management
Software Risks
Risk Management
Change Control management
Software Quality Assurance
QA Activities
Team Management
Date of Exam:
Test 1…………………10%

Test 2…………………10%
Assessment Assignment ……….….10% Submission Date:

Project………………...30% Date for Project Assessment/


Presentation:

Page | 136
Software Engineering Five Year Regular Program, AMU
Final Examination ……40% All Lectures
As per university schedule.
Reference 1. Steve McConnell, Software Project – Survival Guide, Microsoft Press.
2. Walker Royce, Software Project Management, Pearson.
3. Robert K. Wysocki, Effective Software Project Management, Wiley.
4. E-Book on OO Software Project Management.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG5162
Course Title: Software Quality Assurance and Benchmarks
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Lecture Hours Lecture Tutorial Laboratory Home Study Total
32 16 48 39 135
Target Group: G5Software Engineering, Regular Program
Year /Semester Year: V, Semester: II

Page | 137
Software Engineering Five Year Regular Program, AMU
Pre-requisites SENG2131
Status of the Course Core
Course Description Quality: how to assure it and verify it, and the need for a culture of
quality. Avoidance of errors and other quality problems. Inspections and
reviews. Testing, verification and validation techniques. Process
assurance vs. Product assurance. Quality process standards. Product and
Process assurance. Problem analysis and reporting. Statistical
approaches to quality control.
Course Objective: Upon completion of this course, students will have the ability to:
 Conduct effective and efficient inspections
 Design and implement comprehensive test plans
 Apply a wide variety of testing techniques in an effective and
efficient manner
 Compute test coverage and yield, according to a variety of
criteria
 Use statistical techniques to evaluate the defect density and the
likelihood of faults
 Assess a software process to evaluate how effective it is at
promoting quality.

Course Outline
Date Topic
Introduction to software quality assurance (terms like faults, errors,
debugging and quality standards).
Principles of software validation and Software verification
Software Testing (unit testing, regression testing, system testing,
integration testing)
Week/ Lecture
White-box and black-box testing (state transition, equivalent partitioning,
static and dynamic testing etc)
Control flow oriented test construction techniques, McCabe Cyclomatic
complexity
Data flow oriented test construction techniques

Page | 138
Software Engineering Five Year Regular Program, AMU
Exploratory Testing
Code and Fix programming paradigm (test plan, test case design
specification, etc)
Introduction to Software Reliability and default density
Sample labs and assignments:
Basic Testing with automated testing tools like JUnit
Logic coverage testing
Code coverage tool usage
Mutation Testing using a mutation testing tool
Mock object testing using mock object testing tool
State transition testing
Input space partitioning testing
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...30% Date for Project Assessment/
Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference 1. Ian Sommerville, “Software engineering”, Seventh Edition,
Pearson Education Asia, 2007.
2. Roger S. Pressman, “Software Engineering – A practitioner’s
Approach”, Sixth Edition, McGraw-Hill International Edition,
2005.
3. Watts S.Humphrey,”A Discipline for Software Engineering”,
Pearson Education, 2007.
4. James F.Peters and Witold Pedrycz,”Software Engineering, An
Engineering Approach”, Wiley-India, 2007.
5. Stephen R.Schach, “ Software Engineering”, Tata McGraw-Hill
Publishing Company Limited, 2007.

Page | 139
Software Engineering Five Year Regular Program, AMU
6. S.A.Kelkar,”Software Engineering”, Prentice Hall of India Pvt,
2007.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG5163
Course Title: Software Project Management
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Lecture Hours Lecture Tutorial Laboratory Home Study Total
32 16 48 39 135
Target Group: G5Software Engineering, Regular Program
Year /Semester Year: V, Semester: II
Pre-requisites SENG3141
Status of the Course Core

Page | 140
Software Engineering Five Year Regular Program, AMU
Course Description To provide a comprehensive background for understanding and
managing the development process in a software company including
both SMEs and IT departments of large companies.
Course Objective: At the end of the course students will be able to:
• understand problems related to the software process
• adapt the standard process to the needs of a specific environment
• manage the execution and the optimization of a software team.

Course Outline
Date Topic
 The Plan-based approach
 The Agile approach
o XP
 SCRUM
 Personal Software Process (PSP)
Week / Lecture
 Team Software Process (TSP)
 Process Improvement
 Access the status of a software process
 Define and implement a measurement plan.
 Define and implement a Process Improvement Plan.
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...30% Date for Project Assessment/
Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference 1. T. DeMarco, Controlling Software Projects – Management,
Measurement & Estimation, Yourdan Press, 1982.
2. N.E. Fenton, S.H. Pfleeger, Software Metrics: a Rigorous and
Practical Approach, Thomson Computer Press, 1994.

Page | 141
Software Engineering Five Year Regular Program, AMU
3. W. Humprey, A Discipline for Software Engineering,
AddisonWesley, 1995.
4. S. McConnell, Rapid Development: Timing Wild Software
Schedules, Microsoft Press, 1996.
5. T. Poppendieck, M. Poppendieck, Lean Development Software:
Agile An Toolkit for Software Development Managers,
AddisonWesley, 2003.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG3171
Course Title: Seminar in Software Engineering
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 3
Contact Hours per Lecture Tutorial Laboratory Home Study Total

Page | 142
Software Engineering Five Year Regular Program, AMU
Week 32 0 0 70 102
Target Group: G3Software Engineering, Regular Program
Year /Semester Year: III, Semester: II
Pre-requisites All Senior Standing Courses
Status of the Course Core
Course Description This module is intended to provide a skill in reviewing recently
published works and prepare review report in a selected area of
Software Engineering.
Course Objective: On successful completion of the module students will be able to
critically review and discuss Software Engineering articles.

Course Outline
Date Topic
Students critically and scientifically evaluate published works in current
Week / lecture research issues and results in selected areas of Software Engineering.
Discuss the latest and future trends in Software Engineering.

Submission Date:
Paper review………….20%

Assignment ……….….10% Submission Date:

Assessment
Presentation…………...30% Date for Project Presentation:

Final Examination ……40% All Lectures


As per university schedule.
Reference Vary depending on the selected topics.
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented

Page | 143
Software Engineering Five Year Regular Program, AMU
in class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG5173
Course Title: Software Engineering Capstone Project II
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Lecture Hours Lecture Tutorial Laboratory Home Study Total
0 0 0 135 135
Target Group: G5Software Engineering, Regular Program
Year /Semester Year: V, Semester: II
Pre-requisites SENG4172
Status of the Course Core
Software Engineering Capstone Project II is the implementation phase of Software Engineering
Capstone Project I.
Assessment
 Advisor evaluation
 Jury evaluation

Page | 144
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG5172
Course Title: Software Engineering Capstone project I
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 2
Lecture Hours Lecture Tutorial Laboratory Home Study Total
0 0 0 135 135
Target Group: G5Software Engineering, Regular Program
Year /Semester Year: V, Semester: I
Pre-requisites None
Status of the Course Core
Course Description
Course Objective: Course Objective
 Identify problem areas in the industry
 Learn how to gather requirement, analysis and design, a project
and research on it.
 The students should develop some projects and develop their
skills in the practical environment will learn how to solve the
problems required in Industry and be sound in real technical
problems

Course Outline
Date Topic
Chapter one: Introduction

Page | 145
Software Engineering Five Year Regular Program, AMU
1. Background
1.1 Background of the organization
1.2 Mission, vision and objective of the organization for which you
are going to develop the new system, etc…
2. Existing System Study
2.1 Describe how the existing system functions (manual, semi –
automated, automated )
2.2 List and describe the problems in the existing system
3. Proposed System
3.1 Brief description of the proposed solutions for the problems
mentioned in
4. Objectives of the Project
4.1 General and specific objectives of the project.
5. Scope
5.1 Clearly show the functions (boundary) of your system that is
expected to cover
6. Methodology
6.1 State how the requirements are gathered, the tools used for
analysis and design, etc. ….

Chapter Two: System Features


2.1 Functional requirements
2.1.1 User requirements
 List out all user requirements of the system. Each requirement
should be uniquely identified with a sequence number or a
meaningful tag of some kind. You may provide a short
description of the feature/requirement and indicate whether it is of
High, Medium, or Low priority.
 Group the requirements into coherent set of categories like
2.1.2 System requirements
 Detail the requirements in section A using fully dressed use cases.
This section should include a use case diagram and detailed use
case descriptions.
Non Functional requirements
 List all the non-functional requirements which are relevant to

Page | 146
Software Engineering Five Year Regular Program, AMU
your system
2.2 Analysis Models
Select appropriate analysis model to understand the problems stated
as requirements. Each model should include an introduction and a
narrative description. Furthermore, each model should be traceable
to the SRS’s requirements. Some of the models that you could use
includes: DFD, activity diagram, sequence diagram etc.

Chapter Three: System Design


4.1 Deployment Diagram
The deployment diagram should show
1. The physical communication links between hardware
items (machines and other sources, such as printers)
2. The relationship between physical machine and processes
– what runs where
1. Architectural Design
A software system is a set of communicating entities that collaborate to
perform a task. The Architectural Design is a top level design which
shows these entities, their relationships and the relationships. Each entity
of the architectural design needs an abstract specification. The
specification is a description of its purpose, its functionality, its attributes
(including dependency on other entities) and the constraints under which
it must operate. Class diagrams or structure charts may be used to
represent architecture of a system.
User Interface Design
Describe the logical characteristics of each interface between the
software product and the users. This may include sample screen images,
any GUI standards or product family style guides that are to be followed,
screen layout constraints, standard buttons and functions (e.g., help) that
will appear on every screen, keyboard shortcuts, error message display
standards, and so on. Define the software components for which a user
interface is needed.

Page | 147
Software Engineering Five Year Regular Program, AMU
Data Structure Design
Design in detail and specify the data structures to be used in the
implementation. If these include databases, define the table structure of
all databases including full field descriptions and all relations. Graphical
languages like ER diagram are appropriate.
Algorithm Design
For the elements found in architectural design define the algorithm
required for each element to accomplish its tasks

Assessment
 Advisor evaluation
 Jury evaluation

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG4143
Course Title: Software Component Design
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5

Page | 148
Software Engineering Five Year Regular Program, AMU
Lecture Hours Lecture Tutorial Laboratory Home Study Total
32 16 48 39 135
Target Group: G4Software Engineering, Regular Program
Year /Semester Year: IV, Semester: I
Pre-requisites SENG2131
Status of the Course Core
Course Description This course deals with the design and implementation of software
subsystems. The concept of design patterns is introduced and common
patterns are applied to the development of software components.
Laboratory projects provide an opportunity for teams of students to
implement components and to integrate them into complete systems.
Course Objective: Upon successful completion of this course, the student will:
 Apply object-oriented design patterns in software application-
specific contexts.
 Determine the appropriate design pattern to apply in a specific
context.
 Design and implement small software components and systems.
 Apply UML class and sequence diagrams in the process of
designing and documenting software applications.
 Use computer-aided software engineering (CASE) tools in the
design and software documentation process.
 Conduct independent research on software design patterns.
 Document software design patterns in both written and oral
reports.

Course Outline
Date Topic
Introduction to course and design patterns
Threading and thread synchronization
Week / Lecture
Inter-thread and inter-process communication using shared memory,
pipes, and sockets

Page | 149
Software Engineering Five Year Regular Program, AMU
Design patterns
Pattern application issues
Anti-patterns
Laboratory topics
 Investigation of multi-threaded data collections
 Application of specific design patterns
 Development of application to demonstrate the use of a chosen
design pattern
 Demonstration of example application
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Project………………...20% Date for Project Assessment/
Laboratory..…………...10% Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference 11. Freeman et al (2004). Head First Design Patterns. O’Reilly
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentation will be a group project and will be presented
in class

Page | 150
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code SENG4175
Course Title: Research Methodology in SENG
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 3
Contact Hours per Lecture Tutorial Laboratory Home Study Total
Week 32 0 0 49 81
Target Group: G4Software Engineering, Regular Program
Year /Semester Year: IV, Semester: I
Pre-requisites None
Status of the Course Core
Course Description This course concerns us with the topic of research. It attempts to define
what research is, why we do research, and the various methods that
researchers use to investigate problems.

It is designed as an under-graduate introduction to research


methodology. Students are assumed to be familiar with statistics (such
as mean, standard deviation, percentiles, and other such terms). The
course provides a framework for conceptualizing research and is meant
to underpin the research project for the final year as well as for the
projects delivered for each subject.
Course Objective: At the end of this course, students will be able to understand:

 The terminologies used by professional researchers employing

Page | 151
Software Engineering Five Year Regular Program, AMU
scientific thinking.

 How to formulate a solid research hypothesis (research


question).

 the basic stages of research design

 types of proposals and the contents of each

 the issues covered in research ethics

 the relationships that exist between variables in research design


and the steps for evaluating those relationships

Course Outline
Date Topic
Chapter 1. THE NATURE AND SCOPE OF RESEARCH
 What is research?
 Research and theory
 The Scientific approach
 Stages of the research process
 Components of a Research Proposal
 Writing a Research Proposal
Chapter 2: FORMULATION OF THE RESEARCH PROBLEM
 Selection of a general topic
 Literature review and the exploratory study
Week / Lecture
 Specification of objectives and hypotheses
 Concepts and variables
Chapter 3: The Research Process
 Major Steps in the Research process
Chapter 4: The Research Design
 Research Design
 Sampling Methods
 Measurement
 Measurement scales
 Instrument Design

Page | 152
Software Engineering Five Year Regular Program, AMU
Chapter 5: Analysis and Presentation of Data
 Data presentation and description
 Exploring, displaying , and examining data
 Hypothesis testing
 Measures of association
 Report writing : Presenting insights and findings; Written and
oral reports
Chapter 6: Current Research Topics in Software Engineering
Chapter 7: Ethics in Research

Test 1…………………15% Date of Exam:


Test 2…………………15%

Assignment ……….….10% Submission Date:


Assessment Project………………...20% Date for Project Assessment/
Presentation:
Final Examination ……40% All Lectures
As per university schedule.
Reference 1. Cooper, Donald (2006). Business research methods, 9th Ed,
McGraw-Hill
2. G. Marczyk, D. Demattoe, D. Festinger(2005). Essentials of
research methodology and design. John Wiley and Sons, Inc.
3. Donald H. McBurney(1998). Research methods, 4th
Redbooks/Cole Publishing Company. University of Pittsburgh.
4. Kothari, C.R. (2004), Research Methodology: Methods and
Techniques, Second edition(Available in Soft Copy)
5. Sing, K. (2007), QUANTITATIVE SOCIAL RESEARCH
METHODS, Sage Publications
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged to
Methods answer whenever questions are raised), present their assignments in the
class and actively participate in the tutorial program.

Page | 153
Software Engineering Five Year Regular Program, AMU
Summary of The course will be assessed using the different assessment methods like:
Assessment Assignment/Questionnaires, Project, Tests and Final exam. Case
Methods Study/Project Presentationwill be a group project and will be presented in
class

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code EnLa1011
Course Title: Communicative English
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 87 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: I
Pre-requisites None
Status of the Common Course
Course
Course Description This course wills focus on writing strategies. Emphasis will be on
development of sentence structure and sentence variety to the paragraph
level. The sentence level writing includes writing accurate sentences i.e.
avoiding fragments, run on sentences, agreement faults, faulty
parallelism, dangling construction, etc. Besides, it emphasis basics of

Page | 154
Software Engineering Five Year Regular Program, AMU
paragraph writing i.e. coherence, unity, completeness, topic sentences;
statement of main idea, writing supports, appropriate emphasis, etc.

Course Objective: At the end of the course, students are expected to:
 Understand the importance of effective communication in the real
world
Develop skills for effective writing and oral communication

Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment

Assignment ……….….10% Submission Date

Final Examination ……40% All Lectures


As per university schedule.
Reference
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The learning–teaching methodology will be student-centered with
Assessment appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given.

Page | 155
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code Math1031
Course Title: Applied Mathematics I
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: I
Pre-requisites None
Status of the Course Common Course
Course Description In order to be able to formulate what a computer system is supposed to
do, or to prove that it does meet its specification, or to reason about its
efficiency, one needs the precision of mathematical notation and
techniques. For instance, to specify computational problems precisely
one needs to abstract the detail and then use mathematical objects such
as sets, functions, relations, orders, and sequences. To prove that a
proposed solution does work as specified, one needs to apply the
principles of mathematical logic, and to use proof techniques such as
induction. And to reason about the efficiency of an algorithm, one often
needs to count the size of complex mathematical objects. The Discrete
Mathematics course aims to provide this mathematical background.

Page | 156
Software Engineering Five Year Regular Program, AMU
Course Objective: The primary objective of this course is to provide experience for the
student, and in particular to promote a successful transition to the work
place or further academic study. Research methodologies and related
topics are introduced
Course Goals This is an introductory course on discrete mathematics. Students will
learn:
 some fundamental mathematical concepts and terminology;
 how to use and analyses recursive definitions;
 how to count some different types of discrete structures;
 techniques for constructing mathematical proofs, illustrated by
discrete mathematics examples
Course Outline
Date Topic
Fundamental structures: Functions (surjections, injections, inverses,
composition); relations (reflexivity, symmetry, transitivity, equivalence
relations); sets (Venn diagrams, complements, Cartesian products, power sets);
pigeonhole principle; cardinality and accountability.
Boolean algebra: Boolean values; standard operations on Boolean values; de
Morgan's laws.
Propositional logic: Logical connectives; truth tables; normal forms
(conjunctive and disjunctive); validity.
Week / lecture
Digital logic: Logic gates, flip-flops, counters; circuit minimization
Elementary number theory: Factorability; properties of primes; greatest
common divisors and least common multiples; Euclid's algorithm; modular
arithmetic; the Chinese Remainder Theorem.
Basics of counting: Counting arguments; pigeonhole principle; permutations
and combinations; binomial coefficients
Date of Exam:
Test 1…………………10%

Assessment Test 2…………………10%

Assignment ……….….10% Submission Date:

Page | 157
Software Engineering Five Year Regular Program, AMU
Assignment ……….….10% Submission Date:

Final Examination All Lectures


……40% As per university schedule.
Reference
Summary of The course will be delivered in lectures (with a participatory approach) -
Teaching Learning students are encouraged to ask questions and also they are encouraged
Methods to answer whenever questions are raised), present their assignments in
the class and actively participate in the tutorial program.
Summary of The course will be assessed using the different assessment methods like:
Assessment Methods Assignment/Questionnaires, Project, Tests and Final exam. Case
Study/Project Presentation will be a group project and will be presented
in class
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content,
process and timing will be provided in due course. Your grade will be
based on satisfactory completion of the assignments in a timely manner,
and the quality of work represented. Assignments must be submitted on
the due date given.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code Math1034
Course Title: Discrete Mathematics
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7

Page | 158
Software Engineering Five Year Regular Program, AMU
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 32 0 135
Target Group: G1Software Engineering Regular Program
Year /Semester Year: I, Semester: I
Pre-requisites None
Status of the Course Common Course
Course Description This course covers basic elements of vectors, vector spaces, matrices,
determinants, solving systems of linear equations, concepts and
applications of differential and integral calculus of one variable.

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

- understand the basic ideas of vector algebra,


- understand matrix algebra,
- determine the determinants,
- determine linear independence of vectors,
- apply scalar and vector products,
- write equations of lines and planes,
- determine direction angles and direction cosines of a vector,
- apply the basic techniques of matrix algebra,
- determine inverse of a matrix,
- apply elementary row operations,
- solve systems of linear equations,
- understand the concepts of limit and continuity
- evaluate derivatives,
- apply derivatives,
- understand the concepts of integration,
- evaluate integrals,
- apply integrals,
Course Goals The course is designed for applied science students. It equips students
with basic concepts and techniques of linear algebra, differential and
integral calculus that are useful for solving engineering and science
problems.

Page | 159
Software Engineering Five Year Regular Program, AMU
Course Outline
Chapter Topic

1. Vectors and vector spaces


Chapter:1 1.1 Scalars and Vectors in R2 and R3
1.2 Addition and scalar multiplication
1.3 Scalar product
1.3.1 Magnitude of a vector
1.3.2 Angle between two vectors
1.3.3 Orthogonal projection
1.3.4 Direction angles
1.3.5 Direction cosines
1.4 Cross product
1.5 Lines and planes
1.6 Vector space; Subspaces
1.3.3 Orthogonal projection
1.3.4 Direction angles
1.3.5 Direction cosines
1.4 Cross product
1.5 Lines and planes
1.6 Vector space; Subspaces
1.7 Linear Dependence and independence; Basis of a vector space

Chapter 2: 2. Matrices and determinants

2.1. Definition of matrix and basic operations


2.2. Product of matrices and some algebraic properties; Transpose of a
matrix
2.3. Elementary operations and its properties
2.4. Inverse of a matrix and its properties
2.5. Determinant of a matrix and its properties
2.6. Solving system of linear equations

2.6.1 Cramer’s rule


2.6.2 Gaussian’s method
2.6.3 Inverse matrix method
2.7. Eigen values and Eigenvectors
Chapter 3 3: Limit and continuity

3.1. Definition of limit


3.2. Basic limit theorems
3.3 One sided limits
3.4. Infinite limits, limit at infinity and asymptotes
3.5. Continuity; one sided continuity
3.6. Intermediate value theorem

Chapter 4 Derivatives and application of derivatives

Page | 160
Software Engineering Five Year Regular Program, AMU
4.1. Definition of derivatives; basic rules
4.2. Derivatives of inverse functions
4.2.1 Inverse trigonometric functions
4.2.2 Hyperbolic and inverse hyperbolic functions

4.3. Higher order derivatives


4.4. Implicit differentiation
4.5. Application of derivatives

4.5.1 Extrema of a function


4.5.2 Mean value theorem
4.5.3 First and second derivative tests
4.5.4 Concavity and inflection point
4.5.5 Curve sketching
4.6. Velocity, acceleration and rate of change
4.7. Indeterminate Forms (L’Hopital’s Rule)
Chapter 5
Integration

5.1. Antiderivatives; indefinite integrals


5.2. Techniques of integration
5.2.1 Integration by substitution, by parts and by partial
fraction
5.2.2 Trigonometric integrals
5.2.3 Integration by trigonometric substitution
5.3. Definite integrals; Fundamental Theorem of Calculus
5.4. Improper integrals
Chapter 6 Application of integrals

6.1. Area
6.2. Volume
6.3. Arc Length
6.4. Surface Area
Teaching- learning methods

Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment
Assignment ……….….10% Submission Date:

Final Examination All Lectures


……40% As per university schedule.

Page | 161
Software Engineering Five Year Regular Program, AMU
Reference - Leithold, The calculus with analytic geometry, 3rd
Edition, Herper &
Row, publishers.
- R. T. Smith and R. B. Minton, Calculus concepts and
connections,
McGram-Hill book company, 2006
- D. V. Widder, Advanced calculus, Prentice-Hall,
1979
- Ross L. Finney et al, Calculus, Addison Wesley, 1995
- E. J. Purcell and D. Varberg, Calculus with analytic
geometry,
Prentice-Hall INC., 1987
- Adams, Calculus: A complete course, 5th ed, Addison
Wesley, 2003
- R. Wrede and M. R. Spiegel, Theory of advanced
calculus, 2nd ed.,
McGraw-Hill, 2002.
- A. E. Taylor and W. R. Mann, Advanced calculus, 3rd
ed, John-Wiley
and Son, INC, 1995.

Applied Mathematics II

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code Math1032
Course Title: Applied Mathematics II
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7

Page | 162
Software Engineering Five Year Regular Program, AMU
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 55 151
Target Group: G5Software Engineering Regular Program
Year /Semester
Pre-requisites Math1031
Status of the Course Core
Course Description
Course Objective: On completion of the course successful students will be able to:

- find limit of a wide class of sequences,


- decide on convergence or divergence of a wide class of series,
- find radius of convergence of a power series,
- find the limit of convergent power series,
- represent a wide class of functions by a Taylor’s series,
- apply Taylor’s polynomial,
- find domain and range of a function of several variables,
- understand functions of several variables,
- find partial derivatives,
- apply partial derivatives,
- find directional derivatives and gradients,
- use tangent plane approximation,
- evaluate double and triple integrals,
- change rectangular coordinate systems to polar, cylindrical and
spherical coordinate systems,
- apply different coordinate systems to evaluate multiple integrals,
- distinguish various classes of differential equations,
- understand the underlying theory of linear ODEs,
- understand various techniques of solving ODEs,
- apply the techniques to solve ODEs problems.

Course Outline
Chapter Topic

Page | 163
Software Engineering Five Year Regular Program, AMU
1. Sequence and series

1.1Definition and types of sequence


1.2 Convergence properties of sequences
1.3 Subsequence and limit points
1.4 Definition of infinite series
1.5 Convergence and divergence, properties of
convergent series
Chapter 1
1.6 Nonnegative term series
1.7 Tests of convergence (integral, comparison, ratio and
root tests)
1.8 Alternating series and alternating series test
1.9 Absolute and conditional convergence
1.10 Generalized convergence tests

Chapter 2 2. Power series


2.1 Definition of power series at any x0 and x0 = 0
2.2 Convergence and divergence, radius and interval of
convergence
2.3 Algebraic operations on convergent power series
2.4 Differentiation and integration of power series
2.5 Taylor series; Taylor polynomial and application

Page | 164
Software Engineering Five Year Regular Program, AMU
Chapter 3 3. Differential calculus of function of several variables

3.1 Notations, examples, level curves and graphs


3.2 Limit and continuity
3.3 Partial derivatives; tangent lines, higher order partial
derivatives.
3.4 Directional derivatives and gradients
3.5 Total differential and tangent planes
3.6 Applications: tangent plane approximation of values of a
function
3.7 The chain rule, implicit differentiation
3.8 Relative extrema of functions of two variables
3.9 Largest and smallest values of a function on a given set
3.10 Extreme values under constraint
conditions: Lagrange’s multiplier

Chapter 4 : Basic GIS Data Analysis Operation


4.1 Measurement (length, area, location)
4.2 Query
4.3 Join/Relate
4.4 Classification/ Reclassification/dissolve
4.5 Clip
4.6 Union/intersection
4.7 Data Merging
4.8 Buffering
4.9 Tabular analysis
4.10 Editing
Chapter 5: Remote Sensing Data
5.1 Earth observation and remote sensing (WHY?)
5.2 Radiometric and geometric aspects
5.3 Sensors and image data characteristics
 Image enhancement,
 Visualization,
 Interpretation,
 Classification
5.4 Remote sensing application in GIS

Page | 165
Software Engineering Five Year Regular Program, AMU
Chapter 6: Presentation of analysis results (Map layout, tables and
graphs)
6.1 Produce maps (map layouts);
6.2 Produce maps, tables(non spatial data) and graphs together
6.3 Map print and export
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment

LAB…………………20%

Final Examination ……50% All Lectures


As per university schedule.
Reference Text Books:
GIS Fundamentals, 2nd ed., P. Bolstad, Eider Press, Chrisman, N.
(2002)
Exploring Geographic Information Systems John Wiley 2nd edition.
An Introduction to Geographical Information Systems’ Second
edition, Prentice Hall: Harlow. [ISBN:0130611980]
GIS Fundamentals, 2nd ed., Paul Bolstad, Eider Press
Getting Started with Geographic Information Systems, 4 th ed., K.C.
Clarke, Prentice Hall Series
Exploring Geographic Information Systems, 2nd ed., N. Chrisman,
Wiley.
Remote Sensing – Methods and Applications. Hord, R. Michael l.
1986. John Wiley & Sons.

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


Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions

Page | 166
Software Engineering Five Year Regular Program, AMU
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code COSC5194
Course Title: Geographic Information System
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 7
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 55 151
Target Group: G5Software Engineering Regular Program
Year /Semester Year: V, Semester: I
Pre-requisites None
Status of the Course Core
Course Description To provide a broad overview of the design, development, and

Page | 167
Software Engineering Five Year Regular Program, AMU
application of Geographic Information Systems (GIS) and to provide
students with the knowledge to build and manage spatial databases and
perform spatial analysis using database management systems (DBMS)
and GIS tools and to introduce the basic concepts and the operational
skills necessary to acquire the most appropriate Remote Sensing data
and extract geo-information from them.
Course Objective: By the end of this course, students will be able to:
 Understand GIS and its application.
 Describe geographic information , spatial data types
 Explain the steps of spatial data handling
 Learn DBMS and spatial referencing
 Understand about data quality and measures of location errors on
maps. Learn about satellite-based positioning ,spatial data input, data
preparation and management
 Understand analytical GIS capabilities, retrieval and classification
 Understand the fundamentals of Remote Sensing
 Learn about various types of sensors, platforms and RS data
acquisition systems

Understand radiometric and geometric aspects of remote sensing data.


Understand Image enhancement, visualization ,Image interpretation,
classification
Course Outline
Date Topic
Chapter 1: Geographic Information System (GIS)
1.1 What is a GIS
1.2 Components of a GIS
Week/Lecture
1.3 Geographic data types/ models
(Vector and Raster data model)
Data Sources in GIS (GPS, topographic/thematic maps, existing data,
Satellite images, etc.)

Page | 168
Software Engineering Five Year Regular Program, AMU
Chapter 2: How GIS works?
2.1 Geographic References
2.2 GIS task
2.2.2. Input of data
2.2.3. Map making
2.2.4. Manipulation of data
2.2.5. File management
2.2.6. Query and analysis
2.2.7. Visualization of results
What is GIS used for? (Utility companies, Transportation, Farmers,
Forestry etc.)
Chapter 3: Geodatabase Management
3.1 Designing geodatabase
3.2 Data management in geodatabase
Editing spatial data
Chapter 4 : Basic GIS Data Analysis Operation
4.11 Measurement (length, area, location)
4.12 Query
4.13 Join/Relate
4.14 Classification/ Reclassification/dissolve
4.15 Clip
4.16 Union/intersection
4.17 Data Merging
4.18 Buffering
4.19 Tabular analysis
4.20 Editing

Page | 169
Software Engineering Five Year Regular Program, AMU
Chapter 5: Remote Sensing Data
5.5 Earth observation and remote sensing (WHY?)
5.6 Radiometric and geometric aspects
5.7 Sensors and image data characteristics
 Image enhancement,
 Visualization,
 Interpretation,
 Classification
5.8 Remote sensing application in GIS
Chapter 6: Presentation of analysis results (Map layout, tables and
graphs)
6.4 Produce maps (map layouts);
6.5 Produce maps, tables(non spatial data) and graphs together
6.6 Map print and export
Date of Exam:
Test 1…………………10%

Test 2…………………10%

Assignment ……….….10% Submission Date:


Assessment

LAB…………………20%

Final Examination ……50% All Lectures


As per university schedule.
Reference Text Books:
GIS Fundamentals, 2nd ed., P. Bolstad, Eider Press, Chrisman, N.
(2002)
Exploring Geographic Information Systems John Wiley 2nd edition.
An Introduction to Geographical Information Systems’ Second
edition, Prentice Hall: Harlow. [ISBN:0130611980]
GIS Fundamentals, 2nd ed., Paul Bolstad, Eider Press
Getting Started with Geographic Information Systems, 4 th ed., K.C.
Clarke, Prentice Hall Series

Page | 170
Software Engineering Five Year Regular Program, AMU
Exploring Geographic Information Systems, 2nd ed., N. Chrisman,
Wiley.
Remote Sensing – Methods and Applications. Hord, R. Michael l.
1986. John Wiley & Sons.

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


Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given.

ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code COSC5192
Course Title: Introduction to Artificial Intelligence
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:

Page | 171
Software Engineering Five Year Regular Program, AMU
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 55 151
Target Group: G5Software Engineering Regular Program
Year /Semester Year: V, Semester: I
Pre-requisites None
Status of the Course Core
Course Description The purpose of this course is to give students an understanding of
Artificial Intelligence methodologies, techniques, tools and results.
Students will use at least one AI-language [Lisp, Prolog]. Students will
learn the theoretical and conceptual components of this discipline and
firm up their understanding by using AI and Expert System tools in
laboratory sessions, projects and home assignments

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

Page | 172
Software Engineering Five Year Regular Program, AMU
Course Outline
Date Topic
CHAPTER 1:
1. Introduction to AI
1.1. Objectives/Goals of AI
1.2. What is AI?
Week/Lecture 1.3. Approaches to AI – making computer:
1 1.3.1. Think like a human ( Thinking humanly)
(2 Hours) 1.3.2. Act like a human (Acting humanly)
1.3.3. Think rationally (Thinking rationally)
1.3.4. Act rationally (Acting rationally)
1.4. The Foundations of AI
Bits of History and the State of the Art
CHAPTER 2:
2. Intelligent Agents
2.1. Introduction
2.2. Agents and Environments
2.3. Acting of Intelligent Agents (Rationality)
2.4. Structure of Intelligent Agents
2.5. Agent Types
2.5.1. Simple reflex agent
2.5.2. Model-based reflex agent
2.5.3. Goal-based agent
2.5.4. Utility-based agent
2.5.5. Learning agent
2.6. Important Concepts and Terms

Page | 173
Software Engineering Five Year Regular Program, AMU
CHAPTER 3:
3. Solving Problems by Searching and
Constraint Satisfaction Problem
3.1. Problem Solving by Searching
3.2. Problem Solving Agents
3.3. Problem Formulation
3.4. Search Strategies
Week/Lecture 3.5. Avoiding Repeated States
3.6. Constraint Satisfaction Search
Games as Search Problems
CHAPTER 4:
4. Knowledge and Reasoning
4.1. Logical Agents
4.2. Propositional Logic
4.3. Predicate (First-Order)Logic
4.4. Inference in First-Order Logic
4.5. Knowledge Representation
4.6. Knowledge-based Systems

Chapter 5:
5. Learning
5.1. Learning from Examples/Observation
5.2. Knowledge in Learning
5.3. Learning Probabilistic Models
Neural Networks
6. Communicating, Perceiving, and Acting
6.1. Natural Language Processing
6.2. Natural Language for Communication
6.3. Perception
Robotics
Date of Exam:
Assessment Test 1…………………10%

Page | 174
Software Engineering Five Year Regular Program, AMU
Test 2…………………10%

Assignment ……….….10% Submission Date:

LAB…………………20%

Final Examination ……50% All Lectures


As per university schedule.
Reference Text Book;
1. Russell, S. and P. Norvig (1995) Artificial Intelligence: A
Modern Approach Prentice-Hall.
Reference
2. Luger, G. (2002) Artificial Intelligence, 4th ed. Addison-
Wesley.
3. Bratko, Ivan (1990) PROLOG Programming for Artificial
Intelligence, 2nd ed. Addison-Wesley, 1990
4. Winston, P.H. (1992) Artificial Intelligence Addison-
Wesley.
Ginsberg, M.L. (1993) Essentials of Artificial Intelligence. Morgan
Kaufman
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given.

Page | 175
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY

DEPARTMENT : COMPUTER SCIENCE & INFORMATION TECHNOLOGY


Program Software Engineering
Course Code COSC5193
Course Title: Introduction to Robotics
Instructor/Tutor
Office location:
Mobile: E-mail:
Consultation Hours:
ECTS Credits (CP) 5
Contact Hours Lecture Tutorial Lab/Practical Home Study Total
48 48 55 151
Target Group: G1Software Engineering Regular Program
Year /Semester Year: V, Semester: II
Pre-requisites COSC5192
Status of the Course Core
Course Description
Course Objective:  Understand the elements of an industrial robot, mechanisms,
 sensors, actuators and end effectors.
 Program robotic manipulators
 Acquaintance with artificial intelligence applications in robotics
 Introduce industrial control circuits and applications of PLCs in
 modern industrial control
Course Outline
Date Topic

Page | 176
Software Engineering Five Year Regular Program, AMU
This course is designed to provide students a working knowledge of:

Robot Fundamentals; Mechanisms and Actuators, Sensors and Detectors;


Modeling and Control of Manipulators; Robot Applications and
Programming; Review of Industrial Control Devices and Circuits; Basic
Ladder Logic and Control; Programmable Logic Controllers and

Week/Lecture Applications.
1. Robotic Fundamentals Introduction, Robot kinematics; rigid body
motion; transformation of
coordinates
2 Mechanisms and Actuators Sensors and Detectors, Position, Velocity,
Acceleration, Force torque; Touch and Tactile
Sensors; Proximity and Range Detectors, Machine Vision

Page | 177
Software Engineering Five Year Regular Program, AMU
Week/Lecture 3 . Modeling and Control of Manipulators Newton’s equations; Euler
Lagrange method; motion control;
manipulator control; trajectory generation; computer control
4. Robot Applications and Programming
5. Pick and place; spot and arc welding; surface coating; assembly
6. Review of Industrial Control Devices and Electronics
7. Basic Ladder Logic and Control
8. Programmable Logic Controllers and Applications
14. , inter-process communication
15. Low-power Computing
16. Sources of energy consumption, instruction-level strategies for
power management, memory system power consumption, system level
power management
Reliable System Design
18. Failures in hardware, sources of errors from software, design
verification and its role, fault-tolerant techniques
19. Design Methodologies and Tools
RTOS Tools, Logic analyzers, Compilers and
Programming environments, Software management
Tools
20. Networked Embedded Systems
Why networked embedded systems, examples of
networked embedded systems
14 Interfacing and Mixed-signal systems
D/A and A/D conversions, how to partition A/D processing in
interfaces
Test 1…………………10% Date of Exam:
Test 2…………………10%
Assignment ……….….10% Submission Date:
Assessment

LAB…………………20%

Page | 178
Software Engineering Five Year Regular Program, AMU
Final Examination ……50% All Lectures
As per university schedule.
Reference Text Books:
Introduction to Software Engineering,Ronald J. Leach, November 24,
1999 by CRC Press .
Summary of The learning–teaching methodology will be student-centered with
Teaching Learning appropriate guidance of instructor/s during the students’ activities .There
Methods will be Lecture, Demonstrations, Tutorials, Reading assignments and
Group Discussions
Summary of The course will be assessed using the different Continues Assessment
Assessment methods like: Quizzes , Reading assessments, Assignments, Project,
Methods Lab exam and Final exam.
Assignment There will be an assignment followed by questionnaires which will be
scrutinized meticulously and graded. Further detail as to content, process
and timing will be provided in due course. Your grade will be based on
satisfactory completion of the assignments in a timely manner, and the
quality of work represented. Assignments must be submitted on the due
date given.

Page | 179
Software Engineering Five Year Regular Program, AMU

You might also like