Requirements For Bachelor Degree Programs: Computing (Computer Science, Software Engineering, Information Technology)

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 36

Computing

Requirements for Bachelor Degree Programs


(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

Computing, Supporting Area, General Education & University Elective Courses

A. Computing-Core Courses – 43 Credit Hours

# C Pre- Course Title Credit Proposed


o Req hours Semester
d
e
1 - Introduction to Computing 4 (3-3) 1
2 - Programming Fundamentals 4 (3-3) 1
3 1 Object Oriented Programming 3 (3-0) 2
4 - Discrete Structures 3 (3-0) 2
5 3 Data Structure and Algorithms 3 (3-0) 3
6 3 Digital Logic and Design 1 3 (3-0) 3
7 4 Operating Systems 4 (3-3) 4
8 4 Introduction to Database Systems 4 (3-3) 4
9 2 Introduction to Software 3 (3-0) 4
Engineering 1

10 6 Computer Communications and 3 (3-0) 6


Networks 1

11 8 Human Computer Interaction 3 (3-0) 7


12 - Senior Design Project 6 (0-18) 7,8
1: Labs preferred in these courses. However, implementation details are left upon
the concerned Institutes.

B. Supporting Area Courses - 12 Credit Hours

# Co Pre- Course Title Credit Proposed


de Req hours Semester
13 MT Calculus and Analytical Geometry 3 (3-0) 1
14 MT - Probability and Statistics 3 (3-0) 2
15 MT - Linear Algebra 3 (3-0) 4
16 PH - Electromagnetism 3 (3-0) 3

2
C. General Education Courses – 15 Credit Hours

# Co Pre- Course Title Credit Proposed


de Req hours Semester
17 EG English-I (Functional English) 3 (3-0) 1
18 EG English-II (Technical and 3 (3-0) 2
Report Writing)
19 EG - English-III (Communication 3 (3-0) 3
Skills)
20 SS Islamic and Pakistan Studies 3 (3-0) 1
21 SS - Professional Practices 3 (3-0) 8

University Elective Courses – 12 Credit Hours

(Not limited to the list below. Institutions may add more courses)

# Cod Pre- Course Title Credit Proposed


e Req hours Semester
1 MG - Financial Accounting 3(3, 0)
2 MG - Financial Management 3 (3, 0) 4
3 MG - Human Resource Management 3 (3, 0) 5
4 MG - Marketing 3 (3, 0) 6
5 SS - Economics 3 (3, 0) 7
6 PS - Psychology 3 (3, 0) 6
7 SS - International Relations 3 (3, 0) 7
8 SS - Foreign/Regional Language 3 (3, 0) 7-8
(French, German, Sindhi, Punjabi,
Urdu etc.)
9 SS - Philosophy 3(3, 0) 6-8

3
COURSE CONTENTS
Computing – Core Courses (43 credit hours)

Course Name: Introduction to Computing


Course Structure: Lectures: 3, Labs: 1 Credit Hours: 4
Prerequisites: None
Objectives: This course focuses on a breadth-first coverage of computer science
discipline, introducing computing environments, general application software,
basic computing hardware, operating systems, desktop publishing, Internet,
software applications and tools and computer usage concepts; Introducing
Software engineering and Information technology within the broader domain of
computing, Social issues of computing.
Course Outline: Number Systems, Binary numbers, Boolean logic, History
computer system, basic machine organization, Von Neumann Architecture,
Algorithm definition, design, and implementation, Programming paradigms and
languages, Graphical programming, Overview of Software Engineering and
Information Technology, Operating system, Compiler, Computer networks and
internet, Computer graphics, AI, Social and legal issues.
Reference Material:
1. Computers: Information Technology in Perspective, 9/e by Larry Long and
Nancy Long,
2. Prentice Hall, 2002 / ISBN: 0130929891
3. An Invitation to Computer Science, Schneider and Gersting, Brooks/Cole
Thomson Learning, 2000
4. Computer Science: An overview of Computer Science, Sherer,

Course Name: Programming Fundamentals


Course Structure: Lectures: 3, Labs: 1 Credit Hours: 4
Prerequisites: None
Objectives: The course is designed to familiarize students with the basic
structured programming skills. It emphasizes upon problem analysis, algorithm
designing, and programme development and testing.
Course Outline: Overview of computers and programming. Overview of
language for e.g. C language C. Basics of structured and Modular programming.

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

Course Name: Object Oriented Programming


Course Structure: Lectures: 2, Labs: 1 Credit Hours: 3
Prerequisites: Programming Fundamentals
Objectives: The course aims to focus on object-oriented concepts, analysis and
software development.
Course Outline: Evolution of Object Oriented (OO) programming, OO concepts
and principles, problem solving in OO paradigm, OO programme design process,
classes, methods, objects and encapsulation; constructors and destructors,
operator and function overloading, virtual functions, derived classes, inheritance
and polymorphism. I/O and file processing, exception handling
Reference Material:
1. C++ How to Program, 6/E
(Harvey & Paul) Deitel & Deitel ISBN-10: 0136152503
ISBN-13: 9780136152507 Publisher: Prentice Hall
2. Java How to Program, 7/E
(Harvey & Paul) Deitel & Deitel ISBN-10: 0132222205 ISBN-13:
9780132222204 Publisher: Prentice Hall

Course Name: Discrete Structures


Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3
Prerequisites: None
Objectives: Introduces the foundations of discrete mathematics as they apply to
Computer Science, focusing on providing a solid theoretical foundation for further
work. Further, this course aims to develop understanding and appreciation of the
finite nature inherent in most Computer Science problems and structures through
study of combinatorial reasoning, abstract algebra, iterative procedures, predicate
calculus, tree and graph structures. In this course more emphasis shall be given to

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.

Course Name: Operating Systems


Course Structure: Lectures: 3, Labs: 1 Credit Hours: 4
Prerequisites: None
Objectives: 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.
Course Outline: History and Goals, Evolution of multi-user systems, Process and
CPU management, Multithreading, Kernel and User Modes, Protection, Problems of
cooperative processes, Synchronization, Deadlocks, Memory management and
virtual memory, Relocation, External Fragmentation, Paging and Demand Paging,
Secondary storage, Security and Protection, File systems, I/O systems, Introduction
to distributed operating systems. Scheduling and dispatch, Introduction to
concurrency.
Lab assignments involving different single and multithreaded OS algorithms.
Reference Material:
1. Applied Operating Systems Concepts, 7th Edition, Silberschatz A., Peterson, J.L.,
& Galvin P.C. 2004.
2. Modern Operating Systems, 3rd Edition, Tanenmaum A.S., 2008.

Course Name: Database Systems


Course Structure: Lectures: 3, Labs: 1 Credit Hours: 4

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.

Course Outline: Basic database concepts; Entity Relationship modelling,


Relational data model and algebra, Structured Query language; RDBMS; Database
design, functional dependencies and normal forms; Transaction processing and
optimization concepts; concurrency control and recovery techniques; Database
security and authorization. Small Group Project implementing a database. Physical
database design: Storage and file structure; indexed files; b-trees; files with dense
index; files with variable length records; database efficiency and tuning.

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.

Course Name: Introduction to Software Engineering


Course Structure: Lectures: 2, Labs: 1 Credit Hours: 3
Prerequisites: Object Oriented Paradigm/Programming
Objectives: To study various software development models and phases of
software development life cycle. The concepts of project management, change
control, process management, software development and testing are introduced
through hands-on Team Projects.
Course Outline: Introduction to Computer-based System Engineering; Project
Management; Software Specification; Requirements Engineering, System
Modelling; Requirements Specifications; Software Prototyping; Software Design:
Architectural Design, Object-Oriented Design, UML modelling, Function-Oriented
Design, User Interface Design; Quality Assurance; Processes & Configuration
Management; Introduction to advanced issues: Reusability, Patterns; Assignments
and projects on various stages and deliverables of SDLC.

Reference Material:
1. Software Engineering 8E by Sommerville Addison Wesley, 2006
2. Software Engineering: A Practitioner's Approach /7E, Roger Pressman,
McGraw-Hill, 2009

Course Name: Computer Communication and Networks

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

Course Name: Human Computer Interaction


Course Structure: Lectures: 2, Labs:1 Credit Hours: 3
Prerequisites: Data Structures and Algorithms
Objectives: This course introduces the human issues of usability and its
importance. It considers the implications of human understanding on the usability
of computer systems and the importance of understanding the context of use. It
describes guidelines for use of different media and interface styles. Topics include
Usability Design principals, standards and models, evaluation techniques.
Groupware, pervasive and ubiquitous applications.
Course Outlines: The Human, Computer and Interaction, Usability paradigm and
principles, Introduction to design basics, HCI in software process, Design rules,
prototyping, evaluation techniques, task analysis, Universal design and User
support and Computer Supported Cooperative Work. Introduction to specialized
topics such as Groupware, pervasive and ubiquitous applications.
Resources:
1. Human-Computer Interaction, 3/E Alan Dix, Computing Dept, Lancaster
University
Janet E. Finlay, Leeds Metropolitan University, Gregory D. Abowd, Georgia

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

Course Name: Senior Design Project


Course Structure: Lectures: 0, Labs: 6 Credit Hours: 6
Prerequisites: Introduction to Software Development, Data Base Systems,
Computer Architecture
Objectives: The software project involves research, conceive, plan and develop
a real and substantial project related to computer science. It provides an opportunity
to the students to crystallize their acquired professional competence in the form of
a demonstrable software product. Make oral and written project presentations.
Resources:
1. Software Project Management in Practice by Jalote, Pankaj.

Computing – Supporting Courses (12 credit hours)

Course Name: Calculus and Analytic Geometry


Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: None
Objectives: To provide foundation and basic ground for calculus and analytical
geometry background.
Course Outline: Complex Numbers, DeMoivre’s Theorem and its Applications,
Simple Cartesian Curves, Functions and Graphs, Symmetrical Properties, Curve
Tracing, Limit and Continuity, Differentiation of Functions. Derivative as Slope of
Tangent to a Curve and as Rate of Change, Application to Tangent and Normal,
Linearization, Maxima/Minima and Point of Inflexion, Taylor and Maclaurin
Expansions and their convergence. Integral as Anti-derivative, Indefinite Integration
of Simple Functions. Methods of Integration: Integration by Substitution, by Parts,
and by Partial Fractions, Definite Integral as Limit of a Sum, Application to Area,
Arc Length, Volume and Surface of Revolution.
Reference Material:

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.

Course Name: Probability and Statistics


Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: None
Objectives: To introduce the concepts of data analysis, presentation, counting
techniques, probability and decision making.
Course Outline: Introduction to Statistics, Descriptive Statistics, Statistics in
decision making, Graphical representation of Data Stem-and Lead plot, Box-Cox
plots, measures of central tendencies and dispersion, moments of frequency
distribution; Counting techniques, introduction to probability, sample space, events,
laws of probability, Conditional probability and Baye’s theorem with application to
random variable (Discrete and continuous) Binomial, Poisson, Geometric, Negative
Binomial Distributions; Exponential Gamma and Normal distributions. Regression
and Correlation, Estimation and testing of hypotheses, use of elementary statistical
packages for explanatory Data analysis.
Reference Material:
1. Ronald Walpole, Myers, Myers, Ye, “Probability & Statistics for Engineers &
Scientists”, 8th edition, 2008, Prentice Hall Publisher.
2. Lay L. Devore, Probability and Statistics for Engineering and the Sciences,
2003, Duxbury Publishers.
3. G. Cowan, Statistical Data Analysis, 1998, Clarendon, Oxford.

Course Name: Linear Algebra


Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: None
Objectives: To provide fundamentals of solution for system of linear equations,
operations on system of equations, matrix properties, solutions and study of their
properties.
Course Outline: Vectors, Vector Spaces, Matrices & Determinants, Cofactor and
Inverse, Rank, Linear Independence, Solution of system of Linear systems, Positive
Definite matrix, Linear Transformations, Operations on matrices, Inner products,
orthgonality and least squares, Eigenvalue & Eigenvectors. Applications to Systems
of Equations and to Geometry, Singular Value Decomposition.

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.

Course Name: Electromagnetism


Course Structure: Lectures: 2, Labs: 1 Credit Hours: 3
Prerequisites: None
Objectives: Introduction of Electronics
Course Outline: Fundamentals of Semiconductor physics: Band theory,
semiconductors (intrinsic and extrinsic), pn junction, pn junctions as a rectifier,
clipper and clamper circuits, zener diode and voltage regulator, LED and LCD etc.,
Transistors: Bipolar Junction transistors, BJT biasing circuits, Q-point, BJT as a
switch, BJT amplifiers, classes of amplifiers, power amplifiers, Metal oxide
transistors, nMOS, pMOS and CMOS inverters circuits. Introduction to A/D and D/A
conversion circuits.
Reference Material:
1. Freedman and Young, University Physics, (10th and higher editions).
2. Resnick, Halliday and Krane, College Physics (6th and higher edition).

Computing – General Education Courses (15 credit hours)

Course Name: English-I (Functional English)


Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: None Annexure - A

Course Name: English – II (Technical and Report Writing)


Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: None Annexure - B

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

Objectives: 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.

Course Outline: Historical, social, and economic context of Computing (software


engineering, Computer Science, Information Technology); Definitions of
Computing (software engineering, Computer Science, Information Technology)
subject areas and professional activities; professional societies; professional
ethics; professional competency and life-long learning; uses, misuses, and risks of
software; information security and privacy; business practices and the economics
of software; intellectual property and software law (cyber law); social
responsibilities, software related contracts, Software house organization

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.

# Category Credit Hrs


1 Computing courses
Computing – Core courses 43
Computing – Supporting areas 12
Computing – General Education 15 70

2 Computer Science courses


CS – Core courses 18
CS – Electives 21
CS – Supporting Area 9 48
3 University Electives 112
Total credit hours 130

A complete detail of BS programme involving objectives, structure, distribution of credits


among various components of programme are discussed in the following pages.

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.

The basic intention of an academic programme in Computer Science is to develop the


student’s critical professional thinking and intuition. The curriculum must be structured to
provide a balanced mixture of learning experiences to make the graduate capable of
sound professional decisions. As a result the graduate should be able to assume
responsible positions in business, government, and education at the research,
development, and planning levels. The programme should also provide an excellent
foundation for further formal learning and training. The Computer Science curriculum is
expected to provide environments to put into practice, the principles and techniques learnt
during the course of implementation of academic programme.

The following summarizes some key characteristics for consideration as a basis of a


successful academic programme in Computer Science:

1. The programme should provide a broad understanding of the field via introducing
concepts, theory, and techniques.

2. Intensive education/training in focused areas of Computer Science is desirable.

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.

5. The programme should provide formal foundations for higher learning.

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 structure of a BS programme in Computer Science is proposed to meet the needs of


students with formal computing experience and with established relevant skills. The
students are expected to learn theoretical and practical understanding of the entire field
of Computer Science.

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.

The following is distribution of total credit hours.

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

CS - Core courses - Computing


General Education

Some clusters regarding Computer Science Electives are listed below:

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.

Scheme of Studies for Bachelor Degree


Computer Science Program
Computing courses
Computing - Core Courses
(34 Credit Hours)
# Code Pre- Course Title Credit Proposed
Req hours Semester
1 CS - Programming Fundamentals 3 (2, 1) 1
2 CS 1 Object Oriented Programming 3 (2, 1) 2
3 CS 2 Data Structure and Algorithms 3 (2, 1) 3
4 CS 21 Digital Logic Design 3 (2, 1) 3
5 CS - Operating Systems 3 (2, 1) 5
6 CS 3 Database Systems 3 (2, 1) 5
7 CS 2 Introduction to Software Development 3 (3, 0) 6
8 CS - Computer Communications and 3 (2, 1) 6
Networks
9 CS 6, 7, Final year Project 6 7, 8
26
10 CS 3 Human Computer Interaction 3 (2, 1) 7

Computing – Supporting Courses


(12 Credit Hours)
# Code Pre- Course Title Credit Proposed
Req hours Semester
11 MT - Calculus and Analytical Geometry 3 (3, 0) 1
12 MT - Probability and Statistics 3 (3, 0) 3
13 MT - Linear Algebra 3 (3, 0) 2
14 EL - Basic Electronics 3 (2, 1) 1

Computing – General Education


Courses
(18 Credit Hours)
# Code Pre- Course Title Credit Proposed
Req hours Semester
16 EG - English-I (Functional English) 3 (3, 0) 1
17 EG - English-II (Technical and Report Writing) 3 (3, 0) 2
18 EG - English-III (Communication Skills) 3 (3, 0) 3

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

Computer Science courses


Computer Science – Core Courses
(18 Credit Hours)
# Code Pre- Course Title Credit Proposed
Req Hours Semester
22 CS 4 Computer Organization and Assembly 3 (2, 1) 4
Language
23 CS 29 Theory of Automata & Formal Languages 3 (3, 0) 5
24 CS 3, Design and Analysis of Algorithms 3 (3, 0) 7
29
25 CS 29 Artificial Intelligence 3 (2, 1) 8
26 CS Computer Architecture 3 (2, 1) 6
27 CS 23 Compiler Construction 3 (2, 1) 7

Computer Science – Supporting


Courses
(9 Credit Hours )
# Code Pre- Course Title Credit Proposed
Req Hours Semester
30 ST 11 Multivariate Calculus 3 (3, 0) 4
31 ST 11 Differential Equations 3 (3, 0) 5
CS 11 Numerical Computing 3 (3,0) 7

Computer Science – Elective


Courses
(21 Credit Hours) –(Not limited to the
list below)
# Code Are Course Title Credit Proposed
a hours Semester
32 CS CG Computer Graphics 3 (2, 1) 6
V1
33 CS CG Digital Image Processing 3(2, 1)
V1

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

48 CS SS 8 System Programming 3 (2, 1) 7


49 CS IM 9 Distributed Database Systems 3 (2, 1) 7
50 CS IM 9 Data Warehousing 3(2, 1) 6-7
51 CS SIC Numerical and Symbolic Computing
10

52 CS SIC Operations Research


10

53 CS SIC Simulation and modelling


10

54 CS SO Expert Systems
C 11
55 CS SO Artificial Neural Network
C 11
56 CS SO Fuzzy Logic
C 11

1 – CGV = Computer Graphics and Visualization


2 – SE = Software Engineering
3 – LT = Languages and Translators
4 – CCN = Computer Communication Networks
7 – WE = Web Engineering

20
8 – SS = Systems Software
9 – IM = Information Management
10 – SIC = Scientific Computing
11 – SOC = Soft Computing

21
University Elective courses

Computer Science – University


Elective Courses
(18 Credit Hours) –(Not limited to
the list below)
# Code Pre- Course Title Credit Proposed
Req Hours Semester
101 MG - Financial Accounting 3(3, 0)
102 MG - Financial Management 3 (3, 0) 4
103 MG - Human Resource Management 3 (3, 0) 5
104 MG - Marketing 3 (3, 0) 6
105 SS - Economics 3 (3, 0) 7
106 PS - Psychology 3 (3, 0) 6
107 SS - International Relations 3 (3, 0) 7
108 SS - Foreign/Regional Language (French, 3 (3, 0) 7-8
German, Sindhi, Punjabi, Urdu etc.)
109 SS - Philosophy 3(3, 0) 6-8

Sample Scheme of Study for BS (CS)


4–year Program (8 Semesters)
(130 Credit Hours)
Semester-wise 4-Year Plan
Cr. Cr.
Semester 1 Hrs. Semester 2 Hrs.
Introduction to Computing 4 Discrete Structures 3
Programming Fundamentals 4 Object Oriented Programming 3
Calculus and Analytical
Geometry 3 Multivariable Calculus 3
Pakistan Studies and Islamic
Studies 3 Probability and Statistics 3
English-II (Technical and Report
English-I (Functional English) 3 Writing 3
17 15

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

Computer Science – Core Courses (18 credit hours)

Course Name: Computer Organization and Assembly Language


Course Structure: Lectures: 2, Labs: 1 Credit Hours: 3
Prerequisites: Digital Logic Design
Objectives: The main objective of this course is to introduce the organization of
computer systems and usage of assembly language for optimization and control.
Emphasis should be given to expose the low-level logic employed for problem
solving while using assembly language as a tool. At the end of the course the
students should be capable of writing moderately complex assembly language
subroutines and interfacing them to any high level language.
Course Outline: Microprocessor Bus Structure: Addressing, Data and Control,
Memory Organization and Structure (Segmented and Linear Models), Introduction
to Registers and Flags, Data Movement, Arithmetic and Logic, Programme Control,
Subroutines, Stack and its operation, Peripheral Control Interrupts, Interfacing with
high level languages, Real-time application.
Objectives and Perspectives of Assembly Language, Addressing Modes,
Introduction to the Assembler and Debugger, Manipulate and translate machine
and assembly code, Describe actions inside the processing chip, Discuss
operations performed by an instruction set, Write a fully documented program,
Using an assembler of choice.
Reference Material:
1. Stallings, "Computer Organization & Architecture", 7th ed, Prentice HALL, 2006.
2. Irvine, Assembly Language for Intel-based Computers, 5th ed, Prentice Hall,
2007.
3. Computer Organization and Design, The Hardware/Software Interface, 4th ed,
by David A. Patterson and John L. Hennessy, 2008. Elsevier Publishers.

Course Name: Theory of Automata and Formal languages


Course Structure: Lectures: 3 Labs: 0 Credit Hours: 3
Prerequisites: Discrete Structures
Objectives: The course aims to develop an appreciation of the theoretical
foundations of computer science through study of mathematical & abstract models
of computers and the theory of formal languages. Theory of formal languages and
use of various abstract machines as ‘recognizers’ and parsing will be studied for
identifying/validating the synthetic characteristics of programming languages.
Some of the abstract machines shall also study as ‘Transducers’.

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.

Course Name: Design and Analysis of Algorithms


Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3
Prerequisites: Discrete Structure, Data Structures and Algorithms
Objectives: Detailed study of the basic notions of the design of algorithms and the
underlying data structures. Several measures of complexity are introduced.
Emphasis on the structure, complexity, and efficiency of algorithms.
Course Outline: Introduction; Asymptotic notations; Recursion and recurrence
relations; Divide-and-conquer approach; Sorting; Search trees; Heaps; Hashing;
Greedy approach; Dynamic programming; Graph algorithms; Shortest paths;
Network flow; Disjoint Sets; Polynomial and matrix calculations; String matching; NP
complete problems; Approximation algorithms.
Reference Material:
1. Introduction to Algorithms /2E, T. H. Cormen, C. E. Leiserson, and R. L. Rivest,
MIT Press, McGraw-Hill, New York, NY, 2001.
2. Algorithms in C++; Robert Sedgewick

Course Name: Artificial Intelligence


Course Structure: Lectures: 2 / Labs: 3 Credit Hours: 3
Prerequisites: Discrete Structures

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.

Course Name: Computer Architecture


Course Structure: Lectures: 3, Labs: 0 Credit Hours: 3
Prerequisites: Digital Logic and Design
Objectives: Get a deeper understanding of how computers work, working
knowledge of various subsystems and the general principles that affect their
performance, analyze the performance of systems and quantify the performance
measurements, fundamentals of all technologies, and advanced architectural
features that boost the performance of computers.
Course Outlines: Fundamentals of Computer Design including performance
measurements & quantitative principles, principles of Instruction Set Design,
Operands, addressing modes and encoding, pipelining of Processors: Issues and
Hurdles, exception handling features, Instruction-Level Parallelism and Dynamic
handling of Exceptions, Memory Hierarchy Design, Cache Design, Performance
Issues and improvements, Main Memory Performance Issues, Storage Systems,
Multiprocessors and Thread Level Parallelism. Case Studies.
Resources:
1. Computer Architecture: A Quantitative Approach by Hennessy & Patterson,
Morgan & Kauffman Series (2006) Fourth Edition.
2. Computer Organization & Design : The Hardware/Software Interface By
Patterson & Hennessy, Morgan & Kauffman Series (2008) Fourth Edition.

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.

Computer Science – Supporting Courses (9 credit hours)


Course Name: Multivariable Calculus
Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3
Prerequisites: Calculus and Analytical Geometry
Objectives: The goals are to develop the skills to have ground knowledge of
multivariate calculus and appreciation for their further computer science courses.
Course Outline: Functions of Several Variables and Partial Differentiation.
Multiple Integrals, Line and Surface Integrals. Green’s and Stoke’s Theorem.
Fourier Series: periodic functions, Functions of any period P-2L, Even & odd
functions, Half Range expansions, Fourier Transform. Laplace Transform, Z-
Transform.
Reference Material:
1. James Stewart, Multivariable Calculus, 6th edition, 2007, Cengage Learning
publishers.
2. Swokowski, Olinick and Pence, Calculus and Analytical Geometry, 6th edition,
1994, Thomson Learning EMEA, Ltd.

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.

Course Name: Differential Equations


Course Structure: Lectures: 3 / Labs: 0 Credit Hours: 3
Prerequisites: Calculus and Analytical Geometry
Objectives: Develop fundamental skills of solving ordinary differential equations,
and developing differential equations for real-world problems.
Course Outline: Ordinary Differential Equations of the First Order: Geometrical
Considerations, Isoclines, Separable Equations, Equations Reducible to Separable
Form, Exact Differential Equations, Integrating Factors, Linear First-Order
Differential Equations, Variation of Parameters. Ordinary Linear Differential
Equations; Homogeneous Linear Equations of the Second Order, Homogeneous
Second-Order Equations with Constant Coefficients, General Solution, Real Roots,
Complex Roots, Double Root of the Characteristic Equation, Differential Operators,
Cauchy Equation, Homogeneous Linear Equations of Arbitrary Order,
Homogeneous Linear Equations of Arbitrary Order with Constant Coefficients, Non-
homogeneous Linear Equations. Modelling of Electrical Circuits. Systems of
Differential Equations. Series Solutions of Differential Equations. Partial Differential
Equations: Method of Separation of variables, wave, Heat & Laplace equations and
their solutions by Fourier series method.
Reference Material:
1. Michael Greenberg, Advanced Engineering Mathematics, 1996, Prentice Hall
publishers.
2. Erwin Kreyzig, Advanced Engineering Mathematics, 7th edition, 1993, John Wiley &
Sons Inc.
3. Zill, Prindle, Weber and Schmidt, A First Course in Differential Equations, 1996,
Brooks/Cole Publishing,
4. Dennis G. Zill, Michael R. Cullen. Differential Equations with Boundary-Value
Problems, 1996, Brooks/Cole Publishing,
5. C. H .Edwards, David E. Penney, Elementary Differential Equations With
Applications, 1993, Prentice Hall.

Course Name: Numerical Computing


Course Structure: Lectures: 2 / Labs: 3 Credit Hours: 3
Prerequisites: Calculus and Analytical Geometry

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

Computer Science – Elective Courses (21 credit hours)


Course Name: Computer Graphics
Course Structure: Lectures: 2 / Labs: 3 Credit Hours: 3
Prerequisites: Object Oriented Programming , Visual Programming
Objectives: Study of various algorithms in computer graphics and their
implementation in any programming language.
Course Outline: Graphics hardware. Fundamental algorithms. Applications of
graphics. Interactive graphics programming — graph plotting, windows and clipping,
and segmentation. Programming raster display systems, Differential Line Algorithm,
panning and zooming. Raster algorithms and software — Scan-Converting lines,
characters and circles. Scaling, Rotation, Translation, Region filling and clipping. Two
and three dimensional imaging geometry (Perspective projection and Orthogonal
projection) and transformations. Curve and surface design, rendering, shading, colour
and animation.
Reference Material:
1. Computer Graphics, Principles and Practice, J. D. Foley, A. van Dam, S. K.
Feiner and J. F. Hughes, Addison-Wesley ISBN: 0-201-12110-7.
2. Computer Graphics, F.S.Hill, Maxwell MacMillan ISBN: 0-02-354860-6.

29
1. 3. Interactive Computer Graphics: Functional, Procedural and Device-level
2. methods; Peter Burger and Duncan. F. Gillies; Addison-Wesley, (2003)

Course Name: Digital Image Processing


Course Structure: Lectures:3 Labs: 0 Credit Hours: 3
Prerequisites:
Objective: The aim of this module is to understand the main terms & concepts of
Information Systems & their applications in everyday business. The main
objectives of this module are to make business students aware of the increasing
importance of IT, computers and telecom and to manage IT systems in modern
organisational structure. Another important objective of this module is to learn
about various information systems used in industries and select the appropriate
information system for the required application. Restoration in the Presence of
Noise Only–Spatial Filtering, Mean Filters, Order-Statistics Filters, Adaptive
Filters, Periodic Noise Reduction by Frequency Domain Filtering, Bandreject
Filters, Bandpass Filters, Notch Filters. Estimating the Degradation Function,
Estimation by Image Observation, Estimation by Experimentation, Estimation by
Modeling, Inverse Filtering, Minimum Mean Square Error (Wiener) Filtering. Image
Segmentation, Detection of Discontinuities, Point Detection, Line Detection, Edge
Detection, Edge Linking and Boundary Detection, Local Processing, Global
Processing via the Hough Transform.
Thresholding, The Role of Illumination, Basic Global Thresholding, Basic
Adaptive Thresholding, Local Thresholding, Thresholds Based on Several
Variables.
Region-Based Segmentation, Region Growing, Region Splitting and Merging
Course Name: Digital Signal Processing
Course Structure: Lectures:3 Labs: 0 Credit Hours: 3
Prerequisites:
Objective: Introduction to signal, Analog and digital/discrete signal, Applications
of DSP.Energy of a signal, Transformation Of independent variable, Signal types.
Mathematical representation of periodic signal, Relation of complex no. with circle,
Euler’s relation, Difference b/w continuous time and discrete time signal.
Unit impulse and unit step and their relationship, Convolution, Impulse response
of an LTI system, Examples of an LTI system, Properties of an LTI system,
Commulative property, Distributive property, Associative property, LTI system with
and without memory, Invertability, Properties of an LTI system, Causality, Stability,
Step response of an LTI system, Fourier series representation of periodic signal,
Session 1 of Matlab, Session 2 of Matlab, Fourier series representation of periodic
signals, Fourier series representation, Examples of Fourier series representation,
Examples of Fourier series representation.
Reference Material:
1. Oppenheim, Signals and systems.

30
2. Oppen Heim, Discrete time signal Processing

Course Name: Computer Vision


Course Structure: Lectures: 3 Labs: 0 Credit Hours: 3
Pre-Req: Data Structures and Algorithms
Objectives: By the end of this course Students will be able to explain the
concepts behind computer based recognition and the extraction of features from
raster images. Students will also be able to illustrate some successful applications
of vision systems and will be able to identify the vision systems limitations.
Course Outlines: Concepts behind computer-based recognition and extraction
of features from raster images. applications of vision systems and their limitations.
Overview of early, intermediate and high level vision, Segmentation: region
splitting and merging; quadtree structures for segmentation; mean and variance
pyramids; computing the first and second derivatives of images using the isotropic,
Sobel and Laplacian operators; grouping edge points into straight lines by means
of the Hough transform; limitations of the Hough transform; parameterisation of
conic sections. Perceptual grouping: failure of the Hough transform; perceptual
criteria; improved Hough transform with perceptual features; grouping line
segments into curves. Overview of mammalian vision: experimental results of
Hubel and Weisel; analogy to edge point detection and Hough transform;
Relaxation labelling of images: detection of image features; Grouping of contours
and straight lines into higher order features such as vertices and facets. Depth
measurement in images.

1. Text Books/Reference Books:


2. Computer Vision: A Modern Approach, By David Forsyth, Jean Ponce, Prentice
Hall, 2003.
3. Computer Vision, By Linda G. Shapiro, George C. Stockman, Prentice Hall,
2001.
4. Handbook of Mathematical Models in Computer Vision, By Nikos Paragios,
Yunmei Chen, Olivier Faugeras, Birkhäuser, 2006.

Course Name: Software Engineering


Course Structure: Lectures: 3hrs Credit Hours: 3
Objective: The students will study techniques for software verification, validation and
testing. They would also study reliability and performance issues in software design
and development. Upon successful completion of this course the student will be to
understand the importance of software engineering to computer science and the most
important general approaches to structuring the software production process, analyze
the requirements for a software system and produce a software design from
requirements (Data Flow Diagram (DFD)), assess software productivity using metrics,

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

Course Name: Data Communication


Course Structure: 3 Credit Hours: 3
Pre-requisite:
Objectives: To provide knowledge of Data Communication and different
mechanisms of communication
Course Outlines: Introduction, Data and Network, Layers, OSI Model,
Introduction to Signals, Transmission Media, Digital Transmission, PAM, PCM,
ASK, FSK, PSK, QAM, Data Communication Techniques and technologies,
Modulation, Multiplexing, Types of errors, Data Communication Protocols, Current
technologies being used for data communication.
Reference Material:
1. Behrouz A. Forouzan, Data Communication and Networking, 3rd Edition.

32
2. William Stalling, Business Data Communication.

Course Name: Distributed Computing


Course Structure: Lectures: 3 Labs: 0 Credit Hours: 3
Course Outlines: Why use parallel and distributed systems? Why not use them?
Speedup and Amdahl's Law, Hardware architectures: multiprocessors (shared
memory), networks of workstations (distributed memory), clusters (latest variation).
Software architectures: threads and shared memory, processes and message
passing, distributed shared memory (DSM), distributed shared data (DSD).
Possible research and project topics, Parallel Algorithms, Concurrency and
synchronization, Data and work partitioning, Common parallelization strategies,
Granularity, Load balancing, Examples: parallel search, parallel sorting, etc.
Shared-Memory Programming: Threads, Pthreads, Locks and semaphores,
Distributed-Memory Programming: Message Passing, MPI, PVM. Other Parallel
Programming Systems, Distributed shared memory, Aurora: Scoped behaviour and
abstract data types, Enterprise: Process templates. Research Topics
Text Books/Reference Books:
1. B. Wilkinson and M. Allen, Parallel Programming: Techniques and Applications
Using Networked Workstations and Parallel Computers, 1/e, Prentice Hall,
1999.
2. W. Stevens, Advanced Programming in the Unix Environment, Addison Wesley,
1993.

Course Name: Data and Network Security


Course Structure: Lectures: 3 Labs: 0 Credit Hours: 3
Course Outlines: Introduction; Cryptology and simple cryptosystems;
Conventional encryption techniques; Stream and block ciphers; DES; More on Block
Ciphers; The Advanced Encryption Standard. Confidentiality & Message
authentication: Hash functions; Number theory and algorithm complexity; Public key
Encryption. RSA and Discrete Logarithms; Elliptic curves; Digital signatures. Key
management schemes; Identification schemes; Dial-up security. E-mail security,
PGP, S-MIME; Kerberos and directory authentication. Emerging Internet security
standards; SET; SSL and IPsec; VPNs; Firewalls; Viruses; Miscellaneous topics.

Text Books/Reference Books:


1. W. Stallings, Cryptography and Network Security, Prentice Hall PTR, Upper
Saddle River, NJ, 2003.
2. Kaufman, R. Perlman, M. Speciner, Network Security: Private Communication in
a Public World – Prentice Hall PTR, Upper Saddle River, NJ, 2002.
3. M. Bishop, Computer Security: Art and Science – Addison-Wesley, 2003.
4. Stinson, Cryptography: Theory and Practice, CRC Press, Boca Raton, FL, 1995.
5. Richard A. Mollin, An Introduction to Cryptography, Chapman and Hall/CRC,
2001.

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.

Course Name: Wireless Networks


Course Structure: Lectures: 3 Labs: 0 Credit Hours: 3
Course Outlines: This course covers fundamental techniques in design and
operation of first, second, and third generation wireless networks: cellular systems,
medium access techniques, radio propagation models, error control techniques,
handoff, power control, common air protocols (AMPS, IS-95, IS-136, GSM, GPRS,
EDGE, WCDMA, cdma2000, etc), radio resource and network management. As an
example for the third generation air interfaces, WCDMA is discussed in detail since
it is expected to have a large impact on future wireless networks. This course is
intended for graduate students who have some background on computer networks.

Text Books/Reference Books:


1. Theodore S Rappaport, Wireless Communications.
2. David Tse, Fundamentals of Wireless Communications.
3. W. Stallings, “Wireless Communications and Networks”, Prentice Hall, 2002.
4. T.S. Rappaport, “Wireless Communications: Principles & Practice”, Second
Edition, Prentice Hall, 2002.
5. J. Schiller, “Mobile Communications”, Addison Wesley, 2000.
6. V.K. Garg, “IS-95 CDMA and cdma 2000”, Prentice Hall PTR, 2000.
7. J.P. Castro, “The UMTS Network and Radio Access Technology - Air Interface
Techniques for Future Mobile Systems”, Wiley, 2001.
8. H. Holma and A. Toskala, “WCDMA for UMTS Radio Access for Third
Generation Mobile Communications”, John Wiley & Sons, 2001.

Course Name: Telecommunication Systems


Course Structure: Lectures:3 Labs: 0/3 Credit Hours: ¾
Prerequisites: None
Objectives: To provide a first level exposure to the broad domain of
telecommunication Systems
Course Outline: Introduction to media, bandwidth and noise. Twisted pair (UTP,
STP), coaxial cables (types and specifications), optical fibres (types and losses),
Introduction to optical sources and detectors. Microwave links, satellite
communication and infrared links. Frequency Division Multiplexing (FDM), TDM,
FDMA, TDMA and CDMA. Switching: circuit and packet switching. Introduction to
mobile and cellular communications. Block diagram and current trends.
Reference Material:
1. Introduction to Telecommunications Network Engineering, 2nd edition, T.
Aattalainen, Artech House 2003, ISBN: 1580535003.

34
2. Fundamentals of Telecommunication Networks, T. Saadawi, Wiley US, ISBN:
0471515825.
3. Telecommunication Systems, P. G. Fonteolliet, Artech House 1991.

Course Name: System Programming


Course Structure: Lectures: 2 / Labs: 3 Credit Hours: 3
Prerequisites: Operating Systems
Objectives: Demonstrate mastery of the internal operation of Unix system
software including assemblers, loaders, macro-processors, interpreters, inter-
process communication.
Course Outline: System Programming overview: Application Vs. System
Programming, System Software, Operating System, Device Drivers, OS Calls.
Window System Programming for Intel386 Architecture: 16 bit Vs 32 bit,
Programming, 32 bit Flat memory model, Windows Architecture. Virtual Machine
(VM)Basics, System Virtual Machine, Portable Executable Format, Ring O
Computer, Linear Executable format, Virtual Device Driver (V + D), New
Executable format, Module Management, COFF obj format 16 bit. (Unix) other 32-
bit O.S Programming for I 386; Unix Binaryble format (ELF), Dynamic shared
objects, Unix Kernel Programming (Ring O), Unix Device Architecture (Character
& Block Devices), Device Driver Development, Enhancing Unix Kernel.
Reference Material:
1. The UNIX Programming Environment, B. Kernighan & R. Pike Prentice-Hall,
1984.
2. System Software, Leland L. Beck, Addison-Wesley Longmsan, 1990, ISBN: 0-
201-50945-8.

Course Name: Distributed Database System


Course Structure: Lectures: 3 (3,0) Credit Hours: 3
Prerequisites: Database Systems
Objectives: To clearly describe the difference of Centralized database and
Distributed database and enable the students to design/model a distributed
database.
Course Outline: Introduction, Overview of relational DBMS and Normalization,
Distributed DBMS architecture, Distributed database design and Data Distribution
Strategies, Replication/Fragmentation, Distributed Transaction Management,
Distributed Query Processing, Distributed Concurrency Control, Distributed Data
Security, Distributed Database Recovery.
Reference Material:
1. Principals of Distributed Database Systems by Ozsu Tamer.
2. Database Systems by Thomas Connolly.

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.

Course Name: Entrepreneurship


Course Structure: Lectures: 3 Labs: 0 Credit Hours: 3
Pre-requisite: Introduction to Management, Semester: 8
Principles of Accounting
Course Outlines: This course provides the student with an understanding of the
entrepreneurship process. It exposes them to the concepts, practices and tools of
the entrepreneurial world. This will be accomplished through a combination of
readings, cases studies and projects designed to convey the unique environment of
the entrepreneurs and new ventures. The course gives students the tools necessary
to think creatively, to plan out whether their idea is marketable to investors, guide
them through the launch their own business, or to support an employer in launching
and growing an entrepreneurial venture. As CS students, the focus shall be on items
particularly important for technology ventures.
Text Books/Reference Books:
1. The Art of the Start: The Time-Tested, Battle-Hardened Guide for Anyone
Starting Anything by Guy Kawasaki, ISBN: 1591840562.

36

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy