Courses Catalogue

Software Engineering

COURSE CODE: COS 2203
COURSE CREDIT UNIT: 4
ACADEMIC PROGRAMME: Education (Computer), B.Ed
COLLEGE/SCHOOL/FACULTY: College of Education, Open and Distance Learning
STATUS: Basic
PROGRAMME TYPE: Undergraduate

Course Description

Course Justification/Rationale:

Its wholesome objective is that the Information Technology programme is to produce graduates who are part of the solution. Hence knowledge presented in this course unit enable the students to deliver ready for use systems or applications. IT instigates into the learners a critical perception of problems that compels to do nothing less butt engineer solutions that work. Thus, this majorly practical unit is very relevant to systems analysts, systems designers and software developers.

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 is 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 Objectives:

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 manage a team of software developers

4.       Expose students to software documentation

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

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.