Software Engineering is the discipline of developing and maintaining software systems that behave reliably and efficiently and are affordable to develop and maintain. However, more recently it has evolved in response to the increased importance of software in safety-critical applications and to the growing impact of large and expensive software systems in a wide range of situations. The following describes an overview of Software Engineering.

  • To provide software development practices requires more than just the underlying principles of computer science; it offers the rigor that the engineering disciplines bring to the reliability and trust worthiness of the artefacts.
  • Software Engineering is different in character from other engineering disciplines, due to both the intangible nature of software and to the discontinuous nature of software operation.
  • It seeks to integrate the science of Computer Science with the engineering principles developed for tangible and physical phenomena.

Software plays a central and underpinning role in almost all aspects of daily life: communications, government, manufacturing, banking and finance, education, transportation, entertainment, medicine, agriculture, and law. The number, size, and application domains of computer programs have grown dramatically; as a result, huge sums are being spent on software development. Most people’s lives and livelihoods depend on this development’s effectiveness. Software products help us to be more efficient and productive. They provide information, make us more effective problem solvers, and provide us with safer, flexible, and less confining work, entertainment, and recreation environments.
Software Engineering is the application of a systematic, disciplined, and quantifiable approach to the design, development, operation, and maintenance of software systems. It is in fact the practice of designing and implementing large, reliable, efficient, and economical software by applying the principles and practices of engineering. The department aims to train students in all aspects of software life cycle from specification through analysis and design to testing, maintenance and evolution of software product.

Program Structure

The Bachelor of Science in Software Engineering (BSSE) combines a solid core of computer science courses as well as an understanding and appreciation for arts, humanities, and social sciences, and their importance in today’s society. BSSE provides students with theocratical and practical knowledge in all aspects of software life cycle from specification through analysis and design to testing, maintenance and evolution of software product in order to responsibly apply and practice in wide variety of domains. This is a 4-year degree program, which aims to enable students to apply scientific and engineering methodologies to the analysis of problems and the design, implementation, and evaluation of computer-based solutions.

Eligibility Criteria

  • FA/F.Sc. or equivalent qualifications with at least second division, securing 50% marks in aggregate.
  • The students who have not studied Mathematics at intermediate level must pass deficiency courses of Mathematics of 6 credit hours within one year of their regular studies.
  • Qualifying for the admission test and interview is compulsory. A candidate scoring less than 40% marks in the test and interview will stand disqualified for admission.
  • Candidates who have secured at least 40% in the NTS-NAT are also eligible to apply.
  • The merit of a candidate shall be measured by a 50 % weight age to the marks obtained in HSC or equivalent, 40 % to the marks obtained in the written test, and 10% to the marks obtained in the interview.
  • A candidate shall be given a special credit of thirty marks for admission in each program mentioned above if he/she has studied Computer Science and/or statistics at intermediate level (for BS Data Science program only) at intermediate level or has done A level.
  • The Hafiz Quran shall be given a special credit of 20 marks.
  • The credit marks shall be added to the marks obtained at HSC or equivalent, subject to fulfilment of basic eligibility criteria of 50% marks.

Degree Requirements

For a BSSE 4-year degree, a student is required to complete a minimum of 130-140 credit hours including a 6-credit hour research thesis/project. The normal duration for completion of BSSE degree is 8 semesters over a period of 4 years. The maximum duration for obtaining BSSE degree shall be 7 years.

Program Educational Objectives (PEOs) for BS Software Engineering Program:

PEO 1:    To Provide students with theocratical and practical knowledge in all aspects of software life cycle from specification through analysis and design to testing, maintenance and evolution of software product in order to responsibly apply and practice in wide variety of domains.
PEO 2:    To groom its students to communicate effectively, demonstrate leadership qualities and professional integrity.
PEO 3:    To inculcate the ability in its students to continue enhancing their computing knowledge and skills after graduation and excel in their careers as researchers, professionals, and entrepreneurs.
PEO 4:    To groom its students to be effective, after graduation, in society and diverse professional environments maintaining high ethical standards.

Graduate Attributes (GAs) for BS Software Engineering Program

The Graduates Attributes (GAs) are exemplars of the qualities and attributes expected of a graduate from an accredited program. Graduates Attributes (GAs) are the components indicative of the graduate’s potential to acquire competence to practice at the appropriate level.
The following GAs for undergraduate computing programs has been adopted from the Seol Accord as recommended by the National Computing Education Accreditation Council (NCEAC).

  • GA 1:  Gain an understanding of the underpinning theories of fundamental principles and technologies within the area of computer science (Academic education).
  • GA 2:  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 (Knowledge for Solving Computing Problems).
  • GA 3:  Identify, formulate, research literature, and solve complex computing problems reaching substantiated conclusions using fundamental principles of mathematics, computing sciences, and relevant domain disciplines (Problem Analysis).
  • GA 4:  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 (Design/ Development of Solutions).
  • GA 5:  Create, select, adapt, and apply appropriate techniques, resources, and modern computing tools to complex computing activities, with an understanding of the limitations (Modern Tool Usage).
  • GA 6:  Function effectively as an individual and as a member or leader in diverse teams and in multi-disciplinary settings (Individual and Teamwork).
  • GA 7:  Communicate effectively with the computing community and with society about complex computing activities by being able to comprehend and write effective reports, design documentation, make effective presentations, and give and understand clear instructions (Communication).
  • GA 8:  Understand and assess societal, health, safety, legal, and cultural issues within local and global contexts, and the consequential responsibilities relevant to professional computing practice (Computing Professionalism and Society).
  • GA 9:  Understand and commit to professional ethics, responsibilities, and norms of professional computing practice (Ethics).
  • GA 10: Recognize the need, and have the ability, to engage in independent learning for continual development as a computing professional (Life-long Learning).

Curriculum Model for BS Software Engineering

The generic structure for computing degree program under the Higher Education Commission’s (HEC) guidelines is mapped with the BS Software Engineering program in the following tables.

Structure for BS Software Engineering Program

Areas

Credit Hours

Courses

Computing Core

46

14

Domain Core

18

6

Domain Elective

21

7

Mathematics & Supporting Courses

12

4

Elective Supporting Courses

3

1

General Education Requirement

30

12

Totals

130

44

 Mapping of BS Software Engineering Program on the Generic Structure:

#

Sem #

Code

Pre- Reqs

Course Title

Domain Cr

Cr.Hr

Computing Core (46/130) 14 Courses

1

CS1xx

Programming Fundamentals

Core

4 (3-3)

2

CS1xx

PF

Object Oriented Programming

Core

4 (3-3)

3

CS1xx

Database Systems

Core

4 (3-3)

4

CS1xx

Digital Logic Design

Core

3 (2-3)

5

CS2xx

OOP

Data Structures

Core

4 (3-3)

6

CS2xx

Information Security

Core

3 (2-3)

7

CS2xx

Artificial Intelligence

Core

3 (2-3)

8

CS2xx

Computer Networks

Core

3 (2-3)

9

CS2xx

Software Engineering

Core

3 (3-0)

10

CS2xx

DLD

Computer Organization & Assembly Language

Core

3 (2-3)

11

CS3xx

Operating Systems

Core

3 (2-3)

12

CS4xx

DS

Analysis of Algorithms

Core

3 (3-0)

13

CS4xx

Final Year Project – I

Core

2 (0-6)

14

CS4xx

FYP-I

Final Year Project – II

Core

4 (0-12)

Domain Core (18/130) 6 Courses

15

4

CS2xx

Software Design & Architecture Domain Core

3 (3-0)

16

4

CS2xx

Software Construction & Development Domain Core

3 (2-3)

17

5

CS3xx

Software Project Management Domain Core

3 (2-3)

18

5

CS3xx

Software Quality Engineering Domain Core

3 (2-3)

19

6

CS3xx

Software Requirement Engineering Domain Core

3 (2-3)

20

6

CS3xx

Parallel & Distributed Computing Domain Core

3 (2-3)

Domain Elective (21/130) 7 Courses
(Institute can add/remove courses in Domain Elective list)

21

5

CS3xx

Software Verification and Validation (Testing & QA) Domain Elective

3 (2-3)

22

5

CS3xx

Object Oriented Analysis & Design Domain Elective

3 (2-3)

23

6

CS3xx

Computer Architecture Domain Elective

3 (2-3)

24

6

CS3xx

Theory of Automata Domain Elective

3 (3-0)

25

6

CS3xx

HCI & Computer Graphics Domain Elective

3 (2-3)

26

6

CS3xx

Web Technologies Domain Elective

3 (2-3)

27

7

CS4xx

Advanced Database Management Domain Elective

3 (3-0)

.

Web Engineering Domain Elective

3 (2-3)

.

Data Science Domain Elective

3 (2-3)

.

Software Re-Engineering Domain Elective

3 (2-3)

.

Mobile Application Development 1 Domain Elective

3 (2-3)

Mathematics & Supporting Courses (12/130) 4 Courses

28

MT1xx

CAG

Multivariable Calculus

Maths

3 (3-0)

29

MT1xx

CAG

Linear Algebra

Maths

3 (3-0)

30

MT2xx

Probability & Statistics

Maths

3 (3-0)

31

EW4xx

ECC

Technical & Business Writing

EW

3 (3-0)

Elective Supporting Courses (3/130) 1 Course

32

SS1xx

Social Science (Example: Introduction to Marketing)

SS

3 (3-0)

SS1xx

Social Science (Example: Financial Accounting)

SS

3 (3-0)

General Education Requirement as per HEC UG Education Policy (30/130) 12 Courses

33

GE1xx

Application of Information & Communication Technologies

GER

3 (2-3)

34

GE1xx

Functional English

GER

3 (3-0)

35

GE1xx

ECC

Expository Writing

GER

3 (3-0)

36

GE1xx

Quantitative Reasoning – 1 (Discrete Structures)

GER

3 (3-0)

37

GE1xx

Quantitative Reasoning – 2 (Calculus and Analytic Geometry)

GER

3 (3-0)

38

GE2xx

Islamic Studies

GER

2 (2-0)

39

GE4xx

Ideology and Constitution of Pakistan

GER

2 (2-0)

40

GE2xx

Social Sciences (Example: Introduction to Management)

GER

2 (2-0)

41

GE2xx

Natural Sciences (Applied Physics)

GER

3 (2-3)

42

GE4xx

Arts & Humanities (Professional Practices)

GER

2 (2-0)

43

GE4xx

Civics and Community Engagement

GER

2 (2-0)

44

GE4xx

Entrepreneurship

GER

2 (2-0)

Semester/Study Plan for BS Software Engineering over 8 Semesters

#

Code

Pre-Reqs

Course Title

Domain

Cr.Hr (Cont. Hr)

Semester 1

1

CS1xx

Programming Fundamentals

Core

4 (3-3)

2

GE1xx

Application of Information & Communication Technologies

GER

3 (2-3)

4

GE1xx

Calculus and Analytic Geometry – QR 1

GER

3 (3-0)

5

GE1xx

Functional English

GER

3 (3-0)

22

GE2xx

Islamic Studies

GER

2 (2-0)

Total Cr Hrs

15 (13-6)

Semester 2

6

CS1xx

PF

Object Oriented Programming

Core

4 (3-3)

20

GE2xx

Applied Physics — Natural Science

GER

3 (2-3)

10

MT1xx

CAG

Linear Algebra

Maths

3 (3-0)

42

GE4xx

Ideology and Constitution of Pakistan

GER

2 (2-0)

21

GE1xx

Expository Writing

GER

3 (3-0)

28

GE2xx

Social Science Course

GER (SS)

2 (2-0)

Total Cr Hrs

17 (15-6)

Semester 3

11

CS2xx

OOP

Data Structures

Core

4 (3-3)

23

CS3xx

Operating Systems

Core

3 (2-3)

3

GE1xx

Discrete Structures – QR 2

GER

3 (3-0)

9

MT1xx

CAG

Multivariable Calculus

Maths

3 (3-0)

44

GE4xx

Civics and Community Engagement

GER

2 (2-0)

8

CS1xx

Digital Logic Design

Core

3 (2-3)

Total Cr Hrs

18 (15-9)

Semester 4

36

CS4xx

DS

Analysis of Algorithms

Core

3 (3-0)

17

CS2xx

DLD

Computer Organization & Assembly Language

Core

3 (2-3)

7

CS1xx

Database Systems

Core

4 (3-3)

16

MT2xx

Probability & Statistics

Maths

3 (3-0)

15

CS2xx

Software Engineering

Core

3 (3-0)

13

CS2xx

Artificial Intelligence

Core

3 (2-3)

Total Cr Hrs

19 (16-9)

Semester 5

14

CS2xx

Computer Networks

Core

3 (2-3)

19

CS2xx

DB

Domain Core 1

Domain Core

3 (2-3)

24

CS3xx

Domain Core 2

Domain Core

3 (2-3)

25

CS3xx

COAL

Domain Core 3

Domain Core

3 (2-3)

39

EN4xx

Technical & Business Writing

EN

3 (3-0)

43

GE4xx

Professional Practices — Arts & Humanities

GER

2 (2-0)

Total Cr Hrs

17 (13-12)

Semester 6

18

CS2xx

Domain Core 4

Domain Core

3 (3-0)

12

CS2xx

Information Security

Core

3 (2-3)

26

CS3xx

Domain Elective 1

Domain Elective

3 (2-3)

27

CS3xx

Domain Elective 2

Domain Elective

3 (2-3)

38

SS1xx

Social Science Course

SS

3 (3-0)

40

GE4xx

Entrepreneurship

GER

2 (2-0)

Total Cr Hrs

17 (14-9)

Semester 7

35

CS4xx

Final Year Project – I

Core

2 (0-6)

31

CS3xx

Domain Elective 3

Domain Elective

3 (2-3)

32

CS3xx

Domain Elective 4

Domain Elective

3 (2-3)

33

CS3xx

Domain Elective 5

Domain Elective

3 (2-3)

29

CS3xx

TA

Domain Core 5

Domain Core

3 (2-3)

Total Cr Hrs

14 (8-18)

Semester 8

41

CS4xx

Final Year Project – II

Core

4 (0-12)

30

CS3xx

OS

Domain Core 6

Domain Core

3 (2-3)

34

CS3xx

Domain Elective 6

Domain Elective

3 (2-3)

37

CS4xx

Domain Elective 7

Domain Elective

3 (2-3)

Total Cr Hrs

13 (6-21)