BS Software Engineering
The 21st century is loaded with a large number of challenges. These challenges include a globalized business environment, keeping pace with innovative technologies, the availability of information with respect to time, speed, volume, mode, nature, and management of this exponentially growing information, keeping control of international and inter-organizational business processes in real-time, optimization of business processes across multiple sites, highly uncertain and chaotic business environments, a new level of national & international competition (hyper-competition), social & cultural diversity, rapidly changing products and processes, government regulations, increasing importance of skills, qualities, productivity, and other stresses. To face these challenges and to bring a high level of agility, control, and transparency organizations now increasingly focus on maximizing their existing technology and human infrastructure by automating various processes that can free human resources to add value elsewhere within the organization. Accordingly, the software industry looks for graduates who are not only equipped with conventional computing skills but also have the capability to develop complex software that can provide verifiable insight into underlying business processes.
Why Study Software Engineering
Software Engineering is the discipline of developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. Software engineering is different in character from other engineering disciplines due to both the intangible nature of software and the related operations. It seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible, physical artifacts. Software engineering students learn more about software reliability and maintenance and focus more on developing and maintaining software techniques. While Computer Science students just acquire abstract knowledge of these aspects.
Software Engineering is a bridge connecting the basic concepts and principles of Computer Science with a variety of users who can benefit from technologies based upon those principles. It includes the design and development of software systems that are effective, efficient, robust, maintainable, and maximally useful and usable. It also includes the design and development of techniques, processes, and higher-level tools by which these applications can be developed in a timely, cost-effective, and sustainable manner. At both levels, it requires a systematic approach that deals with quantifiable measures of quality and effectiveness, as well as attention to the critical nature of various products of the process. Software Engineering, therefore, requires familiarity with the basic needs and processes in the various application domains, with the principles of good engineering practices, and with the underlying concepts and principles of computer science. It requires facility in problem analysis, solution design, program development, and documentation. It also requires a basic understanding of ways in which humans interact with technological systems and the necessary skills to create high-quality software systems in a systematic, controlled, and efficient manner. It involves the application of engineering concepts, techniques, and methods to the design, development, deployment, and maintenance of software systems.
The key rationale behind the BS Software Engineering program is to produce graduates who have mastery in the above-discussed aspects. The program intends to impart knowledge and training which enable students to harmonize a theory with practice, a concept with an application, and a problem with a solution. It will prepare them to apply ably engineering principles, practices, and processes to design, develop, deploy, and maintain software systems. The program will lead to the development of students’ professional and interpersonal skills. It will help them to enhance their ability in oral and written communication, and their adaptability to team environments. The program will inculcate among students a strong sense of civic, professional, and ethical responsibility. The program will also strive to develop a capacity for innovation and a passion for lifelong learning.
The objective of the program is to prepare students for professional careers and graduate studies with a balance between computing theory and practical application of software engineering concepts, methodologies, tools, and technologies in modern software development environments. The curriculum is designed to ensure breadth across allied disciplines and supporting subjects, and depth in most areas of the software engineering body of knowledge. Various components have been included in the curriculum to ensure that the graduates will:
- Understand and be able to apply mathematics, physical science, computer science, and related disciplines.
- Understand and be able to apply the principles of software engineering practices and processes, subject to realistic constraints.
- Be able to model, analyze, document, and track system requirements, both functional and non-functional.
- Be able to design, implement, deploy and maintain quality-oriented software systems.
- Be able to verify and validate quality-oriented software systems.
- Have an awareness of current industry standards and practices.
- Be able to work in one or more application domains.
- Understand and apply the principles of software quality assurance.
- Be able to understand and apply software project management skills: measurement, estimation, costing, planning, documenting, deployment, and tracking of resources.
- Have strong communication, team management, and interpersonal skills.
- Be capable of independent learning.
- Understand professional responsibility and application of ethical principles.
- Have knowledge of economics, humanities, and social sciences.
The program will produce entrepreneurs of great character, competence, vision, and drive equipped with up-to-date knowledge, marketable skills, valuable competencies, unique expertise, globally compatible dispositions, and culturally and professionally acceptable values to take on appropriate professional roles in the computer science domain or proceed to further or higher education or training.
Minimum credit hours shall be 138 for BS (Software Engineering) program including computing-related courses.
The program shall comprise Eight (8) Terms spread over Four (4) calendar years with two Terms a year. University rules and regulations shall determine the maximum time limit of the Degree.
The candidates must have intermediate mathematics/computer science or equivalent qualification with at least 2nd division or equivalent.