Requirements For Bachelor Degree Programs: Computing (Computer Science, Software Engineering, Information Technology)
Requirements For Bachelor Degree Programs: Computing (Computer Science, Software Engineering, Information Technology)
Requirements For Bachelor Degree Programs: Computing (Computer Science, Software Engineering, Information Technology)
Structure of BS Programs
Name of Program Computer Software Information
Science Engineering Technology
# Category Credit Hours Credit Hours Credit Hours
1 Computing Courses 70 70 70
Core Courses 43 43 43
Supporting Areas 12 12 12
General Education 15 15 15
2 Software Engineering Courses 48 48 48
CS Core Courses 18 18 18
CS Electives Courses 21 21 21
CS Supporting Areas 9 9 9
Courses (Electives)
3 University Electives 12 12 12
Total Credit Hours 130 130 130
1
Structure of BS Program
Common Areas
in all BS Programs of
Computer Science, Software Engineering and Information Technology
Regarding
2
C. General Education Courses – 15 Credit Hours
(Not limited to the list below. Institutions may add more courses)
3
COURSE CONTENTS
Computing – Core Courses (43 credit hours)
4
Basic Algorithms and problem solving, development of basic algorithms, analyzing
problem, designing solution, testing designed solution. Fundamental programming
constructs, translation of algorithms to programmes, data types, control structures,
functions, arrays, records, files, testing programmes.
Reference Material:
1. Problem Solving and Program Design in C / 6E
Hanly & Koffman
Addison-Wesley | Published: 02/06/2009
ISBN-10: 0321535421 | ISBN-13: 9780321535429
2. C How to Program, 5/E
(Harvey & Paul) Deitel & Deitel, ISBN-10: 0132404168 ISBN-13:
9780132404167 Publisher: Prentice Hall Copyright: 2007
5
statistical and probabilistic formulation with respect to computing aspects.
Course Outline: Introduction to logic and proofs: Direct proofs; proof by
contradiction, Sets, Combinatorics, Sequences, Formal logic, Prepositional and
predicate calculus, Methods of Proof, Mathematical Induction and Recursion, loop
invariants, Relations and functions, Pigeonwhole principle, Trees and Graphs,
Elementary number theory, Optimization and matching. Fundamental structures:
Functions; relations (more specifically recursions); pigeonhole principle; cardinality
and countability, probabilistic methods.
Reference Material:
1. Kenneth H. Rosen, Discrete Mathematics and Its Applications, 6TH edition, 2006,
Mcgraw Hill Book Co.
2. Richard Johnsonbaugh, Discrete Mathematics, 7TH edition, 2008, Prentice Hall
Publishers.
3. Kolman, Busby & Ross, Discrete Mathematical Structures, 4th edition, 2000,
Prentice-Hall Publishers.
4. Ralph P. Grimaldi, Discrete and Combinatorial Mathematics: An Applied
Introduction, Addison-Wesley Pub. Co., 1985.
6
Prerequisites: Data Structures and Algorithms
Objectives: 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.
Reference Material:
1. Database Systems 8E, C.J.Date, Addison Wesley Pub. Co. (2004).
2. Database Systems: A Practical Approach to Design, Implementation and
Management 5E, R.Connolly and P.Begg, Addison-Wesley Pub. Co (2009).
3. Fundamentals of Database Systems, 5/E, Elmasri and Navathe, Addison-
Wesley, ISBN: 0-201-74153-9.
Reference Material:
1. Software Engineering 8E by Sommerville Addison Wesley, 2006
2. Software Engineering: A Practitioner's Approach /7E, Roger Pressman,
McGraw-Hill, 2009
7
Course Structure: Lectures: 2, Labs: 1 Credit Hours: 3
Prerequisites: None
Objectives: To introduce students to the concept of 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.
Course Outline: Analogue and digital Transmission, Noise, Media, Encoding,
Asynchronous and Synchronous transmission, Protocol design issues. Network
system architectures (OSI, TCP/IP), Error Control, Flow Control, Data Link
Protocols (HDLC, PPP). Local Area Networks and MAC Layer protocols (Ethernet,
Token ring), Multiplexing, Switched and IP Networks, Inter-networking, Routing,
Bridging, Transport layer protocols TCP/IP, UDP. Network security issues.
Programming exercises, labs or projects involving implementation of protocols at
different layers.
Reference Material:
1. Introduction to Computer Networks /4, A. S. Tanenbaum, Prentice Hall 2003
2. Computer Networks and Internets, 5/E, 2008
Douglas E. Comer, Purdue University ISBN-10: 0136061273 ISBN-13:
9780136061274 Publisher: Prentice Hall
3. Data and Computer Communications By William Stallings Published by
Macmillan Pub. Co., 8th Edition 2006
8
Institute of Technology, Russell Beale, University of Birmingham ISBN-10:
0130461091
ISBN-13: 9780130461094 Publisher: Prentice Hall
2. Designing the User Interface: Strategies for Effective Human-Computer
Interaction, 4/E Ben Shneiderman, University of Maryland Catherine
Plaisant, University of Maryland ISBN-10: 0321197860 ISBN-13:
9780321197863 Publisher: Addison-Wesley
9
1. Swokowski, Olinick and Pence, Calculus and Analytical Geometry, 6 th edition,
1994, Brooks/Cole Publishers.
2. Howard Anton, Calculus, 7th edition. 2002, John Wiley and Sons (WIE).
3. William E. Boyce Richard C. Diprima, Calculus, John Wiley & Sons, ISBN: 0471093335.
4. Thomas Finny, Calculus and Analytical Geometry, 10th edition, John Wiley and Sons.
5. Erwin Kreyzig, Advanced Engineering Mathematics, 7th edition, 1993, John Wiley &
Sons Inc.
10
Reference Material:
1. Bernard Kolman, David Hill, Elementary Linear Algebra with Applications, 9 th
edition, Prentice Hall PTR, 2007.
2. Gilbert Strang, Strang, Brett Coonley, Andy Bulman-Fleming, Andrew Bulman-
Fleming, Strang's Linear Algebra And Its Applications, 4th edition, Brooks/Cole,
2005
3. Howard Anton, Chris Rorres, Elementary Linear Algebra: Applications Version,
9th edition, Wiley, 2005.
4. David C. Lay, Linear Algebra and Its Applications, 2nd edition, Addison-Wesley,
2000.
11
Course Name: English – III (Communication Skills)
Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: None Annexure - C
Course Name: Islamic & Pakistan Studies
Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: None Annexure – D&E
Course Name: Professional Practice
Course Structure: Lectures:3, Labs: 0 Credit Hours: 3
Prerequisites: None
Resources:
1. Professional Issues in Software Engineering, M.F. Bott et al.
12
13
Curriculum for BS (Computer Science) Program:
The same basis used in the last meeting held in 2004 were taken to revise the
Curriculum of Computer Science.
1. Objectives/Goals
2. Strategies
3. Fast Changing Disciplines
4. Emerging Technologies
5. International Standards
6. Industrial Challenges
7. Possible program design structure
Almost all the members of the committee unanimously approved the proposed objectives
of the program, program structure, general recommendation regarding the update and
revise of the curriculum.
The structure and other details of the program proposed by the committee were
designed inline to the recommendations of various leading bodies continuously in the
quest to designing the educational programs of Computer Science and related
disciplines. These bodies include IEEE and ACM. Latest reports and recommendations
of “Computer Science Curriculum 2008: Interim Revision of CS2001 report” by
Interim Review Task Force of ACM and IEEE Computer Society were mainly
considered.
Many changes were recommended in various sections of the curricula developed by this
Committee in the last meeting held in August 2008. The Committee finally agreed to the
curriculum model presented in the following table.
14
Objectives
Recent developments in computer hardware, software and communication technologies
have offered new exciting opportunities and challenges for creation of innovative learning
environments for Computer Science and its curricula design. One of the key elements
here is to prepare the graduates for the future. The challenge of getting all newly emerging
technologies incorporated in to the curriculum is becoming pivotal for the effectiveness of
curricula. There is a need for curricula structures that are really able to grow as we put
new demands on them. The curriculum is required to provide integration of all
components and the foundations that allow accessing all of the new knowledge and
technology to fulfil the vision of future.
1. The programme should provide a broad understanding of the field via introducing
concepts, theory, and techniques.
3. The programme may encourage students to develop and use abstract models in
addition to apply respective technology in practical situations.
4. Computer Science graduates require special communication skills both orally and in
writing. They must be able to produce well-organized reports, which clearly delineate
objectives, methods of solution, results, and conclusions for a complex task.
6. The programme should be dynamic and flexible enough to maintain currency with
the latest scientific and technological developments in the field.
15
7. The programme should provide professional orientation to prepare students for
industry.
Programme Structure
The proposed structure is dynamic and provides basis for various options including
Breadth-Based, Depth-Based, and Integrated Breadth & Depth-Based specializations.
Student may choose a particular option, which is most appropriate to their planned future
career. The following are relevant details:
Minimum credit hours shall be 133 for BS (Computer Science) programme including
computing related courses.
The programme shall comprise 8 semesters spread over 4 years with two semesters a
year. The major area of specialization shall be incorporated in the structure. Each major
area shall comprise of 4-6 courses.
Credit
Course Group hour Percentage
Computing - Core courses 43 33%
Computing - Supporting areas 12 9%
Computing - General Education 15 12%
CS - Core courses 18 14%
CS – Electives 21 16%
CS - Supporting courses 9 7%
University Electives 12 14%
16
University
Electives Computing - Core
CS - Supporting courses
courses
CS - Electives - Computing
Supporting areas
a) Networking
b) Information Management
c) Intelligent Systems
d) Graphics & Visualization
e) Software Engineering
f) Web Engineering
g) E-Commerce
h) Multimedia
i) Distributed Computing
j) Security
k) Languages and Translators
l) Computer Architecture
m) Systems Software
n) Scientific Computing
o) Soft Computing
University Electives
It was unanimously recommended that 18 credit hours shall require to be taken from the
list of general elective courses. The university may add any number of courses to the
general elective courses preferably other than Computer Science courses.
Eligibility Criteria
The eligibility criteria of the draft curriculum by the last meeting were opened for
discussion in the House. It was thoroughly discussed by considering all input streams of
BS (Computer Science). The House unanimously recommended the eligibility criteria for
admission to BS (Computer Science) as given:
17
The candidates must have intermediate or equivalent qualification. However, the
university shall define their selection criteria.
18
19 PK - Islamic and Pakistan Studies 3 (3, 0) 2
20 SS -- Professional Practices 3 (3, 0) 7
21 CS - Introduction to Information and 3 (2, 1) 1
Communication Technologies
19
34 CS CG Digital Signal Processing
V1
35 CS CG Computer Vision
V1
36 CS SE 2 Software Engineering 3 (3, 0) 5
37 CS SE 2 Advance Software Engineering
38 CS LT 3 Principles of Programming Languages 3 (2, 1) 4
39 CS CC Data Communication 3 (3, 0) 6
N4
40 CS CC Distributed Computing 3 (2, 3) 6
N4
41 CS CC Data and Network Security 3(3, 0) 7
N4
42 CS CC Wireless Networks 3(2, 3)
N4
43 CS CC Telecommunication Systems 3 (2, 1)
N4
44
45
46 CS CA Microprocessor Interfacing 3 (2, 1) 7
O6
47 CS WE Web Engineering 3 (2, 1) 5
7
54 CS SO Expert Systems
C 11
55 CS SO Artificial Neural Network
C 11
56 CS SO Fuzzy Logic
C 11
20
8 – SS = Systems Software
9 – IM = Information Management
10 – SIC = Scientific Computing
11 – SOC = Soft Computing
21
University Elective courses
Cr. Cr.
Semester 3 Hrs. Semester 4 Hrs.
Digital Logic and Design 3 Operating Systems 4
Data Structures and Algorithms 3 Differential Equations 3
Introduction to Database
Linear Algebra 3 Systems 4
English-III (Communication Introduction to Software
Skills) 3 Engineering 3
22
Computer Organization and
Electromagnetism 3 Assembly Language 3
University Elective I 3
18 17
Cr. Cr.
Semester 5 Hrs. Semester 6 Hrs.
Computer Communication and
Networks 3 Compiler Construction 3
Theory of Automata & Formal
Languages 3 CS Elective I 3
Computer Architecture 3 Numerical Computing 3
Design and Analysis of
Human Computer Interaction 3 Algorithms 3
University Elective II 3 CS Elective II 3
University Elective III 3 University Elective IV 3
18 18
Cr. Cr.
Semester 7 Hrs. Semester 8 Hrs.
Software Design Project I 3 Software Design Project II 3
Professional Practices 3 CS Elective V 3
CS Elective III 3 CS Elective VI 3
CS Elective IV 3 CS Elective VII 3
Artificial Intelligence 3
15 12
23
COURSE CONTENTS
For BS Computer Science
24
Course Outline: Finite State Models: Language definitions preliminaries,
Regular expressions/Regular languages, Finite automata (FAs), Transition graphs
(TGs), NFAs, Kleene’s theorem, Transducers (automata with output), Pumping -
lemma and non regular language Grammars and PDA: Context free grammars,
Derivations, derivation trees and ambiguity, Simplifying CFLs , Normal form
grammars and parsing, Decidability, Chomsky’s hierarchy of grammars Turing
Machines Theory: Turing machines, Post machine, Variations on TM, TM
encoding, Universal Turing Machine, Context sensitive Grammars, Defining
Computers by TMs.
Text Books/Reference Books:
1. An Introduction to Formal Languages and Automata, By Peter Linz, 4 th edition,
Jones & Bartlett Publishers, 2006
2. Theory of Automata, Formal Languages and Computation, By S. P. Eugene,
Kavier, 2005, New Age Publishers, ISBN (10): 81-224-2334-5, ISBN (13) : 978-
81-224-2334-1.
3. John Hopcroft and Jeffrey Ullman, Introduction to Automata Theory,
Languages, and Computation, 2nd edition, 2001, Addison-Wesley.
4. Introduction to Languages and the Theory of Computation, By John C.
Martin3rd edition, 2002, McGraw-Hill Professional.
25
Objectives: This course studies four main objectives of AI. Modelling the
environment by constructing computer representations of the real world. Perception
and reasoning - obtaining and creating information/knowledge to populate a
computational representation. Taking actions by using the knowledge of the
environment and desired goals to plan and execute actions. Learning from past
experience.
Course Outline: Artificial Intelligence: Introduction, Intelligent Agents. Problem-
solving: Solving Problems by Searching, Informed Search and Exploration,
Constraint Satisfaction Problems, Adversarial Search. Knowledge and reasoning:
Logical Agents, First-Order Logic, Inference in First-Order Logic, Knowledge
Representation. Planning and Acting in the Real World. Uncertain knowledge and
reasoning: Uncertainty, Probabilistic Reasoning, Probabilistic Reasoning over Time,
Making Simple Decisions, Making Complex Decisions. Learning: Learning from
Observations, Knowledge in Learning, Statistical Learning Methods, Reinforcement
Learning. Communicating, perceiving, and acting: Communication, Probabilistic
Language Processing, Perception and Robotics. Introduction to LISP/PROLOG and
Expert Systems (ES) and Applications.
Reference Material:
1. Artificial Intelligence: Structures and Strategies for Complex Problem Solving:
International Edition By George F. Luger, 6th edition: Pearson Education, 2008.
2. Artificial Intelligence: A Modern Approach, By Stuart Jonathan Russell, Peter
Norvig, John F. Canny, 2nd Edition, Prentice Hall, 2003.
26
Course Name: Compiler Construction
Course Structure: Lectures: 2 / Labs: 3 Credit Hours: 3
Prerequisites: Theory of Automata and Formal Languages
Objectives: At the end of the course students should 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.
Course Outline: Compiler techniques and methodology. Organization of
compilers. Lexical and syntax analysis. Parsing techniques. Object code generation
and optimization, detection and recovery from errors. Contrast between compilers
and interpreters.
Reference Material:
1. Compilers: Principles, Techniques, and Tools By Alfred V. Aho, Ravi Sethi,
Jeffrey D. Ullman, Contributor Jeffrey D. Ullman ,Addison-Wesley Pub. Co., 2nd
edition,1987 Original from the University of Michigan
2. Modern Compiler Design, By Dick Grune, Henri E. Bal, Ceriel J. H. Jacobs, Koen
G. Langendoen, John Wiley, 2000.
3. Modern Compiler Implementation in C, By Andrew W. Appel, Maia Ginsburg,
Contributor Maia Ginsburg, Cambridge University Press, 2004.
4. Modern Compiler Design by Dick Grune, Henri E. Bal, Ceriel J. H. Jacobs, Koen
G. Langendoen, 2003, John Wiley & Sons.
27
3. Bernard Kolman, William F. Trench, Elementary Multivariable Calculus, 1971,
Academic Press.
4. Howard Anton, Albert Herr, Multivariable Calculus, 5th edition, 1995, John
Wiley.
28
Objectives: On completion of this unit, students will be able to demonstrate
programming proficiency using structured programming techniques to implement
numerical methods for solutions using computer-based programming techniques
.using Matlab for all methods. The course must serve the purpose of scientific software
development for science and engineering problems.
Course Outline: The concepts of efficiency, reliability and accuracy of a method.
Minimising computational errors. Theory of Differences, Difference Operators,
Difference Tables, Forward Differences, Backward Differences and Central
Differences. Mathematical Preliminaries, Solution of Equations in one variable,
Interpolation and Polynomial Approximation, Numerical Differentiation and Numerical
Integration, Initial Value Problems for Ordinary Differential Equations, Direct Methods
for Solving Linear Systems, Iterative Techniques in Matrix Algebra, Solution of non-
linear equations.
Reference Material:
1. Numerical Methods in Scientific Computing Germund Dahlquist and Åke
Björck .
2. Numerical Methods for Scientific Computing : J.H. Heinbockel
3. Numerical Analysis: I.A. Khubaza
4. Numerical Analysis and Programming : Shan S Kuo
5. Numerical Analysis by Berden Fairs
6. Numerical Analysis by Gerald
29
1. 3. Interactive Computer Graphics: Functional, Procedural and Device-level
2. methods; Peter Burger and Duncan. F. Gillies; Addison-Wesley, (2003)
30
2. Oppen Heim, Discrete time signal Processing
31
use different testing techniques used in software engineering to test software systems,
manage the important issues for planning a project.
Course Outlines:
- Introduction to Software Engineering,
- Software Process Framework
- Process Models
- Agile Software Process
- Software Engineering Practices
- System Engineering
- Requirement Engineering
- Analysis Modelling
- Design Engineering
- Architectural Design
- Component Design
- User Interface Design
- Testing Strategies
- Testing Tactics
- Product and Process Metrics
- Project Management
- Project Estimation
- Project Scheduling
- Risk Management
- Quality Management
- Change Management
Text Books/Reference Books:
1. Software Engineering: A Practioner's Approach, Roger Pressman, McGraw-Hill,
Sixth Edition, 2005.
2. Ian Sommerville. Software Engineering, Addison-Wesley, 2001 (7th edition).
3. UML Distilled
32
2. William Stalling, Business Data Communication.
33
6. B. Schneier, Applied Cryptography, John Wiley and Sons, NY, 1996.
7. A. Menezes, P. Oorshcot, and S. Vanstone, Handbook of Applied Cryptography,
CRC Press, Boca Raton, FL, 1997.
34
2. Fundamentals of Telecommunication Networks, T. Saadawi, Wiley US, ISBN:
0471515825.
3. Telecommunication Systems, P. G. Fonteolliet, Artech House 1991.
35
Course Name: Datawarehouse
Course Structure: Credit Hours: 3
Prerequisite: Database Systems
Objective: To provide the Introduction of Datawarehouse and its purpose. And
enable the students to understand different features / issues in datawarehousing
and its designing.
Course Outline: Introduction to Data Warehouse and Data Marts, Comparison
of OLTP Systems & Data Warehousing, Data Warehouse Architecture,
Dimensional Modeling, Comparison Of DM & ER Models, Extraction, Cleansing
and Loading process and techniques, Designing a Data warehouse, End user
tools, OLAP.
36