Bachelor of Science in Software Engineering
Nigeria (and indeed sub-Saharan Africa) represents virgin territory for the software industry and the field in turn presents huge opportunities for the region within the context of an expanding global economy. It is well known that the software industry is the only one that wealth can be created from zero or near-zero capital – only intellectual capital is needed. There is therefore the need for Nigeria to grow its own crop of software engineers as a force for sustainable socio-economic development.
The Philosophy and Mission Statement underlying the programmes in Software Engineering is aimed at achieving the goals and objectives of the National Policy on Industrialisation and Self-Reliance. This is to be achieved through:
Broad–based foundation in Computing, Science and Engineering and Technology as well as specialized knowledge and practice in Software Engineering.
Practical exposure to application of Software Engineering to problem solving.
Adequate training in human and organisational behaviour and management in the software development life-cycle.
Developing in the products entrepreneurial knowledge, a sense of public responsibility and a spirit of self-reliance.
Nurturing of partnership between the institution and the software industry for effective programme delivery.
Creating an awareness and understanding of the moral, ethical, legal, and professional obligations needed to function as part of the computing ecosystem while protecting human health and welfare and the environment in a global society.
Creating an awareness and understanding of the need to develop leadership and team building skills to maximize the benefits of Software Engineering education and its application to solving problems
The general philosophy therefore is to produce graduates with high academic and ethical standards and adequate practical exposure for self-employment as well as being of immediate value to the software industry and the community in general.
The general goal and objectives of Software Engineering education and training should be in consonance with the realisation of national needs and aspirations vis-à-vis industrial development and technological emancipation. The graduates must therefore be resourceful, creative, knowledgeable and able to perform the following functions:
- To appreciate the importance of computer science (as a base) in such areas as principles of programming, algorithm, data structures, databases and programming languages
- To develop and utilize the practical skills acquired in software architecture and design, software metrics, verification and validation, requirements and analysis and the software engineering process for the production of software-based systems
- To develop expertise in programming in a number of different languages with emphasis on the production of robust, reliable, cost-effective and secure codes that are based on sound design and development principles and adapted to the needs of a developing and emerging economy such as Nigeria in a technically professional manner
- To be able to exercise original thought, have good professional judgment and be able to take responsibility for the execution of important tasks as programmers, system analysts, software developers, web developers, software consultants, system administrators, IT project managers, system engineers and entrepreneurs, etc.
- To be able to produce and manage high-quality software-based solutions with long life-cycles especially for large or complex systems
- To develop the understanding and engineering and entrepreneurial skills needed to become the architects and project leaders building systems in which software plays a critical role
- To leverage on Software Engineering as the driving force behind the new technologies that are transforming the way we live and work
- To have the requisite knowledge and skill base for further academic and professional development in Software Engineering
The programme in Software Engineering will focus on imparting the knowledge and practical skills to enable students understand the principles and practice of software systems design, development and maintenance. This should enable them to be able to balance software system design and development with safety, reliability, cost and scheduling especially for large scale systems. Other fields of studies in the computing ecosystem related to Software Engineering are:
- Computer Science
- Computer Engineering
- Information Technology
- Information Systems
- Others that include Bio-Informatics, Cyber-Security Sciences, Information and Communication Technology.