Software Engineering
Software Engineering
Software Engineering
In
Software Engineering
July 2016
arba Minch, Ethiopia
EXECUTIVE SUMMARY
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 _____________________________________
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.
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.
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
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.
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
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
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
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
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
Total 15 9
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
Page | 14
Software Engineering Five Year Regular Program, AMU
Methods
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
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
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
Page | 18
Software Engineering Five Year Regular Program, AMU
Assessment Assignments/mid exam/final exam/projects/laboratory exercises
Methods
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
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
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
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
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
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
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
Elective Courses:
Page | 30
Software Engineering Five Year Regular Program, AMU
17. Course guidebook:
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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
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%
LAB…………………20%
Page | 33
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
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.
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
Page | 42
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
Page | 45
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
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
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
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%
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
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 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
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
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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:
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
Multithreading
Networking
Advanced Swing Models
Menus, Toolbars, Dialogs
Containers, Layout Managers, and Borders
Date of Exam:
Test 1…………………10%
Test 2…………………10%
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
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%
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
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%
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
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%
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
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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
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:
Page | 74
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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:
Page | 77
Software Engineering Five Year Regular Program, AMU
Final Examination ……40% All Lectures
As per university schedule.
Reference Required Texts:
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
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
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%
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
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:
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%
Page | 92
Software Engineering Five Year Regular Program, AMU
published), ISBN 978-3-642-12577-5 (l
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
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
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
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%
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
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%
Page | 102
Software Engineering Five Year Regular Program, AMU
Methods Lab exam and Final exam.
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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
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
LAB EXAMINATION
PROJECT EVALUATION
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
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:
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%
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
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
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:
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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
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
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%
Assessment
Project………………...20% Date for Project Assessment/
Presentation…………...10% Presentation:
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
Page | 122
Software Engineering Five Year Regular Program, AMU
Year /Semester Year: III, Semester: II
Pre-requisites SENG3132 Software Requirements Engineering
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%
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
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%
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
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%
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%
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
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:
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
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%
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
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%
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
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%
Assessment
Presentation…………...30% Date for Project Presentation:
Page | 143
Software Engineering Five Year Regular Program, AMU
in class
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
Page | 144
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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. ….
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.
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
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%
Page | 150
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
Page | 151
Software Engineering Five Year Regular Program, AMU
scientific thinking.
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
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
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%
Page | 155
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
Page | 157
Software Engineering Five Year Regular Program, AMU
Assignment ……….….10% Submission Date:
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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:
Page | 159
Software Engineering Five Year Regular Program, AMU
Course Outline
Chapter Topic
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
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%
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
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:
Course Outline
Chapter Topic
Page | 163
Software Engineering Five Year Regular Program, AMU
1. Sequence and series
Page | 164
Software Engineering Five Year Regular Program, AMU
Chapter 3 3. Differential calculus of function of several variables
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%
LAB…………………20%
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
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
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%
LAB…………………20%
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.
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
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%
LAB…………………20%
Page | 175
Software Engineering Five Year Regular Program, AMU
ARBAMINCH INSTITUTE
ARBAMINCH
OF TECHNOLOGY
UNIVERSITY
Page | 176
Software Engineering Five Year Regular Program, AMU
This course is designed to provide students a working knowledge of:
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