Department of Computing

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

Bachelor of Science in Computer Science

The Department of Computing offers a 4-year BS Computer Science program which is duly accredited by the National Computing Education and Accreditation Council (NCEAC). The department follows the latest HEC and NCEAC approved curriculum. The curriculum not only provides a solid foundation of the discipline but also equips the students with knowledge and skills required to practice as quality computing professionals. Along with the theoretical knowledge, the curriculum is coupled with practical work that enables the students to get practical experience to analyze and solve the realworld scenarios. As a part of training, the curriculum also facilitates the students for internships to get the actual zest of digitizing the real-world problems. The BSCS graduates finds positions in software industry as full stack programmers, dev Ops, network administrators and Quality Assurance.

Program Mission

The mission of the Bachelor of Computer Science is to provide quality education and equip students with technical and transferable skills that prepare socially and ethically responsible computer science graduates committed to professional development and growth.

Eligibility Criteria

The minimum requirements for admission in an undergraduate degree program in Computer Science 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 BSCS graduates who:

  1. Demonstrate in-depth knowledge and technical skills to be a successful computer science 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 Multi-Variate Calculus (Calculus-II) 3+0 MT112
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
SS124 English-II (Communication Skills) 3+0 SS104
EE200 Digital Logic Design 3+1 NS101
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
CS251
Computer Organization and Assembly Language
Course Description and CLOs

Course Description

The main objective of this course is to introduce the organization of computer systems and usage of assembly language for optimization and control. Major topics are Data representations, Computer Structure and Processor Organization, CPU Registers and Processor Software model, Memory Organization and Segmentation, Physical & Logical Addresses, Address Calculation, Assembly Language Fundamentals: Program Structure, Directives and Machine Instructions Formats, Data Definitions, Addressing Modes, Instruction set, Macros, Stack and Procedures, Input/Output programming and Interrupts.

Course Learning Outcomes

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

  1. Apply debugging tools, techniques, and skills to experiment with various assembly language instructions, structures, and programs. [C,3] [PLO-6]
  2. Analyze assembly language programs for simple computational scenario. [C,4] [PLO-1]
  3. Design, implement, and test assembly language programs for variety of computational problems. [C,5] [PLO-2]
  4. Convert high-level language constructs into equivalent assembly language constructs. [C,2] [PLO-2]
3+1 EE200
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
MT221 Linear Algebra 3+0 None
MGxxx Social Science Elective-I 3+0 None
MGxxx Social Science Elective-II 3+0 None
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
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
CSxxx Domain Elective-I 3+0 None
CSxxx Domain Elective-I 3+0 None
CS242 Computer Architecture 3+0 CS251
CS304
Design &Analysis of Algorithms
Course Description and CLOs

Course Description

This course aims to introduce basic methods for the design and analysis of efficient algorithms. Major topic includes Introduction of algorithms, Analysis on nature of input and size of input Asymptotic notations, Sorting Algorithm analysis, Recursion and recurrence relations, Brute-Force, Divide-and-conquer approach, Greedy approach, Dynamic programming, Search trees, Heaps, Hashing, Graph algorithms, shortest paths, sparse graphs, String matching.

Course Learning Outcomes

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

  1. Apply asymptotic notation on existing algorithms. [CLO,3]- [PLO-2]
  2. Analyze the efficiency of algorithms using time and space complexity theory. [CLO,4]- [PLO-1]
  3. Identify the key characteristics of a given problem and analyze the suitability of a specific algorithm design technique for the problem. [CLO,4]- [PLO-6]
  4. Design algorithms using various algorithmic strategies to solve problems. [CLO,5]- [PLO-2]
3+0 CS210
Course Code Course Name Credit Hours Pre Req
CS313
Operating System Concepts
Course Description and CLOs

Course Description

This course aims to introduce the fundamental concepts of operating system design and its implementation. It provides experience in building simulations of core operating system functions. The course covers concepts, such as the operating systems basics, process concept and processor scheduling, process synchronization and deadlocks, memory management, virtual memory management, file systems, protection and security.

Course Learning Outcomes

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

  1. Explain the fundamental concepts of Operating systems. [C-2][PLO-6]
  2. Evaluate the preemptive and non-preemptive process scheduling algorithms. [C,5][PLO-2]
  3. Evaluate a range of techniques used to avoid control problems such as mutual exclusion and deadlocks.[C,5][PLO-2]
  4. Compare physical and virtual memory management techniques. [C,5][PLO-2]
  5. Compare different approaches to file system and file organization. [C,5][PLO-2]
3+1 CS210
CSxxx Advance Database Management System 2+1 CS385
CS432 Human Computer Interaction 2+1 SE242
MT201
Discrete Structure
Course Description and CLOs

Course Description

The course aims to develop an ability to think logically and mathematically, as well as apply these strategies in problem solving. The major topics include mathematical reasoning, propositional and predicate logic, rules of inference, proof, set theory, recurrence relations, functions, number theory, sequences and series, counting principles and graph theory. .

Course Learning Outcomes

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

  1. Convert statements in terms of propositions, predicates and quantifiers. [C,6] [PLO-6]
  2. Construct logical arguments using the rules of inference. [C,3] [PLO-1]
  3. Apply methods of proof including direct and indirect proof, proof by contradiction and mathematicalinduction to prove different theorems. [C,3] [PLO-1]
  4. Apply the concepts of counting, modular arithmetic, graphs and trees to solve relevant problems.[C,3] [PLO-1]
3+0 None
CS310 Theory of Automata 3+0 None
CSxxx CS Elective-III 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
MT301 Statistics & Probability 3+0 None
CS401 Compiler Construction 3+0 CS310
CSxxx Domain Elective-4 3+0
CSxxx Professional Practices 2+0
SS211 English-III (Technical Report Writing) 3+0 SS203
Course Code Course Name Credit Hours Pre Req
CS307
Artificial Intelligence
Course Description and CLOs

Course Description

This course aims to introduce the fundamental principles that drive intelligent applications. The major topics include introduction of AI, reasoning and knowledge representation, problem solving by searching, constraint satisfaction problems, adversarial search, learning techniques, uncertainty handling, pattern recognition, neural network, recent trends in AI and applications of AI algorithms. In particular, learn about the methods and tools that will allow you to build complete systems that can interact intelligently with their environment by learning and reasoning about the world.

Course Learning Outcomes

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

  1. Apply various heuristic algorithms to solve Artificial Intelligent problem. [CLO,3]- [PLO-6]
  2. Analyze artificial intelligence techniques for practical problem solving.[CLO,4]- [PLO-1]
  3. Design an intelligent system using various Knowledge representation approaches based on the domain requirements. [CLO,5]- [PLO-2]
3+1 MT210
CS445
Parallel and Distributed Computing
Course Description and CLOs

Course Description

This course focuses on the use of multiple processing elements simultaneously for solving any problem. Problems are broken down into instructions and are solved concurrently as each resource that has been applied to work is working at the same time. The major topics includes asynchronous/synchronous computation/communication, concurrency control, fault tolerance, GPU architecture and programming, heterogeneity, interconnection topologies, load balancing, memory consistency model, memory hierarchies, Message passing interface (MPI), MIMD/SIMD, multithreaded programming, parallel algorithms & architectures, parallel I/O, performance analysis and tuning, power, programming models (data parallel, task parallel, processcentric, shared/distributed memory), scalability and performance studies, scheduling, storage systems, BSCS Program Specification Document-Version 1.0 Page 15 of 18 synchronization, and tools (Cuda, Swift, Globus, Condor, Amazon AWS, OpenStack, Cilk, gdb, threads, MPICH, OpenMP, Hadoop, FUSE)

Course Learning Outcomes

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

  1. Apply models, limitations and fundamental concepts within parallel computations with communication based both on message passing and shared memory [C,3] [PLO-6]
  2. Analyze concrete systems and algorithms [C,4] [PLO-1]
  3. Adapt and develop algorithms for execution on parallel and distributed machines and analyze the algorithms with respect to correctness, reliability, safety and performance. [C,6] [PLO-2]
3+0
CSXXX Domain Elective-5 3+0 None
CSXXX Domain Elective-6 3+0 None
SSXXX Civic and Community Engagement 3+0 None
CS499 Final Project-I 0+3 None
Course Code Course Name Credit Hours Pre Req
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. Identify and solve major entrepreneurial issues. [PLO-1]
  3. Develop a business plan to demonstrate an understanding of the taught concepts. [PLO-2]
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. Its 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, enforcement, and 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. Identify appropriate techniques to tackle and solve problems in the discipline of information security.[C,4] [PLO-1]
3+0 CS321
CSxxx Domain Elective-7 3+0 None
CS499 Final Project-II 0+3 CS499

List Of Electives

Code Title Cr. Hr.
CS401 Web Programming Languages 3+0
CS402 Mobile Application Development 3+0
CS403 Modern Programming Languages 3+0
CS404 Numerical Computing 3+0
CS405 Web Engineering 3+0
CS406 Software Testing 3+0
CS407 Cloud Computing & Services 3+0
CS408 Computer Graphics 3+0
CS409 Object Oriented Software Engineering 3+0
CS410 Special Topics in Computer 3+0
CS411 Artificial Neural Networks 3+0
CS412 Fuzzy Logic 3+0
CS413 Codeless Programming 3+0
CS414 Theory of Programming Languages 3+0
CS415 Digital Image Processing 3+0
CS416 Special Topics in CS 3+0

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

Faculty

Dr Amjad Khan

Assistant Professor

Dr. Sadaf Tanvir

Assistant Professor

Mr. Wasif Latif

Assistant Professor

Mr. Yasir Javed

Assistant Professor

Mr. Abdul Basit

Assistant Professor

Mukhtar Qureshi

Assistant Professor

Mr. Asad Hanif

Lecturer

Ms. Aqsa Ashfaq

Lecturer

Ms. Madiha Hena

Lecturer

Ms. Saba Tabassum

Lecturer

Mr. Hafiz M. Murtaza

Lecturer

Mr. Najam ul Saqib

Lecturer

Ms. Amber Falak

Junior Lecturer

Mr. Hassan

Junior Lecturer