Bachelor of Science (Software Engineering)

Program Info (  Eligibility Criteria  )
Career Opportunities

Your career prospects will be excellent: You may become software quality assurance engineer, systems programmer, embedded software engineer, software architect, Chief Technology Officer, Chief Information Officer, User Interface designer, Information Systems manager or computer graphic designer etc.

Award of Degree

For the award of BS (Software Engineering) degree, a student must have:

  • Passed courses totalling at least 133 credit hours, including all those courses which have been specified as Core courses.
  • Obtained a CGPA of at least 2.00
Tentative Study Plan
Sr. No Course Name Crdt Hrs.
Semester 1
1 CL1000 Introduction to Information and Communication Technology 0+1
2 CS1002 Programming Fundamentals 3+1
3 NS1001 Applied Physics 3+0
4 MT1003 Calculus and Analytical Geometry 3+0
5 SS1013 Ideology and Constitution of Pakistan 2+0
6 SS1012 Functional English 2+1
Total 13 + 3
Sr. No Course Name Crdt Hrs.
Semester 2
1 CS1004 Object Oriented Programming 3+1
2 SE1001 Introduction to Software Engineering 3+0
3 CS1005 Discrete Structures 3+0
4 EE1005 Digital Logic Design 3+1
5 MT1008 Multi Variable Calculus 3+0
Total 15 + 2
Sr. No Course Name Crdt Hrs.
Semester 3
1 CS2001 Data Structures 3+1
2 SE2001 Software Requirements Engineering 3+0
3 EE2003 Computer Organization and Assembly Language 3+1
4 MT1004 Linear Algebra 3+0
5 SS1007 Islamic Studies/Ethics 2+0
6 SS/MG Elective-I 2+0
Total 16 + 2
Sr. No Course Name Crdt Hrs.
Semester 4
1 CS2005 Database Systems 3+1
2 MT2005 Probability and Statistics 3+0
3 SE2002 Software Design and Architecture 3+0
4 CS2006 Operating Systems 3+1
5 SS1014 Expository Writing / Communication & Presentation Skills 2+1
6 CSxxxx Computing Internship 0+1
Total 14 + 4
Sr. No Course Name Crdt Hrs.
Semester 5
1 SE3004 Software Construction & Development 3+0
2 SE3002 Software Quality Engineering 3+0
3 CS2009 Design and Analysis of Algorithms 3+0
4 SS2007 Technical and Business Writing 3+0
5 SExxxx SE Elective – I 3+0
Total 15 + 0
Sr. No Course Name Crdt Hrs.
Semester 6
1 CS3001 Computer Networks 3+1
2 SE4002 Fundamentals of Software Project Management 3+0
3 AI2002 Artificial Intelligence 3+1
4 SExxxx SE Elective – II 3+0
5 SExxxx SE Elective – III 3+0
Total 15 + 2
Sr. No Course Name Crdt Hrs.
Semester 7
1 SE4091 Final Year Project - I 0+3
2 CS3002 Information Security 3+0
3 CS3006 Parallel and Distributed Computing 3+0
4 SS3002 Civics and Community Engagement 2+0
5 SExxxx SE Elective – IV 3+0
6 SExxxx SE Elective – V 3+0
Total 14 + 3
Sr. No Course Name Crdt Hrs.
Semester 8
1 SE4091 Final Year Project - II 0+3
2 CS4001 Professional Practices 3+0
3 SS/MG Elective-II 3+0
4 SExxxx SE Elective – VI 3+0
5 MG4011 Entrepreneurship 3+0
Total 12 + 3
Domain Cr. Hrs
Computing Core 52
General Education 30
Maths and Supporting Courses 12
Domain Core 21
Domain Elective 15
Elective Supportive Courses 3
Total 133

Note 1: Total: 133

Note 2: Registration in “Project-I” is allowed provided the student has earned at least 93 credit hours, and his/her CGPA is equal to or greater than the graduating CGPA (2.0).

Program Educational Objectives (PEO)

  1. Fundamental Knowledge of Software Engineering To have competence in applying Software Engineering principles & best practices across various phases of Software/System Development Life Cycle (SDLC) in diverse professional roles.
  2. Ethical and Societal Responsibilities To demonstrate a sound sense of ethical and social responsibilities for sustainable societal development.
  3. Communication Skills To effectively communicate ideas clearly and persuasively in written and oral forms.
  4. Leadership To become an effective team member and demonstrate leadership skills through competence, empathy and a sense of responsibility.
  5. Continuous Improvement To have a life-long learning attitude with an ability to improve and expand existing skills through formal education, participation in professional activities and acquisition of new technical proficiencies.

Program Learning Outcomes (PLOs)


Academic Education

Completion of an accredited program (BS SE)of study designed to prepare graduates as computing professionals


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


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


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


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


Individual and Team Work

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



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


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



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


Life-long Learning

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