The Oldest Engineering Institution of Pakistan             Ranked at 281 amongst World Engineering Universities            


CS 604 Theory of Computation 3(3,0)
            Automata theory, formal languages, Turing machines,computability theory and reducibility, computational complexity, determinism,non-determinism, time hierarchy, space hierarchy, NP completeness, selected advanced topics.

Suggested Readings/Text:

  1. Michael Sipser, Introduction to the Theory of Computation, First Edition, 1997, PWS Publishing Company.
  2. Christos Papadimitriou, Computational Complexity, 1994, Addison-Wesley.
  3. John Hopcroft and Jeffrey Ullman, Introduction to Automata Theory, Languages, and Computation, 1979, Addison-Wesley.
  4. Tao Jiang, Ming Li, and Bala Ravikumar, Formal models and Computability, in Handbook of Computer Science, CRC Press, 1996.
  5. T.H. Cormen, et al., Introduction to Algorithms, MIT Press and McGraw-Hill BookCo., 1990.
  6. Peter Linz, An Introduction to Formal Languages and Automata.

CS 602 Advanced Computer Architecture 3(3,0)
Design and evaluation of modern uniprocessor computing systems. Evaluation methodology /metrics and caveats, instruction set design, advanced pipelining, instruction level parallelism, prediction-based techniques, alternative architectures (VLIW, Vector and SIMD), memory hierarchy design and I/O. Case studies.

Suggested Readings/Text:

  1. John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative
  2. Approach, 3rd Edition, Morgan Kaufmann Publishers, 2002.
  3. Andrew S. Tanenbaum, Modern Operating Systems, 2nd Edition, Prentice Hall, 2001.
  4. John Hennessy and David Patterson, Computer Organization and Design: The
  5. Hardware/Software Interface, 2nd Edition, Morgan Kaufman Publishers.

CS 601 Advanced Operating Systems 3(3,0)
            Advanced topics in computer operating systems with a special emphasis on distributed computing and the services provided by distributed operating systems are covered. Important topics include naming, security, remote procedure call, networks, concurrency, transactions, parallel computing, shared memory, message passing, and scale.

Suggested Readings/Text:
Distributed Systems: Concepts and Design by Coulouris, Dollimore, and Kindberg, 3rd Edition.

CS 603 Distributed Systems 3(3,0)
            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

Suggested Readings/Text:

  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.

CS 605 Advanced Algorithm Analysis 3(3,0)
            Advanced algorithm analysis including the introduction of formal techniques and the underlying mathematical theory. NP-completeness. Search Techniques. Randomized Algorithms. Heuristic and Approximation Algorithms. Topics include asymptotic analysis of upper and average complexity bounds using big-O, little-o, and theta notation. Fundamental algorithmic strategies (brute-force, greedy, divide-and conquer, backtracking, branch-and-bound, pattern matching, and numerical approximations) are covered. Also included are standard graph and tree algorithms. Additional topics include standard complexity classes, time and space trade-offs in algorithms, using recurrence relations to analyze recursive algorithms, non-computable functions, the halting problem, and the implications of non-computability. Algorithmic animation is used to reinforce theoretical results. Upon completion of the course, students should be able to explain the mathematical concepts used in describing the complexity of an algorithm, and select and apply algorithms appropriate to a particular situation.

Suggested Readings/Text:

  1. Introduction to Algorithms, by T. Cormen, C. Leiserson, and R. Rivest. MIT Press and McGraw-Hill.
  2. Computers and Intractability, Guide to the Theory of NP-Completeness, by M. Garey and D. Johnson.
  3. Computation, 1979, Addison-Wesley.
  4. Tao Jiang, Ming Li, and Bala Ravikumar, Formal models and Computability, in Handbook of Computer Science, CRC Press, 1996.
  5. T.H. Cormen, et al., Introduction to Algorithms, MIT Press and McGraw-Hill Book Company, 1990.
  6. Peter Linz, An Introduction to Formal Languages and Automata.

CS 606 Advanced Software Architecture 3(3,0)
            Software Design Paradigms & Software Architectures (design paradigms,design framework, problem decomposition, software architecture, components, integration, implementation); Software Architectures (batch-sequential architecture, pipes and filters, layered architecture, client-server architecture, event broadcasting, repositories); Design Patterns (creational patterns, structural patterns, behavioural patterns); Frameworks; Aspect-oriented programming; Architecture evaluation.

Suggested Readings/Text:

  1. Software Architecture in Practice by Bass, Len.
  2. Software Architecture in Practice by Len Bass, Paul Clements, and Rick Kazman, Addison-Wesley, 1998.
  3. Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma,   Richard Helm, Ralph Johnson, and John Vlissides. Addison Wesley. October 1994.
  4. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis by William J. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick III and Thomas J. Mowbray Wiley. 1998.

CS-631 Advanced DBMS 3(3, 0)
            Query processing and optimization: heuristic optimization, systematic query optimization using cost estimates, semantic query optimization;  advance indexing techniques; Recovery and Concurrencey: introduction to recovery and concurrency, transaction and system concepts for recovery and concurrency, locking techniques for concurrency control, recovery concepts and techniques; Security and Integrity Constraints: security and integrity concepts, database security and protection, specifying and enforcing database integrity constraints, integrity constraints in various data models; Authorization, issues in databases; Introduction to current trends in database systems such as temporal, deductive, and multimedia database systems.

Suggested readings/texts

CS Bioinformatics Concepts 3(3,0)
            Introduction and Basics of molecular biology, foundations of molecular genetics structures: DNA, RNA, proteins; transcription, translation, regulation; genome organization, sexual and asexual reproduction.
Current computing problems and issues in bioinformatics such as sequencing genomes, sequence data, Understanding the cell /organisms, evolutionary questions and bioinformatics: tools vs. synergistic research.

CSE 650 Modeling and Identification of Systems 3(3,0)
            Signal Characterization. Deterministic and Stochastic signals and their spectral densities. Stationarity. Introduction to System Identification. Classical methods of System Identification. Off-line methods and on-line methods. Linear Multivariable systems. Stochastic modeling.

Suggested Readings/Text:
Modeling and Identification of Dynamic Systems by Sinha and Kuszta, Van Nostrand, 1983.

CS-645 Intelligent Agents 3(3,0)
            Introduction, Abstract Architecture of IAs, Deductive Reasoning Agents, Agents as Theorem Provers, Logics for Multiagent Systems,  Agent-Oriented Programming, Practical Reasoning Agents, Procedural Reasoning System, Reactive and Hybrid Agents, Multiagent Interactions, Reaching Agreements, Agent Communication and Coordination: Language and Ontologies (KIF, KQML), approaches for coordination, Working Together: Cooperation, Task and Result Sharing, Planning, Handling inconsistency, Methodologies: Appropriateness of agent based solution, Analysis and Design Techniques, Mobile Agents, Case Studies.

Suggested Readings/text

  • Wooldridge, M.,  (2002) An Introduction to Multiagent Systems, Wooldridge, M.,
  • Developing intelligent agents for the Internet. Knapik, M. and Johnson, J. McGraw-Hill.
  • Intelligent software agents. Murch, R. and Johnson, T., Prentice-Hall

CS-644 Expert Systems and Knowledge Managemet
                  Applied Artificial Intelligence, concepts, structure of an ES, working, types of an ESs, tools used for the development of ESs, Knowledge acquisition, representation of knowledge, inference, and reasoning from the knowledge base, Methods of Knowledge Acquisition, Knowledge Representation methods.

Suggested Readings/text

  1. Expert Systems and Applied Artificial Intelligence byTurban, E.,
  2. Expert Systems by Jackson, P.
  3. Artificial Intelligence by Russell, S., Norvig, P.
  4. Knowledge Management by Knight T., Howes T.,
  5. Artificial Intelligence: Structures and Strategies for Complex Problem Solving, Luger, F. G., Stubblefield W. A

CS 660 Human Computer Interaction
Concepts from psychology and cognitive science, Distributed cognition, Usability Engineering methods and concepts, User interface evaluation, User interface software and tools, Designing user interfaces, Groupware and cooperative activity, Compute Supported Cooperative Work (CSCW), issues in CSCW, Designing systems for social processes, social translucence, visibility, awareness, privacy, Knowledge management, KM as a social phenomenon, Knowledge, communities, Cooperation development, designing interfaces for multimodal speech and pen based gesture applications, recommender systems, Situated computing, roomware, CSW, ubiquitous computing, tangible interfaces, Emerging Frameworks for tangible user interfaces.

Suggested Readings/text:

  1. Human Computer Interaction (In the new millennium) by John M. Carroll.
  2. Human Computer Interaction by by Ronald M. Baeeker, Jonathan Grudin, William A. S. Buxton, Saul Greenberg.
  3. The Human Computer Interaction Handbook by Andrew Sears and Jullie A. Jack.