course introduces students to the fundamentals of contemporary software
engineering. An overview of the agile and non-agile software engineering
principles, methods, tools, and techniques are presented. Current trends and
challenges in the practice of software engineering are explored. Students apply
contemporary agile requirements analysis, planning, architecture, design,
implementation and testing practices to software engineering project work in
The course has been
Expose students to the software Development
process and the core activities at various levels of development
Train students on requirements analysis of a
simple software system
Enable students to manage a team of software
Expose students to software documentation
Expose students to Validation, Verification
and testing a software Product.
the end of the course, students should be able to:
the process of software development.
the principles and methods of software engineering in practice.
critical and analytic thinking to the planning, execution, and evaluation of
the software development process
automated tools to support the software development process
creative thinking in the design of industry strength practical software
techniques and methodologies used in the software development process