# Peshawar University B.Sc Syllabus Computer Science

UNIVERSITY OF PESHAWAR Syllabus B.Sc Computer Science

It is notified for the general information of all concerned that the Academic Council in its meeting held on 20.04.2017 & the Syndicate dated 29.04. 2017 approved the new scheme of Studies for B.Sc. Computer Science which will be effective from the current session.

The admission to B.Sc. Computer Science (Part-I) for the year 2017 will be based on the attached syllabus. Sd/xxx xxx xxx

Deputy Registrar (Acad), University of Peshawar

University of Peshawar B.Sc. COMPOSITE DEGREE COURSE

Year-wise Marks Distribution:

B.Sc. Part � I.

B.Sc. Part � II.

INTRODUCTION TO COMPUTER

Objectives:

This course aims to familiarize students with the history and evolution of computers and to provide them basic skills in word-processing, presentation software and databases. This course also introduces simple concepts of computer programming. After successful completion of the course, students will have the necessary knowledge about computers for more serious studies.

Contents:
Brief history of computers and their applications. Major components of a computer. Computer and society. The social impact of computer age. Computer in offices, industry and education. Office automation tools; word processing, Graphics packages, Databases and Spreadsheets. Current trends, research and future prospects. Legal and moral aspects of Computer Science, Professional ethics.

1. Sanders, Donald H, Computers Today, 3rd edition, Mc. Graw Hill, 1988.

2. Lonnie, Mastering Office 1997, BPB Publications, 1997.

3. Parker, Charles S, Computers and their Applications, 3rd edition, The Dryden Press, 1993.

DISCRETE MATHEMATICS
Objectives:
Study of Mathematical Structures useful in computing. To introduce to elements of logic, mathematics, and philosophy that allows reasoning about comutational structures and processes.

Contents:
Elementary logic, prepositional calculus, Methods of Proof, Mathematical introduction, recurrence relation, loop invariance, Relations. Equivalence of relations and Partitions. Partially ordered sets. Properties of General Relations, Introduction to combinatory. Basic Counting techniques. Elementary probability, Inclusion-exclusion principle and binominal methods. Counting and partitions. Pigeon hole principle. Algebraic structure; groups and semi-groups.

1. John A. Dossey, Alert D. Otto, Lawrence E. Spence, Charles Eynden, Discrete Mathematics, Addison-Westey Pub. Co. January 1997.
2.Kenneth A. Ross, Charles R.B. Wright, Discrete Mathematics, Prentice Hall, January, 1992.
3. John K. Truss, Discrete Mathematics for Computer Scientists, Addison-Wesley Pub. Co. August 1, 1991.

COMPUTER PROGRAMMING
Objectives:
This course would help the students develop programming language skills using Turbo C++. By the end of the module students should:Understand what is involved in creating a fully functional programme.
Be familiar with the C++ development environment.
Be able to design and develop an application in Turbo C++.
Contents:
Programming and problems analysis, Development of basic algorithm. Translation of algorithm into programmes. Standard Data Types. Arrays, Structures, Pointers and files. Debugging and testing programmes.

1. Paul M. Chirlian, Programming in C++, Merrill Pub. Co. April, 1989.
2. Lucy Garnett, Building Business Applications Using C++, Addison Wesley Pub. Co. October 1, 1997.
3. Greg Perry and Marcus Johnson, TURBO C++ By Example, National Book Foundation, 1997.
4. H.M. Dietel and P.J. Dietel, C++ How to Programme, Prentice Hall Internations Inc. 1994.
5. Kip R.Irvine, C++ and Object-Oriented Programming, Prentice Hall, October 1, 1996.

DIGITAL LOGIC DESIGN
Objectives:
This is a first course in logic design. This course is intended to teach students the fundamentals of switching theory and digital design. By the end of the semester, students will be able to have an understanding of what a digital system is and how to design a digital system by studying the techniques use in design of digital systems. Practical Projects provide them an opportunity to implement a working digital system.
Contents:
Fundamental of Boolean Algebra. Minimization techniques. Algebraic. QM methods, etc. combinational logic circuits with MSI and LSI. Address, Compactors, Encoders and decoders, multiplexers and de-multiplexers, ROM and PLA and PAL implementation. Sequential logic circuits. Flip flops, registers, counters, memory timing sequences. Moore and Mealy machine concepts.
1.Alan W. Shaw, Logic Circuit Design, Senders College Publication, 1993.

2.Ronald Toui, Digital System, Principal and Applications, Prentice Hall, 6th Edition.

3.Mano, Morris M., Computer Logic Design, 1984.

DATA STRUCTURE
Objectives:
This course will teach students how to design and implement date structures in a programming language. By the end of the course, students should be able to:
Read and abstract data type (ADT) specification and derive properties of the type.
Define and implement standard data structure: stacks, queues, trees, sets and graphs.

Contents:
Basic Data Structure. Static and dynamic data structures. Abstraction and abstract Data Types (ADT�s). Time and requirements of various implementations of ADT�s. Space/Time trade-offs. Queues, stacks, trees and graphs. Implementations of tree and graph traversals. Height Balanced Trees. Heaps Storage managements. Hashing techniques. Students are encouraged to use object oriented techniques.

1. Knneth Lambert, Fundamentals of Programmes and Data Structure with C++, South-Western Pub, February, 1997.

2. Ellis Horwiz-Sartaj Sahni, Fundamentals of Data Structures C++, Computer Science Press, 1994.

3. Knapp, Data Structures for Business Programming, McGraw Hill Book Co., 1990. Keith E. Gorlen, Sanford M. Orlow, Perry S. Plexico, Data. Abstraction and Object-Oriented Programming in C++. John Wiley & Sons, September 1, 1990.

DATABASE SYSTEMS

Objectives:

To introduce both database theory and implementation. On completion students should have a good understanding of the motivation and principles underlying database systems with particular emphasis on the relation model including study of query language design and basic storage structures.

Contents:

Basic database concepts, conceptual modeling, hierarchical, network and relational data models, relational theory and languages, Database design, database security and integrity, Query languages, relational calculus, relational Algebra, SQL, Introduction to query processing and optimization, introduction to concurrency and recovery, front-end and back-end databases.

1. Abraham Silbeschatz, Henry Korth, S. Sudarshan, Database Systems Concepts, McGraw Hill, May 1997.

2. Thomas M. Connolly, Carolyn E. Begg, Anne D. Strachan, Database System. A Practical Approach to Design, Implementation and Management (International Computer Science Series), Addison Wesley Pub. Co., November 1, 1995.

3. Jeffrey D. Ullman, Jennifer Widom, A First Course in Database System, Prentice Hall,: April 1, 1997.

OBJECT ORIENTED PROGRAMMING

Objectives:

This course is intended to five the students a solid grounding in object-oriented paradigm. After completing this course, the students would be acquainted with the underlying concepts of object orientation and would be able to develop small object oriented applications.

Contents:

Introduction to object oriented programming Objects, classes and inheritance. The concepts of encapsulation. Polymorphism. Early and late binding. Operator overloading and function overloading. Constructors and destructors. Friend functions. In line functions. Virtual functions. Class libraries. Object oriented software development.

1. Nammir C. Shammas. Foundations of C++ and Object-Oriented Programming IDG Books.

2. Herbert Schildt. Borland Osborne. Turbo C/C++, The Complete Reference McGraw Hill.

3. Eric. P. Bloom. The Turbo C++ Trilogy. Winderest Books McGraw Hill.

COMPUTER NETWORKS

Objectives:

To develop for the student, the engineering basis on which networks and protocols of various speeds, capacities and facilities are built. To understand the problem of client/server and design at a high level at a high level. At ht end of the course students should.

• Be able to implement protocols at the application level.
• Be able to show correctness of such designs.
• Use protocols to implement the network component of applications.
• Understand the high level use of distributed objects through an object broker.

Contents:

The ISO model, Basic data communication concepts, Various Layers, LAN medium access protocols, CSMA/CD and token passing, LAN Hardware and standards. Ethernet and token ring, network transport protocols, TCP/IP internetworking devices.

1. Andrew S. Tannenbaum, Computer Networks, 3rd edition, prentice Hall, 1996.

2. John R. Freer, Computer Communication and Networks, IEEE, February 1, 1996.

3. Fred Halsall, Data Communications, Computer Networks and Open Systems Addison-Wesley Pub. Co, January 1996.

4. William Stallings, Computer and Data Communication, 4th Edition, Mac Millan Publishing Company, 1994.

OPERATING SYSTEMS

Objectives:

The heart of a computer is based around its operating system. The processor deals with requests coming from all directions asynchronously. The operating system has to deal with the problems of contention, resource management and both programme and user data management, and provide a useful no-wait user interface. Operating system such as UNIX, Windows (95) and OS2 are increasingly driven by user demands for faster acting systems.

• Use UNIX intrinsic of resource control, inter-process communication and control, memory management, and the I/O system generally.
• Compare and construct modern Uni-Process Operating System.

Course Contents:

History and evolution of operating system. Types of operating systems. Case history of significant operating system. Processes, inter-process communication, process co-ordination and synchronization. Process scheduling. Memory management. Files systems. Security and protection. Case operating systems.

1. Abraham Silberschatz, Peter Galvin, Operating Concepts, Addison Wesley Pub. Co., November 1, 1997.

2. Randolph Benthson, Inside Linux: A look at Operating System Development, Specialized Systems Consultants, March, 1996.

3. Graig Duffy, An Introduction to the Unix Operating System, Krieger Publishing Company, December, 1991.

JAVA PROGRAMMING:

Introduction to Java Applets

Developing Java Applications

Control Structures

Methods

Arrays

Object-Based Programming in Java

Object Oriented Programming in Java

Strings and Characters

Graphics

Exception Handing

Books Recommended:

1. JAVA How to Programme

(2nd Edition)

By H.M. Dietel and P.J. Deitel

Publisher: Prentice-Hall International, Inc. Year: 1998.

2. The JAVA Programming Language
By Ken Arnold and James Gosling Publisher: Addison Wesley Year: 1996.
Peshawar University B.Sc Syllabus Computer Science

Need Assistance? In case of any query/problem, Please don’t hesitate to Contact us Pak Study Library Services for Student provide a wide range of Education