Skip to main content

University of Southern Punjab

BS Software Engineering

Introduction

Software Engineering is the application of systematic, disciplined, and quantifiable engineering principles to the design, development, testing, deployment, and maintenance of software systems. It focuses on developing reliable, efficient, secure, and cost-effective software solutions that meet the needs of individuals, businesses, and organizations. The program aims to equip students with the knowledge and practical skills required to manage all stages of the software development life cycle, from requirement analysis and system design to implementation, testing, maintenance, and evaluation of software products.

Software Engineering spans a wide range of areas, from software design principles and programming methodologies to modern developments in artificial intelligence, cloud computing, mobile application development, cybersecurity, and large-scale software systems. The overall scope of Software Engineering may be viewed in the following three categories:

  • To develop reliable and efficient software solutions: Software Engineering focuses on applying engineering principles and best practices to develop software that meets specified requirements. It involves analyzing problems, designing appropriate solutions, writing high-quality code, and testing software to ensure its reliability, performance, security, and maintainability. Through systematic development methods, Software Engineering helps create software products that are scalable, cost-effective, and capable of solving complex real-world problems.
  • To improve software development processes and project management: Software Engineering introduces systematic approaches to planning, organizing, and managing software projects. It includes software development methodologies, teamwork, quality assurance, risk management, and project scheduling. Modern practices such as Agile development, DevOps, and continuous integration help teams deliver software more efficiently, adapt to changing requirements, and maintain high standards of quality throughout the development process.
  • To design, develop, and maintain advanced software systems: Software Engineering provides the knowledge and practical skills needed to design and implement a wide variety of software applications, including web applications, mobile applications, enterprise systems, and intelligent software solutions. It combines theoretical knowledge with practical engineering techniques to address challenging software development problems. The discipline also prepares graduates to adapt to emerging technologies, work effectively in professional software development environments, and contribute to the development of innovative software solutions for the evolving needs of society.

Eligibility Criteria

Duration of the Program and Award of Degree

At minimum 130 credit hours are required for award of BSSE degrees in any computing discipline mentioned in this document.

The minimum duration for completion of BSSE is four years. The HEC allows maximum period of seven years to complete BS degree requirements.

A minimum 2.0 CGPA (Cumulative Grade Point Average) on a scale of 4.0 is required for award of BS Computing Degree.

The students after successful completion of 04 semesters in BS Computing Programs may exit with Associate Degree in Computing subject to completion of all requirements for the award of associate degree, i.e., Credit Hours, CGPA, and compulsory courses.

Program Mission

To prepare competent software engineering professionals with strong theoretical foundations and practical skills in software design, development, testing, and maintenance. The program emphasizes software quality, innovation, ethical practices, teamwork, and lifelong learning to develop reliable and sustainable software solutions that address industry and societal challenges and contribute to technological and socio-economic development.

Program Educational Objectives (PEOs)

PEO-I

Graduates will apply software engineering principles, technical knowledge, and modern development practices to design, develop, test, and maintain reliable software solutions for industry and societal needs.

PEO-II

Graduates will demonstrate professional ethics, effective communication, teamwork, and responsibility while developing and managing software engineering projects.

PEO-III

Graduates will engage in lifelong learning, adapt to emerging software technologies, and contribute to innovation, professional growth, and sustainable technological development.

Graduate Attributes

GA-1 Academic Education

To prepare graduates as computing professionals

GA-2 Knowledge for Solving Computing Problems

Apply knowledge of computing fundamentals, knowledge of a computing specialization, and mathematics, science, and domain knowledge appropriate for the computing specialization to the abstraction and conceptualization of computing models from defined problems and requirements.

GA-3 Problem Analysis

Identify, formulate, research literature, and solve complex computing problems reaching substantiated conclusions using fundamental principles of mathematics, computing sciences, and relevant domain disciplines.

GA-4 Design / Development of Solutions

Design and evaluate solutions for complex computing problems, and design and evaluate systems, components, or processes that meet specified needs with appropriate consideration for public health and safety, cultural, societal, and environmental considerations.

GA-5 Modern Tool Usage

Create, select, adapt and apply appropriate techniques, resources, and modern computing tools to complex computing activities, with an understanding of the limitations.

GA-6 Individual and Team Work

Function effectively as an individual and as a member or leader in diverse teams and in multi-disciplinary settings.

GA-7 Communication

Communicate effectively with the computing community and with society at large about complex computing activities by being able to comprehend and write effective reports, design documentation, make effective presentations, and give and understand clear instructions.

GA-8 Computing Professionalism and Society

Understand and assess societal, health, safety, legal, and cultural issues within local and global contexts, and the consequential responsibilities relevant to professional computing practice.

GA-9 Ethics

Understand and commit to professional ethics, responsibilities, and norms of professional computing practice.

GA-10 Life-long Learning

Recognize the need, and have the ability, to engage in independent learning for continual development as a computing professional.

Mapping of PEOs to GAs

S. No. GAs PEO1 PEO2 PEO3
1.
Academic Education
2.
Knowledge for Solving Computing Problems
3.
Problem Analysis
4.
Design / Development of Solutions
5.
Modern Tool Usage
6.
Individual & Team Work
7.
Communication
8.
Computing Professionalism and Society
9.
Ethics
10.
Life-Long Learning

Generic Structure for BSSE

Credit Hours Courses
46
14
18
6
21
7
12
4
3
1
30
12
Total = 130
Total = 44

Scheme of Study BS Software Engineering Program

Total Credit Hours = 130

Courses
Introduction to Info. & Comm.
Programming Fundamentals
Calculus & Analytical Geometry
Applied Physics
Pakistan Studies
English Composition & Comprehension
Discrete Structure
Communication & Presentation Skills
Object Oriented Programming
Software Engineering
Islamic Studies
University Elective -1
Data Structures & Algorithms
Software Requirement Engineering
Human Computer Interaction
Linear Algebra
University Elective -2
Operating System
Database Systems
Software Design & Architecture
Probability & Statistics
Software Construction & Development
Computer Networks
Technical & Business Writing
SE Supporting -1
SE Supporting -2
Software Quality Engineering
Information Security
Professional Practice
Web Engineering
SE Elective -1
SE Supporting -3
Software Project Management
Software Re-Engineering
SE Elective -2
SE Elective -3
Elective -4
Elective -5
Final Year Project -1
Final Year Project -2
University Elective -4