Courses Catalogue

Software Engineering

ACADEMIC PROGRAMME: Information Technology, B.Sc
COLLEGE/SCHOOL/FACULTY: School of Mathematics and Computing
PROGRAMME TYPE: Undergraduate

Course Description

Course Description:

This 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 small teams.

Course Objective:

The course has been designed to:

1.    Expose students to the software Development process and the core activities at various levels of development

2.    Train students on requirements analysis of a simple software system

3.    Enable students to manage a team of software developers

4.    Expose students to software documentation

5.    Expose students to Validation, Verification and testing a software Product.


Course Learning Outcomes:

By the end of the course, students should be able to:

1. Explain the process of software development.

2. Apply the principles and methods of software engineering in practice.

3. Apply critical and analytic thinking to the planning, execution, and evaluation of the software development process

4. Use automated tools to support the software development process

5. Demonstrate creative thinking in the design of industry strength practical software solutions

6. Describe techniques and methodologies used in the software development process

7. Design software artifacts