Department of Computing

Bachelor of Science in Software Engineering
BS Software Engineering
Program Educational Objectives
Graduate Attributes (GAs)
Curriculum
Faculty
Apply Online

Bachelor of Science in Software Engineering

Software Engineering is the practice of creating and implementing large, reliable, efficient, and economical software by applying the principles and practices of engineering. The basic intention of the BS Program in Software Engineering is to train students in all aspects of the software life cycle from requirements specification through analysis and design to testing, maintenance, and evolution of software product; such that utilizing critical analysis and creativity, real- life problems are addressed in an effective manner.

Program Mission

The mission of the Bachelor of Software Engineering is to provide quality education and equip students with technical and transferable skills that prepare socially and ethically responsible software engineering graduates committed to professional development and growth.


Eligibility Criteria

The minimum requirements for admission in an undergraduate degree program in Software Engineering are as follows:

  1. At least 50% marks in Intermediate (HSSC) examination with Mathematics or equivalent qualification with Mathematics certified by IBCC. OR
  2. At least 50% marks in Intermediate (HSSC) examination with pre-Medical or equivalent qualification certified by IBCC.
  3. 2.1- Deficiency: Students with pre-medical, must have to pass deficiency courses of Mathematics of 6 credit hours in first two semesters.

Program Educational Objectives (PEOs)

Program Educational Objectives (PEOs) are the attributes and abilities that the graduates are expected to demonstrate within four to five years after graduation (on Job). The PEOs are direct translation of program mission and are aligned with university mission and program mission. The PEOs stipulate the high-level program objectives and provide a broad framework to design program learning outcomes, curriculum and its provision. The PEOs are focused on to produce BSSE graduates who:

  1. Demonstrate in-depth knowledge and technical skills to be a successful software engineer professional in diverse career paths.
  2. Demonstrate communication and interpersonal skills and function as an individual or team member.
  3. Practice IT profession in an ethical, moral, and socially responsible manner.
  4. Engage in life-long learning, graduate studies, research, or professional development to enhance their professional and technical expertise.

Graduate Attributes (GAs)

The Graduate Attributes (GAs) broadly describe the skills, knowledge, and behaviors the students acquire in their program of study. Approved GAs state that the program enables students to:

  1. Academic Education: Completion of an accredited program of study designed to prepare graduates as computing professionals.
  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.
  3. Problem Analysis: Identity, formulate, research literature, and solve complex computing problems reaching substantiated conclusions using fundamental principles of mathematics, computing sciences, and relevant domain disciplines.
  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.
  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.
  6. Individual and Team Work: Function effectively as an individual and as a member or leader in diverse teams and in multi-disciplinary settings.
  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.
  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.
  9. Ethics: Understand and commit to professional ethics, responsibilities, and norms of professional computing practice.
  10. Life-long Learning:Recognize the need, and have the ability, to engage in independent learning for continual development as a computing professional.

Semester Plan

Course Code Course Name Credit Hours Pre Req
CS100
Introduction to Computing
Course Description and CLOs

Course Description

This course aims to introduce students to basic computing concepts. The major topics include hardware, software, networking and security, standard programming practice, database, applications of software in emerging area and their effect on society. Essential skills in widely used applications such as word processing, spreadsheets, web development, and database are developed through hands-on practice.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Identify different hardware components of a computer and describe their working. [C,1] [PLO-6]
  2. Identify various networks (LAN, WAN, intranet), topologies (ring, bus, star), protocols (TCP/IP, SMTP, POP & IMAP, HTTP & HTTPS, DNS), media types (wire pair, coaxial cable, fiber optics, microwave, radio frequency, infra-red), and network hardware (router, hub, gateway). [C,1] [PLO-6]
  3. Demonstrate the use of search techniques on search engines to optimize the search results. [C,3] [PLO6]
  4. Discuss societal issues related to computing, including the guiding principles of professional and ethical behavior. [A,2] [PLO-4]
  5. Demonstrate the effective use of word processing, spreadsheets, presentations, websites, and databases in order to communicate and store information effectively. [C,3] [PLO-6]
  6. Apply problem solving skills through the use of flow charts, algorithms or pseudocodes for a small-scale scenario. [C,3] [PLO-6]
2+1 None
CS106
Introduction to Computer Programming
Course Description and CLOs

Course Description

This course is designed to provide complete understanding and implementation of the basic concept of computer programming. The course covers problem solving techniques in C++ programming language. The important topics are role of compiler and linker, problem-solving process-the seven steps and flow charts, basic data types and variables, arithmetical and logical operators, conditional statements, control structures, Arrays, Function, Pointers, static and dynamic memory allocation, File I/O operations.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Design the solution to small-medium scale computational problem using pseudocode or flow charts. [C,6] [PLO-2]
  2. Translate the design into computer programs involving primitive data structures, decision control statements, loop control statements, selection statement, procedures and pointers. [C,2] [PLO-2]
  3. Analyze program behavior by testing and debugging the program. [C,4] [PLO-1]
3+1 None
NS109
Applied Physics
Course Description and CLOs

Course Description

This freshman level course equips the students with the applied concepts of Physics that would serve as a foundation for subsequent electrical engineering courses. The course initiates with a short review of relevant mathematics, immediately followed by the basics of electricity at the atomic level. A majority of the course is then dedicated for Electric charges, Electric field, Electric potential, Coulomb’s law, Gauss’s law, Capacitors and dielectrics, Electric current, Ohm’s Law, Magnetic properties of matter, Magnetic field, Magnetic force on current, Ampere’s law, Faraday’s law, and Lenz’s law. Additionally, it also aims to provide introductory knowledge of mechanics, wave theory and law of thermodynamics

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Illustrate the electromagnetic and mechanical phenomena mathematically.
  2. Apply knowledge of basic physical laws to solve real life problems.
  3. Perform experiments demonstrating laws of electrostatics and mechanics
2+1 None
SS104
English-I (Comprehension)
Course Description and CLOs

Course Description

This course emphasizes on the process of learning to write clearly and effectively and to read analytically.. The major topics of the course include basics of English grammar, parts of speech, phrase & clause, sentence structure, modifiers, common writing errors, punctuation, commonly confused words, paragraphs, applications and reading comprehension.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Demonstrate proficiency in writing skills based on the criteria of standard essay structure and English usage.
  2. Demonstrate understanding of and effective use of paragraph structure, including topic sentences, supporting examples and transition sentences
  3. Write a grammatically correct paragraph or essay on a given topic.
3+0 None
SS108
Islamic Studies/Ethics (for Non-Muslims)
Course Description and CLOs

Course Description

This course aims to provide basic information about Islamic history and law. The major topics covered in this course are introduction to Quranic studies, history of Quran, Seerat of Holy Prophet, history of sunnah, introduction to Islamic law and jurisprudence, Islamic culture & civilization, Islam & science, Islamic economic & political system, Islamic history and Islamic social system.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Demonstrate an understanding of fundamentals of Quran and Hadith and their relation with our day to day lives.
  2. Demonstrate an understanding of Islamic ethics, laws, culture and contemporary issues.
2+0 None
MT112
Calculus-I
Course Description and CLOs

Course Description

Topics covered include limits, the derivative, differentiation techniques, applications of the derivative, integration, and applications of integration.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Identify functions and sketch their graphs using tools of calculus in relevant problems.
  2. Apply differential and integral calculus to interpret the physical processes
  3. Identify real and complex numbers and develop the concept of 3D geometry
3+0 None
Course Code Course Name Credit Hours Pre Req
MT114 Calculus-II 3+0 MT112
EE200 Digital Logic Design 3+0 NS201
CS200
Object Oriented Programming
Course Description and CLOs

Course Description

This course introduces the concepts of object-oriented programming to students. The course begins with an introduction of the object-oriented programming paradigm, focusing on identification of classes and their relationships, inheritance, polymorphism, operator overloading, abstract classes and interfaces, exception handling, templates and STLs.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Apply the basic concepts of Object-Oriented Programming in simple programming problems. [C,2] [PLO6]
  2. Identify the main objects/classes, methods, attributes from given problem specifications [C,3] [PLO-1]
  3. Design and devise solutions of problems using the appropriate OO concepts. [C,6] [PLO-2]
3+1 CS106
SS203 English-II (Communication Skills) 3+0 SS104
SE242
Software Engineering
Course Description and CLOs

Course Description

This course allows us to understand and apply software engineering concepts in the development and maintenance of software. The major topics includes Software engineering practice, Process models, Software Requirement Engineering, dataflow and UML diagrams, Software testing and quality assurance, Project management and project planning, configuration management, Software Process improvement.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Identify appropriate software process model for real world problems. [C,4] [PLO-1]
  2. Elaborate user stories using usecase and activity diagrams. [C,4] [PLO-1]
  3. Design a simple problem using dataflow and UML diagrams. [C,5] [PLO-2]
  4. Perform testing using blackbox and whitebox testing techniques. [C,3] [PLO-6]
  5. Prepare a plan for software product using work breakdown structure. [C,3] [PLO-2]
3+0 None
Course Code Course Name Credit Hours Pre Req
CS210
Data Structures & Algorithms
Course Description and CLOs

Course Description

This course aims to introduce basic concepts related to the Data Structures and Algorithms. Major topics are Linked list, Stacks, Queue, Trees, Graphs, Heaps and Hashing. Understanding of Algorithms by analyzing recursive algorithms, divide and conquer algorithms, Sorting algorithms like selection, insertion, merge, quick, bubble, heap, shell, radix, bucket and time complexity of algorithms.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Apply basic data structures and algorithms in simple applications. [C,3] [PLO-6]
  2. Create solutions to a variety of computational problems using appropriate data structures. [C,6] [PLO2]
  3. Solve the computational efficiency of the simple algorithms. [C,2] [PLO-6]
3+1 CS200
SS118
Pakistan Studies
Course Description and CLOs

Course Description

This course provides an appreciation and understanding of the cultural, historical and socio-political heritage of Pakistan; along with the main strands of Pakistan’s foreign policy. The course also seeks to create awareness about the issues arising in the modern age and the posing challenges to Pakistan. Important topics include historical perspective; ideology of Pakistan, people and land, political and constitutional phases in Pakistan and Contemporary Pakistan; economic institutions and issues, society and social structure, foreign policy of Pakistan and futuristic outlook of Pakistan.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Demonstrate an in-depth knowledge of Pakistani culture, civil rights and constitution.
  2. Demonstrate an understanding of importance of Projects in Pakistan and their economic impacts.
2+0 None
SE253
Software Requirement Engineering
Course Description and CLOs

Course Description

The course aims to introduce the four specific steps in software requirements engineering are: requirements elicitation, requirements analysis, requirements specification, and requirements validation. This course will introduce a number of best practices, based upon the software engineering knowledge, so that students can improve the quality of the requirements elicitation and development process in their organization. Characteristics of high-quality requirements specifications are completeness, conciseness, accuracy, modularization, prioritization, analysis, and verification. Ultimately, the techniques presented reduce project risk, improve prod.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Select the appropriate requirements elicitation techniques to identify requirements. [C,4] [PLO-6]
  2. Develop effective functional and quality requirements that are complete, concise, correct, consistent, testable and unambiguous. [C,6] [PLO-6]
  3. Design a set of software models to be used to flesh out hidden requirements and drive clarity into the system functional requirements. [C,6] [PLO-2]
  4. Effectively analyze requirements and prioritize accordingly. [C,4] [PLO-1]
  5. Create a requirements specification to communicate requirements to a broad set of stakeholders. [C,6] [PLO-3]
  6. Utilize various requirements validation techniques to critically evaluate their requirements to identify defects [C,5] [PLO-2]
3+0 SE242
MT221 Linear Algebra 3+0 MT114
MGxxx Social Science Elective-I 3+0
CS251 Computer Organization and Assembly Language 2+1 EE200
Course Code Course Name Credit Hours Pre Req
CS385
Database Management Systems
Course Description and CLOs

Course Description

This course presents the fundamental concepts of database design and use. Major topics are Basic database concepts, Database approach vs file based system, database architecture, three level schema architecture, data independence, relational data model, attributes, schemas, tuples, domains, relation instances, keys of relations, integrity constraints, relational algebra, selection, projection, Cartesian product, types of joins, normalization, functional dependencies, normal forms, entity relationship model, entity sets, attributes, relationship, entityrelationship diagrams, Structured Query Language (SQL), Joins and sub-queries in SQL, Grouping and aggregation in SQL, concurrency control, database backup and recovery, indexes, NoSQL systems

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Design conceptual, logical and physical database schemas using different data models. [C,3] [PLO-2]
  2. Construct relational algebra and SQL queries, including co-related and non-co-related nested queries in SQL. [C,3] [PLO-2]
  3. Apply the heuristics transformation rules to optimize query processing. [C,3] [PLO-6]
  4. Normalize database schemas to 3NF and ensure that the lossless join and dependency preservation properties hold in the decomposed scheme. [C,4] [PLO-1]
  5. Design and implement a real-world database application. [C,6] [PLO-2]
3+1 CS210
SE317
Software Design & Architecture
Course Description and CLOs

Course Description

The course aims to develop an ability to design a software system by considering the core software design concepts and applying the relevant design and architectural principles and patterns. The major contents of the course include software design concepts, design principles and patterns, object-oriented design with UML, mapping design to code, user interface design, software architectural structures & styles, architectural patterns, architectural and design qualities, quality tactics, architecture documentation and architectural evaluation.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Explain the role of design within the software development process. [C,2][PLO-6]
  2. Design software models using UML and refine them to reflect implementation details. [C,5] [PLO-2]
  3. Apply design and architectural patterns and principles. [C,3][PLO-1]
  4. Implement the design models using a programming language. [C,5][PLO-2]
2+1 SE253
SExxx Domain Elective-I 3+0 None
MGxxx Social Science Elective-II 2+0 None
CS304 Design and Analysis of Algorithms 3+0 CS210
Course Code Course Name Credit Hours Pre Req
SE350
Software Construction and Development
Course Description and CLOs

Course Description

This course focuses on basic concepts of software construction. Major topics includes Software engineering process infrastructure, Systems engineering life cycle models, Processes, and its characteristics, Refactoring, Code smells, State Machine diagram and its implementation using State Pattern. Lehman’s Laws, code salvaging, and configuration management, legacy code concepts. Exception handling, making methods robust by having them check their inputs sent from calling objects, Release management, Software deployment processes, Distribution and backup, Evolution processes and activities, Basic concepts of evolution and maintenance, Working with legacy systems, Personal reviews (design, code, etc.), Peer reviews (inspections, walkthroughs, etc.).

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Identifying code smells for small-scale scenarios. [C,4] [PLO-1]
  2. Apply refactoring practices on various computational problems. [C,3] [PLO-2]
  3. Demonstrate the effective use of Software Configuration Management tool on a software Project. [C,3] [PLO-2]
  4. Create Release Management Plan for a Software Project. [C,3] [PLO-2]
3+1 SE317
CS432 Human Computer Interaction 3+0 SE242
SE321 Software Quality Engineering 3+0 SE242
CSxxx Domain Elective-2 3+0 None
CS313 Operating System Concepts 3+0 CS251
MT201 Discrete Structures 3+0 None
Course Code Course Name Credit Hours Pre Req
CS321
Computer Networks
Course Description and CLOs

Course Description

This course covers the fundamentals of computer networks, including internet architecture and protocols. The major topics include network topologies, layered network architectures (i.e. TCP/IP and OSI models), protocols and functionalities, multiple access techniques, circuit switching and packet switching, LAN technologies, wireless networks, MAC addressing, networking devices, IP addressing, ports and sockets, connection establishment, flow and congestion control, and other latest trends in computer networks.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Explain the services and functions provided by each layer in the TCP/IP and OSI models. [C,2] [PLO-6]
  2. Identify various internetworking devices and protocols, and their functions in a network. [C,4] [PLO-1]
  3. Build Computer Network on various Topologies. [P,3] [PLO-2]
3+1 None
SExxx Domain Elective-3 3+0 None
SExxx Domain Elective-4 3+0 None
CSxxx Professional Practices 2+0 None
MT301 Statistics and Probability 3+0 None
SS211 English-III (Technical Report Writing) 3+0 SS203
Course Code Course Name Credit Hours Pre Req
SE424
Software Project Management
Course Description and CLOs

Course Description

This course aims to introduce the key concepts of software project management and to successfully plan, implement software project management activity in time and budget. The major topics includes software project management tools, PMI knowledge areas, framework, and process groups, software estimation, risk control, configuration management and, challenges of outsourcing in software project management.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Identify the different project contexts and suggest an appropriate management strategy. [C,4] [PLO-1]
  2. Apply WBS structure for defined scenario of software project. [C,3] [PLO-2]
  3. Analyze project evaluation techniques for software project to calculate project duration. [C,4] [PLO-1]
  4. Evaluate effort, cost, and schedule for software project using various estimation techniques. [C,5] [PLO2]
2+1 SE242
CS307 Artificial Intelligence 2+1 MT201
SSxxx Civic and Community Engagement 2+0 None
CSxxx Domain Elective-5 3+0 None
CSxxx Domain Elective-6 3+0 None
CS499 Final Project-I 0+3 None
Course Code Course Name Credit Hours Pre Req
CSxxx Domain Elective-7 3+0 None
CS390
Information Security
Course Description and CLOs

Course Description

The course focuses on the Information security principles for confidentiality, integrity, and availability. It emphasis on cryptography techniques for solving information security issues by using different algorithms. The major topics includes security mechanisms, symmetric and asymmetric cryptography encryption, hash functions, digital signatures, network security, firewalls, intrusion detection, security policies, policy formation and enforcement, risk assessment.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Explain the key concepts of information security to protect confidentiality, integrity, and availability. [C,2] [PLO-6]
  2. Discuss legal, ethical, and professional issues in information security. [C,2] [PLO-4]
  3. Analyze the concerns in the communication of information. [C,4] [PLO-1]
  4. Apply appropriate techniques to tackle and solve problems in the discipline of information security. [C,4] [PLO-6]
2+1 CS321
MG404
Entrepreneurship
Course Description and CLOs

Course Description

This course has been designed to provide the participants with an overall understanding of the concept of entrepreneurship and small business management. The course emphasizes the entrepreneurial process and the application of this process to a broad range of business contexts. Major contents of the course include, an overview of entrepreneurship, idea generation, industrial competitiveness, marketing, financial and legal modalities, strategic growth and business plan development.

Course Learning Outcomes

On successful completion of the course, students will be able to:

  1. Demonstrate an understanding of the entrepreneurial process. [PLO-6]
  2. Evaluate business opportunities. [PLO-2]
  3. Identify and solve major entrepreneurial issues. [PLO-1]
  4. Develop a business plan to demonstrate an understanding of the taught concepts. [PLO-2]
2+0 None
CS499 Final Project-II 0+3 CS499

List Of Electives

Code Title Cr. Hr.
CS221 Web Programming Languages 3+0
CS375 Mobile Application Development 3+0
CS208 Modern Programming Languages 3+0
SE318 Formal Methods in Software Engineering 3+0
SE443 Web Engineering 3+0
SE325 Software Re-Engineering 3+0
SE426 Software Testing 3+0
CS445 Parallel and Distributed Computing 3+0
SE491 Special Topics in Software Engineering 3+0
SE300 Object Oriented Software Engineering 3+0
SE324 Simulation and Modeling 3+0
SE326 Business Process Engineering 3+0
CS443 Digital Image Processing 3+0
CS415 Codeless Programming 3+0
CSxxx Advance Database Management Systems 3+0
CS424 Machine Learning 3+0
CS412 Natural Language Processing 3+0

*Further elective courses can be added to the list with the approval of HoD and Dean of Faulty.

Faculty

Dr. M. Yousaf Khan

Associate Professor

Mr. Abdul Hannan

Assistant Professor

Ms. Naveen Ahmed

Assistant Professor

Mr. Jasim Ali

Lecturer

Ms. Amna Shahid Cheema

Lecturer

Ms. Nadra Bibi

Lecturer

Ms. Maimoona Bint e Sajid

Lecturer

Mr. Muhammad Salman

Lecturer

Ms. Tahira Batool

Junior Lecturer

Mr. Kafayat Ullah

Junior Lecturer