Discrete Structure
CLO
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Introduction to Information and Communication Technologies Theory
CLO 1:
CLO 2:
CLO 3:
Introduction to Information and Communication Technologies Lab
CLO 1:
Programming Fundamentals Theory
CLO 1:
CLO 2:
CLO 3:
Programming Fundamentals Lab
CLO 1:
CLO 2:
Calculus and Analytical Geometry
CLO 1:
CLO 2:
CLO 3:
CLO 4:
English Composition & Comprehension
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Applied Physics
CLO 1:
CLO 2:
CLO 3:
Basic Electronics Theory
CLO 1:
CLO 2:
Basic Electronics Lab
CLO 1:
CLO 2:
CLO 3:
Object Oriented Programming Theory
CLO 1:
CLO 2:
CLO 3:
Object Oriented Programming Lab
CLO 1:
CLO 2:
Technical and Business Writing
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Probability & Statistics
CLO 1:
CLO 2:
CLO 3:
Islamic Studies
CLO 1:
CLO 2:
CLO 3:
Pak Studies
CLO 1:
CLO 2:
CLO 3:
Data Structures and Algorithms Theory
CLO 1:
CLO 2:
CLO 3:
Data Structures and Algorithms Theory Lab
CLO 1:
Communication & Presentation Skills
CLO 1:
CLO 2:
CLO 3:
Financial Management
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Linear Algebra and Differential Equations
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Operating Systems Theory
CLO 1:
CLO 2:
CLO 3:
Operating Systems Lab
CLO 1:
Software Engineering
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Computer Organization and Architecture Theory
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Computer Organization and Architecture Lab
CLO 1:
CLO 2:
Database Systems Theory
CLO 1:
CLO 2:
CLO 3:
Database Systems Lab
CLO 1:
Numerical Computing
CLO 1:
CLO 2:
CLO 3:
Theory of Programming Languages
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Theory of Automata & Formal Languages
CLO 1:
CLO 2:
CLO 3:
CLO 4:
CLO 5:
Parallel & Distributed Computing
CLO 1:
CLO 2:
CLO 3:
Parallel & Distributed Computing
CLO 1:
CLO 2:
CLO 3:
Design and Analysis of Algorithms
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Compiler Construction
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Cryptography
CLO 1:
CLO 2:
CLO 3:
Final Year Project - I
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Computer Vision
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Final Year Project - II
CLO 1:
CLO 2:
CLO 3:
Professional Practices
CLO 1:
CLO 2:
CLO 3:
CLO 4:
CLO 5:
CLO 6:
CLO 7:
CLO 8:
Information Security
CLO 1:
CLO 2:
CLO 3:
CLO 4:
Digital Image Processing
CLO 1:
CLO 2:
CLO 3:
Digital Image Processing Lab
CLO 1:
Computer Communication and Networks
CLO 1:
CLO 2:
CLO 3:
CLO 4:
CLO 5:
Smart Application Development
CLO 1:
CLO 2:
CLO 3:
Big Data Analytics
CLO 1:
CLO 2:
CLO 3:
Data Warehousing
CLO 1:
CLO 2:
CLO 3:
Game Programming
CLO 1:
CLO 2:
CLO 3:
Digital Logic and Design (Theory)
CLO 1:
CLO 2:
CLO 3:
CLO 4:
CLO 5:
Digital Logic and Design (Lab)
CLO 1:
Visual Programming
CLO 1:
CLO 2:
CLO 3:
Discrete Structure
DESCRIPTION
Understand the key concepts of Discrete Structures such as Sets, Permutations, Relations, Graphs and Trees
etc.
Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real problems, such as predicting the
behavior of software or solving problems such as puzzles.
Apply discrete structures into other computing problems such as formal specification, verification, databases,
artificial intelligence, and cryptography.
Differentiate various discrete structures and their relevance within the context of computer science, in the areas of
data structures and algorithms, in particular
Introduction to Information and Communication Technologies Theory
Understand basics of computing technology
Do number systems conversions and arithmetic operations
Have knowledge of types of software, computing related technologies usage
Introduction to Information and Communication Technologies Lab
Effectively navigate and utilize essential ICT productivity tools, software applications to analyze and solve ICT-
related problems
Programming Fundamentals Theory
Build logic of a program, design an algorithm and make a flow chart to represent the solution of problem.
Design and Implement the solution of problem using loops, arrays, functions, structures.
Analyze different programs to compute the output and identify logical and syntax errors.
Programming Fundamentals Lab
Apply basic programming concepts in c++
Ability to write complex code in modern programming compilers/tools
Calculus and Analytical Geometry
Use different complex-valued functions such as power, exponential and trigonometric functions in sketching,
solving algebraic equations and checking their analyticity.
Apply the concept of differential calculus to formulate and solve the optimization problems like rates of change,
finding maxima/minima of single variable functions.
Apply the techniques of single integration to compute the physical quantities like area, volume in rectangular as
well as polar coordinates system
Analyze time-domain periodic and non-periodic functions in their frequency components by using Fourier series
and transform.
English Composition & Comprehension
To understand and apply key concepts of English grammar.
Understand and be able to derive key messages from complex English passages.
Deliver a speech/debate on various topics, focusing on grammar, ability to express and clearly develop cohesive
sentence structures while speaking English.
To be able to understand spoken English and extract key pieces of information in the process.
Applied Physics
Able to understand vectors, 2D and 3D motion.
Able to understand basic physical quantities and laws
Able to Measure physical quantities
Basic Electronics Theory
To study basics of semi conductor devices and their applications in different areas
Analyse output of various analogue and digital electronic circuits with applications
Basic Electronics Lab
Describe the knowledge based on lab experiments related to Different Semiconductor devices and Operational
amplifiers.
Construct and Analyze (characteristics, various configuration) different electronic devices like diodes, BJTs, FETs,
MOSFETs and Op-AMP
Respond individually or as a team.
Object Oriented Programming Theory
Acquire knowledge of underlying concepts of object-oriented paradigm.
Develop an understanding of object-oriented design artifacts and their mapping to object-oriented programming.
Design and implement object oriented solutions for systems involving multiple objects.
Object Oriented Programming Lab
Design (develop, test, and debug) programs using object-oriented techniques in conjuncture with an integrated
development environment
Demonstrate the use of modern tools for coding
Technical and Business Writing
Identify and apply the basic concept of PLO 7 in group presentations and writing specimens
Examine and modify the project reports on the basis of principles of report writing
Understand the purpose of different sections of a report
Write in an appropriate style for an academic or scientific report
Probability & Statistics
Understand concepts of Statistical methods for data analysis, frequency distribution, measure of central tendency
and variability, measure of dispersion, moments and skew-ness
Apply probability theory including sample space, joint probability, conditional probability, Baye’s rule, total
probability and independence on practical problems
Evaluate single and multiple random variables in term of their PDF and CDF for both discrete and continuous
types and test them Z distribution
Islamic Studies
Appreciate the religion of Islam and its importance in the human life in the light of guidance provided by Quran-e-
Pak and Prophet Muhammad (P.B.U.H).
Promote the appreciation of Islamic Ethics and code of personal practice.
Face the challenges of modern science and modern world.
Pak Studies
Explain the evolution of TWO NATION Theory Literature & History.
Report the initial problems Pakistan Faced after Independence.
Analyze the issues of governance, politics and crisis facing Pakistan Today.
Data Structures and Algorithms Theory
Apply linear data structure to various practical problems.
Compare various searching and sorting algorithms with respect to time. complexity.
Develop a project in a team environment using suitable data structures.
Data Structures and Algorithms Theory Lab
Apply linear data structure to various practical problems.
Communication & Presentation Skills
Identify and apply the basic concept of Communication in group presentations and writing specimens.
Responding group presentations, using techniques; Descriptive, Narrative and Exposition
Examine and modify the project reports on the basis of principles of report writing.
Financial Management
Develop and understand the nature and purpose of financial statements in relationship to decision making.
Develop the ability to use the fundamental accounting equation to analyze the effect of business transactions on
an organization's accounting records and financial statements.
Develop the ability to use accounting information to solve a variety of business problems.
Develop the ability to interact well with team members
Linear Algebra and Differential Equations
Apply their competence with the ideas in linear algebra to work with linear systems and vector spaces and
differential equations to work with curves and optimization.
Apply the knowledge of linear algebra and differential calculus to model and solve linear systems that appear in
engineering sciences
Apply various techniques for solving nonlinear equations and system of equations
Understand numerical methods for solving problems involving integration and differential equations.
Operating Systems Theory
Understand the characteristics of different structures of the Operating Systems and identify the core functions of
the Operating Systems
Be able to explain the principles and compare the algorithms on which the core functions of the Operating Syst
Analyze and evaluate the algorithms of the core functions of the Operating Systems and explain the major
performance issues with regard to the core functions.
Operating Systems Lab
Demonstrate the knowledge in applying system software and tools available in modern operating systems.
Software Engineering
Describe various software engineering processes and Activities size software system
Apply the system modeling techniques to model a medium size software system
Apply software quality assurance and testing principles to medium size software system.
Discuss key principles and common methods for software project management such as scheduling, size
estimation, cost estimation and risk analysis
Computer Organization and Architecture Theory
Understand functionality of major components of a computer system like CPU, control unit, memory, I/O and
storage.
Understand principles of instruction set design including MIPS-32 architectures and basic assembly programming.
Implement assembly programs of intermediate complexity using the intel 8088 architecture. The student should
also be able to convert intermediate complexity program in high level language into assembly code.
Understand pipelining and parallelism features applied in single processor, multiple processors and multicore
architectures.
Computer Organization and Architecture Lab
Solve a given problem by writing programs in assembly language
Demonstrate the use of emulators
Database Systems Theory
Explain fundamental database concepts
Design conceptual, logical, and physical database schemas using different data models.
Identify functional dependencies and resolve database anomalies by normalizing database tables.
Database Systems Lab
Demonstrate the use of modern querying tools for database management
Numerical Computing
Assess the root of a non-linear equations and f (x) =0 and its computation iterative methods for the solution of
simultaneous linear algebraic equations.
Evaluate interpolation and extrapolation; Numerical differentiation and integration.
Analyze numerical solution of ordinary differential equations
Theory of Programming Languages
Understand a wide range of programming language constructs and features.
Understand language paradigm, and elements of programming languages.
Describe, compare, and contrast various language features and problem solving using different language paradigm
Apply programming languages knowledge and design algorithms that solve small-to-moderate scale computational
Theory of Automata & Formal Languages
Explain and manipulate the different concepts in automata theory and formal languages such as formal proofs,
automata, regular expressions, grammars, Turing machines etc.
Design of automata, RE and CFG
Transform between equivalent NFAs, DFAs and REs
Define Turing machines performing simple tasks
Differentiate and manipulate formal descriptions of languages, automata and grammars with focus on regular and
context-free languages, finite automata and regular expressions.
Parallel & Distributed Computing
To prepare graduates to understand about parallel and distributed computers.
Write portable programs for parallel or distributed architectures using Message-Passing Interface (MPI) library.
Analyze various problems with shared memory programming using OpenMP.
Parallel & Distributed Computing
To prepare graduates to understand about parallel and distributed computers.
Write portable programs for parallel or distributed architectures using Message-Passing Interface (MPI) library.
Analyze various problems with shared memory programming using OpenMP.
Design and Analysis of Algorithms
Apply algorithmic techniques to deal with given problems
Choose the appropriate algorithmic design technique for problem solving
Identify recurrence relation of a given algorithm and solve it
Evaluate complexity and correctness of different algorithms
Compiler Construction
Design and implement scanners using a high level language and scanner generation tools.
Design and implement parsers using top-down and/or bottom-up paradigms.
Relate high-level code with the intermediate representations including Three Address Code (TAC) and Directed
Acyclic Graphs (DAGs).
Explain code generation concepts including Basic Blocks, Control Flow Graphs and Register Allocation.
Cryptography
To prepare graduates to understand meaning of cryptography and cryptanalysis.
Apply mathematical concepts of number theory, algebra and complexity theory that are applied to modern
cryptographic algorithms
Analyze various cryptographic methods like Private Key Encryption, Public Key Encryption, Hash Functions,
Digital Signatures, Pseudo Random Numbers, Key Management, Message Authentication etc.
Final Year Project - I
Explore and analyze constraints and requirements of software project
Investigate scientific literature related to the software project
Design and develop software project using engineering standards and latest tools and technologies
Plan and proceed work division using modular approach to complete the critical milestones of software project.
Computer Vision
Understand and explain the field of Computer Vision in general for different applications.
Implement different algorithms for filtering and assembling the extracted features to develop a higher-level
perception.
To detect, recognize, and classify different types of objects in the scene.
Understand the camera model, its calibration, and structure from motion.
Final Year Project - II
Improve project efficiency to ensure sustainability by utilizing the resources effectively via environment friendly
practices
Evaluate software project deliverables to meet timeline and project constraints.
Excel in Communication skills through presentations, written document (thesis) and/or publications/posters.
Professional Practices
Know the scope of computing field after graduating in it and what are the common things in every organization
Distinguish between various fields of computing
Describe the core of any profession.
Know that how business and professional environment of computing field work
Adhere the responsibilities according to profession, organization, and himself/herself
Know the standards, tools, and rules about IPs and information security
Write and analyse software contracts as an employer or to an employer
Know the business and professional environment of software house
Information Security
Explain key concepts of information security such as design principles, cryptography, risk management, and
Ethics
Discuss legal, ethical, and professional issues in information security
Apply various security and risk management tools for achieving information security and privacy.
Identify appropriate techniques to tackle and solve problems in the discipline of information security
Digital Image Processing
Understand the basics, applications in general, working inside the digital camera, sampling and quantization,
image representation, etc.
Implement image enhancement, image segmentation, image transformations, spatial and frequency domain
processing,
filtering, convolution, image registration, feature detection, pattern recognition, etc.
Evaluate the performance of different image processing algorithms.
Digital Image Processing Lab
Learning the use of Python and OpenCV to implement basic image processing algorithms and to build and
execute image processing based projects to solve real life problems
Computer Communication and Networks
Describe the key terminologies and technologies of computer networks
Explain the services and functions provided by each layer in the Internet protocol stack.
Identify various internetworking devices and protocols, and their functions in a network.
Analyze working and performance of key technologies, algorithms and protocols.
Build Computer Network on various Topologies
Smart Application Development
Student should be able to define, memorize, and describe the concepts and techniques of developing
applications for the mobile devices.
Students should be able to apply mobile application development concepts and techniques to build
mobile applications.
Improve your ability to analyze and understand mobile software development. Improve your skills in reacting
appropriately to solve mobile related problems.
Big Data Analytics
Understand the fundamental concepts of Big Data and its programming paradigm.
Hadoop/MapReduce Programming, Framework, and Ecosystem
Apache Spark Programming
Data Warehousing
Students should be able to describe the underlying concepts of data warehousing and requirements for data
warehousing solution development
Design and develop solutions as per the enterprise needs
Get familiarity with modern tools of data warehousing i.e., Pentaho Data Integration, Web Pivot, Pandas in Python
Game Programming
Be able to program in a professional quality game engine.
Write programs for 2D and 3D games.
Understand the fundamentals of game scene mangers, game mathematics, game physics.
Digital Logic and Design (Theory)
Identify and explain fundamental concepts of digital logic design, including basic gates, number systems, binary
coded systems, basic components of combinational and sequential circuits.
Application of Boolean algebra in transformation of logic circuits using universal gates.
Demonstrate basic knowledge of multi-variable Karnaugh map methods to simplify the required Boolean
expressions.
Examine and design small-scale combinational digital circuits.
Examine and design synchronous sequential digital circuits.
Digital Logic and Design (Lab)
Describe and Implement the knowledge based on lab experiments related to Different Logic Gates and
Combinational Circuits.
Visual Programming
Use the different elements of a visual programming language as building blocks to develop correct, coherent
programs.
Program using the fundamental software development process, including design, coding, documentation, testing,
and debugging.
Analyze problems, develop conceptual designs that solve those problems, and transform those designs to Visual
Programs.
PLO
PLO 1
PLO 2
PLO 2
PLO 4
PLO 1
PLO 2
PLO 5
PLO 4
PLO 4
PLO 4
PLO 3
PLO 4
PLO 5
PLO 1
PLO 1
PLO 2
PLO 3
PLO 7
PLO 7
PLO 6
PLO 10
PLO 1
PLO 1
PLO 3
PLO 4
PLO 3
PLO 2
PLO 3
PLO 6
PLO 2
PLO 3, PLO 4
PLO 3, PLO 4
PLO 4
PLO 5
PLO 1, PLO 7, PLO 2
PLO 3
PLO 1
PLO 7
PLO 1
PLO 2
PLO 1
PLO 9
PLO 9
PLO 7
PLO 7
PLO 6
PLO 7
PLO 4
PLO 3
PLO 6
PLO 4, PLO 5
PLO 7
PLO 7
PLO 7
PLO 3
PLO 3
PLO 3
PLO 6, PLO 9
PLO 2
PLO 2
PLO 3
PLO 1
PLO 1
PLO 1
PLO 3
PLO 5
PLO 3
PLO 4
PLO 3
PLO 5:
PLO 1
PLO 1, PLO 2
PLO 4
PLO 1
PLO 4
PLO 5
PLO 1
PLO 4
PLO 2
PLO 5
PLO 3
PLO 3
PLO 4
PLO 3
PLO 3
PLO 4
PLO 5
PLO 1
PLO 4
PLO 3
PLO 4
PLO 1
PLO 1
PLO 4
PLO 3
PLO 1
PLO 4
PLO 3
PLO 2
PLO 3
PLO 4
PLO 10
PLO 4
PLO 3
PLO 2
PLO 1
PLO 1
PLO 2
PLO 3
PLO 1
PLO 3
PLO 4
PLO 9, PLO 6
PLO 1
PLO 4
PLO 1
PLO 3
PLO 8
PLO 9, PLO 7, PLO 6
PLO 7, PLO 10
PLO 1
PLO 1
PLO 1
PLO 1
PLO 9
PLO 9
PLO 7
PLO 9
PLO 1
PLO 9
PLO 4
PLO 3
PLO 1
PLO 2
PLO 4
PLO 5
PLO 1
PLO 1
PLO 2
PLO 3
PLO 4
PLO 1, PLO 4
PLO 1, PLO 4
PLO 2, PLO 4
PLO 1
PLO 1
PLO 4
PLO 3
PLO 4
PLO 5
PLO 5
PLO 4
PLO 1
PLO 1, PLO 2
PLO 2, PLO 3
PLO 2, PLO 3
PLO 3, PLO 4
PLO 3, PLO 4
PLO 6
PLO 5
PLO 4
PLO 3