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) |
||||||
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) |