Bachelor Of Science In Computer Science(BSCS)


Course Title

Credit Hours


Programming Fundamental



Basic Electronics



Calculus &Analytical Geometry



Into to ICT



Functional English



Islamic Studies




Total  19


Course Title

Credit Hours


Object Oriented Programming



Digital Logic Design



Discrete Structures



Principles of Management



Communications Skill



Probability & Statictics




Total 19


Course Title

Credit Hours


Data Structures & Algorithms



Computer Communication & Networks



Financial Accounting



Information Systems



Technical and Report Writing



Linear Algebra




Total  18


Course Title

Credit Hours


Professional Practices



Internet Architecture & Protocols



Software Engineering



Database Systems

(4) 3+1





Pakistan Studies




Total  18


Course Title

Credit Hours


Human Computer Interaction



Operating Systems

(4) 3+1


OO Analysis & Design



DB Administration & Management



Multimedia system & Design



Technology Management




Total 19


Course Title

Credit Hours


Web Systems & Technologies



Systems & Network Administration



Enterprise Application Development



IT Infrastructure



System Integration & Architecture



IT Project Management









Course Title

Credit Hours


Capstone Project Part I



Data & Network Security



Network Design and Management



Mobile Application Development



E-Commerce Application Development




Total  15


Course Title

Credit Hours


Capstone Project part-II



Cloud Computing



Enterprise Resource Planning Systems



Computer Game Development




Total 12




Programming Fundamentals CMP-2122

The course is designed to familiarize students with the basic structured programming skills. It
emphasizes upon problem analysis, algorithm designing, and program development and testing.
Object Oriented Programming CMP- 2124

The course aims to develop student‘s Object Oriented Programming skills.
Discrete Structures CMP-2111

The course provides a solid theoretical foundation of discrete structures as they apply to
Computer Science problems and structures. The students will learn how to use mathematical
notation and solve problems using mathematical tools.
Data Structures& Algorithms CMP-3113

This course provides an introduction to the theory, practice and methods of data structures and
algorithm design.

Digital Logic Design CMP-2210

The course introduces students with digital circuit of large complexity and how such circuits
could be built in a methodological way, starting from Boolean logic and applying a set of
rigorous techniques.

Operating Systems CMP-3621

To help students gain a general understanding of the principles and concepts governing the
functions of operating systems and acquaint students with the layered approach that makes
design, implementation and operation of the complex OS possible.

Database Systems CMP-3450

The course aims to introduce basic database concepts, different data models, data storage and
retrieval techniques and database design techniques. The course primarily focuses on relational
data model and DBMS concepts.

Software Engineering CMP-3310

To study various software development models and software development life cycles. The
concepts of project management, change control, process management, software development
and testing are introduced through hands-on team Projects.

Computer Communication and Networks CMP-2540

To introduce students with concepts related to computer communication, analogue & digital
transmission, network layers, network models (OSI, TCP/IP) and protocol standards. Emphasis
is given on the understanding of modern network concepts.

Human Computer Interaction CMP-3711

This course focuses on the basic concepts of how human perceives and interacts with computers.
Through a set of exercises, students will acquire the ability to critique problems that exist in
current interactive software and websites. Students will also learn several usability evaluation

Capstone Project CMP-4970

The Capstone Project is an opportunity for participants to put their leadership competencies into
practice. Capstone Project allows the student to identify and develop a project that puts into
practice the leadership skills and competencies learned during the courses of study. Detailed
guideline and documentation temples are available with the Department.

Computing Supporting Area Elective Courses

Linear Algebra MATH-3215

To provide fundamentals of solution for system of linear equations, operations on system of
equations, matrix properties, solutions and study of their properties.

Functional English(English I) ENG-2411

In today‘s employment market employers are looking for people who can articulate clearly, take
and pass on messages, deal with customers effectively, read, understand and follow a wide range
of documents and write fluently and accurately, using accepted business conventions of format,
spelling, grammar and punctuation. Functional English course is developed to strengthen
students‘ these skills which enable them to deal with the practical problems and challenges of
life – at home, in education and at work.

Communication Skills (English II) ENG-2412

• To sensitize students to their communicative behavior
• To enable them to reflect and improve on their communicative behavior/performance
• To build capacities for self criticism and facilitate growth
• To lead students to effective performances in communication

Technical and Business Writing (English III) ENG-2413

To effectively plan and structure technical reports and to recognize the various stages in writing
a technical report.

Islamic Studies SS-2311

• To provide Basic information about Islamic Studies
• To enhance understanding of the students regarding Islamic Civilization
• To improve Students skill to perform prayers and other worships
• To enhance the skill of the students for understanding of issues related to faith and religious life.

Pakistan Studies SS-2312

Develop vision of historical perspective, government, politics, contemporary Pakistan,
ideological background of Pakistan.
Study the process of governance, national development, issues arising in the modern age
and posing challenges to Pakistan.

Introduction to Information & Communication Technologies ICT-2021

The course introduces students to information and communication technologies and their
application in the workplace. Students will get basic understanding of computer software,
hardware, and associated technologies. They will also learn how computers are used in the
workplace, how communications systems can help boost productivity, and how the Internet
technologies can influence the workplace.

Professional Practices SS-4910

A Computing graduate as professional has some responsibilities with respect to the society. This
course develops student understanding about historical, social, economic, ethical, and
professional issues related to the discipline of Computing. It identifies key sources for
information and opinion about professionalism and ethics. Students analyze, evaluate, and assess
ethical and professional computing case studies.

Financial Accounting MNG-2210

This course intends to introduce students with knowledge of Financial Accounting required to
help them to understand the process of financial management required to develop modern
accounting information systems.

Principles of Management MNG-2212

The course will cover topics fundamentals and principles of management, administrative police,
objectives, and procedures and problems of organizational control and leadership.

Principles of Philosophy SS-2511

The overall goal of this course is to provide students with the basic understanding required to
conduct and critique epidemiological studies.

Principles of Psychology SS-2410

The course provides an overview of the history and major issues of psychology, including
learning and perception, personality theories, abnormal behavior, motivation and emotion,
human development, social psychology.

Operations Research CS-4931

This course aims to introduce students to use quantitive methods and techniques for effective
decisions–making; model formulation and applications that are used in solving business decision
Software Project Management SE-4349

To develop students‘ ability to plan and manage software development projects successfully,
maximizing the return from each stage of the software development life cycle.

Computer Organization and Assembly Language CS-3210

This course covers the basics of computer organization with emphasis on the lower level
abstraction of a computer system including digital logic, instruction set and assembly language

Theory of Automata and Formal Languages CS-3131

The course introduces students with fundamental concepts of automata theory and formal
languages to form basic models of computation which provide foundation of many branches of
computer science, e.g. compilers, software engineering, concurrent systems, etc.

Design and Analysis of Algorithms CS-3143

The course introduces students with the basic notions of the design of algorithms and the
underlying data structures. Students will learn about several measures regarding the structure,
complexity, and efficiency of algorithms.

Artificial Intelligence CS-3811

This course will introduce the basic principles in artificial intelligence. It will cover simple
representation schemes, problem solving paradigms, constraint propagation, and search
strategies. Areas of application such as knowledge representation, natural language processing,
expert systems, vision and robotics will be explored. The Prolog programming language will also
be introduced.
computer; and how they interact to provide the processing needs of the user.

Compiler Construction CS-4141

At the end of the course students will understand the overall structure of a compiler, and will
know significant details of a number of important techniques commonly used. They will be
aware of the way in which language features raise challenges for compiler builders.

Multivariable Calculus MATH-2214

The goals are to develop the skills to have ground knowledge of multivariate calculus and
appreciation for their further computer science courses.

Differential Equations MATH-2215

The course develops students‘ fundamental skills of solving ordinary differential equations, and
developing differential equations for real-world problems.

Numerical Computing CS-3941

On completion of this course, students will be able to demonstrate programming proficiency
using structured programming techniques to implement numerical methods for solutions using
computer-based programming techniques using Mat Lab for all methods. The course must serve
the purpose of scientific software development for science and engineering problems.

Object Oriented Analysis and Design SE-3311

In this course, the students will learn how to produce detailed object models and designs from
system requirements; use the modeling concepts provided by UML; identify use cases and
expand into full behavioral designs; expand the analysis into a design ready for implementation
and construct designs that are reliable.

Internet Architecture and Protocols CS-3513

This course investigates the design principals of Internet. Students will learn the structure of the
Internet and related protocols.

Computer Science Elective Courses

Multimedia Systems and Design CS-3743

The course introduces students with the complete process of multimedia system specifications,
formats, design, testing, and prototyping, including the tools and techniques for integrating
multimedia content into a product.
Enterprise Application Development CS-4745

This course explores advanced application development techniques in a large enterprise wide
setting using Microsoft technologies.

E-Commerce Applications Development CS-4746

This course focuses on electronic commerce applications, technologies, and tools which are used
to conduct business on the World Wide Web.

Cloud Computing CS-4544

This course gives an introduction to cloud computing and related techniques, issues, ecosystem
and case studies. Students will become familiar with cloud services and their techniques through
labs and the term project.

Principles of Soft Computing CS-4863

Soft Computing refers to a collection of computational techniques in computer science, artificial
intelligence and engineering disciplines which attempt to study, model and analyze complex
problems – those for which more conventional methods have not yielded low cost, analytic and
complete solutions. Unlike conventional computing, soft computing techniques are tolerant of
imprecision, uncertainty and approximations. This course introduces students with soft
computing techniques.

System Programming CS-3641

This course has three goals. First, it teaches the tools available in a Windows operating system
for program development. These tools include standard libraries, system calls, system programs,
and the basic Windows file system structure. Second, it is intended to rigorously develop the
System programming skills of students. Third, it is intended to introduce students to system level
code reading and the principles of code management.

3D Modeling & Animation CS-4742

This course utilizes concepts and tools that professionals apply to create games and illustrations
as well as storytelling with 3d animation. This course will cover all related techniques needed to
created 3D scenes including lighting, texturing and rendering.

Computer Game Development CS-4741

The course is design to teaching how to create a complete computer / video game from start to
finish? What are the different elements to a game? What makes a great game?

Web Engineering CS-4513

The course is aimed to provide students with conceptual understanding required to develop web
applications and web services according to international standards.

Database Administration & Management CS-3441

• Make Students fully understand the concepts and technical issues of Database Ad- ministration.

• Make Students to have good understanding of internal functionality of Database Man-

agement System and can Administrator Huge Database implemented in a DBMS.

• They Should Perform Database Administration tasks i.e. Backup and Recovery and
Performance Tuning of Databases.

Enterprise Resource Planning Systems CS-4461

An ERP system is software that runs all areas of an organization including accounting and
finance, HR, sales and distribution, production, purchasing and inventory.This course covers
ERP theory and practice. Course content includes evolution of ERP systems, business process
reengineering, process mapping, ERP life cycle, ERP functionality, ERP bolt-ons and security
and risk issues.

Business Intelligence and Analytics CS-4443

The course will enhance students‘ understanding regarding the evolution, need and benefits of
business intelligence. Students will also learn about various technical aspects of BI and
understand the processes involving in planning, designing, building and maintaining BI

Advance Database Management CS-4444

The students will learn about the salient features of various types of databases, transaction
management, data warehousing and data mining

Software Requirement Engineering SE-3342

To understand Issues in Requirements Engineering, to understand and apply Requirements
Engineering Process, to understand and use Requirements Elicitation and Specification, to
understand and use Formal Techniques, to understand modeling and analysis of Non-Functional

Software Engineering Economics SE-4342

The course is aimed to develop students’ software cost estimation skills using industry

System Integration and Architecture SE-4344

The course aims to teach student about system integration issues, including integration in a
system of systems and federation of systems, role of architectures in systems integration,
performance and effectiveness.

Design Patterns SE-4345

The aim of this course is to make the students competent in designing effective and maintainable
complex software systems of high quality. To this end, students will learn and gain hands-on
experience in designing software systems by reusing/applying design patterns. Design patterns
are successful solutions to recurring problems that arise when building software systems.
Reusing design patterns helps to prevent subtle issues that can cause major problems and
improves code readability for the developers familiar with the patterns. In addition to mastering
these good design abstractions, the students will also learn how to evaluate a design, identify
common problems, and how to fix these problems through refactoring.

Network Design and Management CS-3541

This course is aimed to prepare students to design and manage various aspects of organizational

Mobile and Wireless Networks CS-4543

This course provides a general introduction to mobile networking, with an emphasis on the
mechanisms, protocols and standards. The purpose of the course is to deliver a in-depth
understanding of the architecture and operating principles of mobile and wireless networks.

Network Programming CS-3542

At the end of this course, students would be able to identify and describe the purpose of each
component of the TCP/IP protocol suite. Develop large and complex client-server
applications using TCP/IP. Understand the impact of multiple threads or processes for an
application. Understand the approaches toward building a robust server. This course is about
implementation of TCP/IP networking concepts, Socket programming in Linux and Windows
environment, developing client/server applications using C language, advanced networking
software concepts, Handling multiple processes and threads, sharing data or passing
information between processes or threads (IPC).

Information Security

The course aims to enhance student’s understanding about the essentials of information
Security and the algorithms for implementing security