0% found this document useful (0 votes)
52 views25 pages

National Institute of Technology Trichy: Computer Science and Engineering Curriculum

This document provides a summary of courses offered in the third semester of the Computer Science and Engineering curriculum at the National Institute of Technology in Trichy, India. The courses cover topics like mathematical foundations for computer science, numerical computing, computer organization and architecture, digital computer fundamentals, programming languages laboratory, and data structures laboratory. Reference books are also provided for further study in each subject area.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views25 pages

National Institute of Technology Trichy: Computer Science and Engineering Curriculum

This document provides a summary of courses offered in the third semester of the Computer Science and Engineering curriculum at the National Institute of Technology in Trichy, India. The courses cover topics like mathematical foundations for computer science, numerical computing, computer organization and architecture, digital computer fundamentals, programming languages laboratory, and data structures laboratory. Reference books are also provided for further study in each subject area.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

NATIONAL INSTITUTE OF TECHNOLOGY

TRICHY
COMPUTER SCIENCE AND ENGINEERING
CURRICULUM
SEMESTER III

CA201
MATHEMATICAL FOUNDATIONS FOR COMPUTER SCIENCE
Set Theory - Set operations, properties - power set - methods of proof - relations, graph and
matrix of a relation - partial and total orders, well ordering - equivalence relations, classes and
properties - functions, 1-1, onto and bijective - composition of relations and functions - inverse
functions.

Induction and Combinatorics - Peano's axioms - Mathematical induction (simple and strong) -
pigeon-hole principle - principle of inclusion and exclusion - review of permutations and
combinations - distribution problems - derangements - bijection principle.

Algebraic Structures - Semi-groups, monoids, groups, subgroups and their properties - cyclic
groups - cosets - permutation groups - Lagrange's theorem - Cayley's theorem - normal
subgroups - homomorphism of groups - quotient groups - rings and fields.

Recurrence Relations and Generating Functions - Homogeneous and inhomogeneous


recurrences and their solutions - solving recurrences using generating functions - Repertoire
method - Perturbation method - Convolutions - simple manipulations and tricks.

Graph Theory - Definitions and basic results - Representation of a graph by a matrix and
adjacency list - Trees - Cycles - Properties - Paths and connectedness - Subgraphs - Graph
Isomorphism - Operations on graphs - Vertex and edge cuts - Vertex and edge connectivity.

REFERENCE:

ARTHUR GILL, "Applied Algebra for Computer Science", Prentice Hall

K.D.JOSHI, "Discrete Mathematics", Wiley Eastern Ltd.

R.BALAKRISHNAN, K.RANGANATHAN, "A Text Book of Graph Theory", Springer

THOMAS KOSHY, "Discrete Mathematics with Applications", Elsevier.


CS203
NUMERICAL COMPUTING
Non-Linear Systems - Various types of errors - Bisection method - Regula falsi method -
Newton-Raphson method - Horner's Method - Graffe's method - Bairstow's method -
Newton's method for solving f(x,y) = 0 and g(x,y) = 0.

Linear Systems - Gaussian elimination - Iterative methods - Sufficient conditions for


convergence - LU decomposition method - Power method to find the dominant eigen value
and eigen vector.

Interpolation and Curve Fitting - Newton's forward and backward interpolation - Method
of least squares to fit equations of the form y = ab2 and y = ax2 + bx + c.

Numerical Differentiation and Integration - Simpson's one-third rule - Simpson's three-


eighth rule - Double integration using trapezoidal and Simpson's ont-third rule.

Numerical Solution of Differential Equations - Euler's method - Taylor's method - Runge-


Kutta method of fourth order - Numerical solution of Laplace equation - One-dimensional
heat flow equation and wave equation by finite difference methods.

REFERENCE:

C.F.GERALD and P.O.WHEATLEY, "Applied Numerical Analysis", Mc Graw-Hill, 1981

CHENEG and KINCAID, "Introduction to Numerical Computing", Tata McGraw-Hill, 1998

CS206
COMPUTER ORGANIZATION AND ARCHITECTURE
Basic structure of computers - Operational concepts - Bus structures - Arithmetic
operations - Memory operations - Addressing modes - Basic I/O operations - Performance.

Arithmetic - Addition & subtraction of signed numbers - Multiplication - Integer division -


Floating point operations.

Processing unit - Control unit - Pipelining - Multiple bus organization - Hardwired control -
Micro programmed control - Hazards - Data path - Embedded systems.

Memory system - Basic concepts - Semiconductor RAM memory - Cache memory -


Performance considerations - Virtual memory - Secondary storage.
I/O Organization - Accessing I/O devices - Interrupts - DMA - Buses - Interface circuits -
Serial communication links.

TEXT:

C.HAMACHER, Z.VRANESIC, S.ZAKY, "Computer Organization", V Edition, McGraw


Hill, 2002

W.STALLINGS, "Computer Organization and Architecture", I Edition,Pearson education,


2002

CS207
DIGITAL COMPUTER FUNDAMENTALS
Binary codes - Weighted and non-weighted - Binary arithmetic conversion algorithms - Error
detecting and error correcting codes - Canonical and standard boolean expressions - Truth
tables.

K-map reduction - Don't care conditions - Adders / Subtractors - Carry look-ahead adder -
Code conversion algorithms - Design of code converters - Equivalence functions.

Binary/Decimal Parallel Adder/Subtractor for signed numbers - Magnitude comparator -


Decoders / Encoders - Multiplexers / Demultiplexers - Boolean function implementation
using multiplexers.

Sequential logic - Basic latch - Flip-flops (SR, D, JK, T and Master-Slave) - Triggering of
flip-flops - Counters - Design procedure - Ripple counters - BCD and Binary - Synchronous
counters.

Registers - Shift registers - Registers with parallel load - Memory unit - Examples of RAM,
ROM, PROM, EPROM - Reduction of state and flow tables - Race-free state assignment -
Hazards.

TEXT:

MORRIS MANO, "Digital Design", Prentice Hall of India, 2001

W.H.GOTHMANN, "Digital Electronics - An Introduction to Theory and Practice", Prentice


Hall of India, 2000
CS211
PROGRAMMING LANGUAGES LABORATORY
UNIX shell programming

Programming tools and windows

Network File Systems

Network Information Systems

Message Passing Interface

Functional programming techniques through LISP

Object-oriented programming techniques through C++/Java

Logic programming through techniques PROLOG

CS213
DATA STRUCTURES LABORATORY
Problems in C/C++/ Java using data structures involving arrays, stacks, queues, strings, linked
lists, trees, graphs.

Operations on stacks, queues and linked lists

Conversion of infix expressions to postfix and evaluation of postfix expressions

Implementation of priority queue

CS201
PRINCIPLES OF PROGRAMMING LANGUAGES
Introduction to Language Paradigms - Criteria for good language design - Data types -
Abstraction - Imperative languages - Pascal, C - design issues.

Object-Oriented Programming - Data encapsulation - Classes in C++ - Over loading -


Derived classes - Information hiding - Inheritance and polymorphism - Generic functions.
Functional Programming - Introduction to LISP - Lists - Storage allocation for lists - Some
useful functions - Error handling.

Logic Programming - Computing with relations - Introduction to Prolog - Data structures in


Prolog - Programming techniques - Control in Prolog - Cuts.

Parallel Programming - Synchronizations - Concurrency - Deadlocks - Mutual exclusion -


Concurrent programming - Communicating sequential processes: input-output commands.

TEXT:

R.SETHI, "Programming Languages: Concepts and Constructs", II Ed., Pearson Education,


1996

REFERENCE:

Robert W.Sebesta, "Concepts of Programming languages", IV Ed., Pearson Education 1999

CS205
DATA STRUCTURES
Development of Algorithms - Notations and analysis - Storage structures for arrays - Sparse
matrices - Stacks and Queues: Representations and applications.

Linked Lists - Linked stacks and queues - Operations on polynomials - Doubly linked lists -
Circularly linked lists - Dynamic storage management - Garbage collection and compaction.

Binary Trees - Binary search trees - Tree traversal - Expression manipulation - Symbol table
construction - Height balanced trees - Red-black trees.

Graphs - Representation of graphs - BFS, DFS - Topological sort - Shortest path problems.
String representation and manipulations - Pattern matching.

Sorting Techniques - Selection, Bubble, Insertion, Merge, Heap, Quick, and Radix sort -
Address calculation - Linear search - Binary search - Hash table methods.

TEXT:

J.P.TREMBLAY and P.G.SORENSON, "An Introduction to Data Structures with


applications", Second Edition, Tata McGraw Hill, 1981
SEMESTER 4

CS202
AUTOMATA AND FORMAL LANGUAGES
Finite Automata - Deterministic, non-deterministic and equivalence - Equivalence of
regular expressions and FA - Moore and Mealy machines.

Regular Languages - Pumping lemma of regular sets - Myhill Nerode theorem -


Minimization of finite automata - Chomsky hierarchy of languages.

Text-Free Language - Context-free grammar - Derivation trees - Ambiguity simplification -


Normal forms - UVWXY theorem - Applications.

Pushdown Automata - Definitions - Context free languages - Construction of PDA for


simple CFLs - Linear bounded automata.

Turing Machines - Universal Turing Machines - Types of Turing Machines - Techniques -


Halting problem - Stack automata - Definitions.

TEXT:

J.E.HOPCROFT and J.D.ULLMAN, "Introduction to Automata Theory", Languages and


Computation, Pearson Education, 2001

PETER LINZ, "An Introduction to Formal Language and Automata", Narosa Pub. House,
Reprint 2000

CS209
UNIX AND WINDOWS
Introduction to the UNIX operating system, File system, vi (Visual Editor), Essential UNIX
commands, Bourne Shell.

Overview of UNIX System Administration, Introduction to shell programming, Disk blocks


and i-nodes.

Overview of MSDOS commands, Netware 5.0 features, Netware File System, Netware
Directory and File commands.
Netware Printing Services, Netware Login Scripts, Netware Data Protection and Backup,
Network File Systems, Netware Accounting System, Network Information Systems, Message
Passing Interface.

Features of Windows, Windows Programming, HTML programming.

TEXT:

SUMITABHA DAS, "Unix Concepts and Applications", 3rd Edition, Tata McGraw-Hill,
2003

REFERENCE:

RACHEL MORGAN, HENRY MCGILTON, "Introduction to UNIX system", Tata McGraw


Hill, 2000

CS204
DIGITAL SYSTEM DESIGN
Introduction to VLSI design - Basic gate design - Digital VLSI design - Design of general
boolean circuits using CMOS gates.

Introduction to hardware description languages through Verilog - Physical modeling -


Structural/Data flow modeling - Behavioral modeling.

Advanced Verilog concepts - Synthesis concepts - Inferring latches and flip-flops -


Modeling techniques for efficient circuit design.

Design of high-speed arithmetic circuits - Parallelism - Pipelined Wallace tree tipliers -


Systolic algorithms - Systolic matrix multiplication.

TEXT:

SAMIR PALNITKAR, "Verilog HDL Synthesis",I Edition,BS Publications,2001

BHASKAR, "Verilog HDL Synthesis",I Edition,BS Publications,2001

CS208
SYSTEMS PROGRAMMING
Fundamentals of language processors - Language specification - Data structure for
language processing - Scanning - Parsing.
Assemblers - Elements of assembly language programming - Single pass and two pass
assembler - Assembler for IBM PC.

Macro Processors - Macro definition and call - Macro expansion - Conditional and nested
macro calls - Design of a macro processor.

Loaders - Relocation and linking concepts - Relocating programs - Design of a linker -


Linking for overlays - A linker for MSDOS.

Linkers - Software tools - Text editor - Debug monitors - Interpreters - Program generators -
User interfaces - Recent trends and developments.

TEXT:

D.M.DHAMDHERE, "System Programming and Operating Systems", III Edition, Tata


McGraw Hill, 2002

J.J.DONOVAN, "Systems Programming", McGraw Hill, 1984

LELAND L.BECK, "An Introduction to Systems Programming", 4th Edition, Addison-


Wesley, 2001

CS210
DIGITAL SYSTEM DESIGN LABORATORY
Design of a 32-bit carry look-ahead adder with logarithmic depth using Verilog

Design of a Wallace tree multiplier using Verilog

Design of a 4-bit DSP processor using Verilog

Burning the 4-bit DSP processor on a FPGA

CS212
SYSTEMS PROGRAMMING LABORATORY
Symbol table (Tree-storage) construction

Implementation of single pass and two-pass assembler, macro preprocessor, module binder
(with limited instruction set)

Implementation of software tools like text editor, interpreter, program generator etc.
MA204
INTRODUCTION TO PROBABILITY THEORY
Definitions of Probability - Notion of sample space - Events - Basics of Combinatorial
Analysis - Posing Probability problems mathematically - Examples

Conditional Probability - Baye's Rule - Random variable - Probability mass function, Density
function, Distribution Function - Bernoulli Trials - Binomial Distribution - Poisson
Approximation - Poisson Distribution - Normal Distribution - Moment Generating Function

Joint Probability Density Function - Marginal and Conditional Densities - Function of


Random Variable - Covariance and Conditional Expectation - Correlation Coefficient

Chebyshev Inequality - Law of Large Numbers - Central Limit Theorem - Random Process -
Markov Dependence, Markov Chains, definition, examples, ergodicity

Finite Markov Chain - Various States - Limiting Probability - Introduction to Markov


Process - M/M/1 Queues with finite and infinite waiting space.

TEXT:

W. FELLER, An Introduction to Probability Theory and its Applications, Vol. 1, Wiley


Eastern, New Delhi.

A. PAPOULIS, Probability, Random Variables and Stochastic Processes, McGraw Hill.

K. S. TRIVEDI, Probability and Statistics with Reliability and Queueing and Computer
Science Applications, Prentice Hall of India, 1988

A. O. ALLEN, Introduction to Probability, Statistics and Queueing Theory with Computer


Science Applications, Academic Press, 2006 reprint.

SEMESTER 5

CS301
INTRODUCTION TO ALGORITHMS
Algorithms - Examples - Tournament method - Evaluating polynomial functions -
preprocessing of coefficients - solving recurrence equations.

Divide and Conquer method - Strassen's matrix multiplication - Greedy method - Knapsack
problem - Job sequencing with deadlines - Minimum spanning trees.
Dynamic Programming - Multistage graphs - All pair’s shortest paths - Optimal binary
search trees - Traveling salesman problem - Fast Fourier transform.

Randomized Algorithms and Amortized Analysis - Las Vegas and Monte Carlo types -
Randomized quick sort and its analysis - Min-Cut algorithm.

NP-Hard and NP-complete problems - Basic concepts - Reducibility - Cook's theorem


(without proof) - Turing machines - NP-Hard graph problems.

TEXT:

T.H.CORMEN, C.E. LEISERSON, R.L. RIVEST, "Introduction to Algorithms", The MIT


press, Cambridge, Massachusetts and McGraw Hill, 1990

A.V. AHO, J.E.HOPCROFT and J.D.ULLMAN, "The Design and Analysis of Computer
Algorithms", Addison Wesley, 1974

CS303
COMPUTER NETWORKS
Introductory Concepts - Network hardware - Network software - Physical layer - Guided
transmission media - Cable television.

Data Link Layer - Design issues - Channel allocation problem - Multiple access protocols -
Ethernet - Wireless LAN - 802.11 architecture.

Network Layer - Design issues - Routing algorithms - Congestion control algorithms -


Quality of Service - Internetworking.

Transport Layer - Transport service - Elements of transport protocols - User Datagram


Protocol - Transmission Control Protocol.

Application Layer - DNS - Electronic mail - World Wide Web - Multimedia - Network
security.

TEXT:

A.S.TANENBAUM, "Computer Networks", Pearson Education, IV Edition, 2003

W.STALLINGS, "Data and Computer Communication", Pearson Education, V Edition, 2001


CS305
MICROPROCESSOR SYSTEMS
8085 Microprocessor - Architecture - Bus organization - Registers - ALU - Instruction set of
8085 - Instruction format - Addressing modes - Timing diagrams.

Serial I/O - Interrupts - Data transfer techniques - Parallel data transfer using 8155 - DMA
transfer using 8257 DMA controller.

Microprocessor System Design - System design using interrupt controller - Floppy Disk
Controller - CRT controller.

Microprocessor Interfacing Techniques - Interfacing memory and I/O devices - Interfacing


A/D converters and D/A converters - Recent trends and developments.

8086/8088 - Internal architecture - Instruction set - Segmented memory concepts - Memory


interfacing [ROM/DRAM] - Bus concepts.

TEXT:

R.S. GAONKAR, "Microprocessor Architecture, Programming and Applications with the


8085/8080A", Wiley Eastern Ltd, Second Edition, 1986

D.V.HALL, "Microprocessors and Digital Systems", McGraw Hill International students,


Second Edition, 1986

CS307
SOFTWARE ENGINEERING
Introductory Concepts - Systems engineering - Software project planning - Cost estimation
- Project scheduling.

Analysis - Data flow oriented design - Object oriented life cycle models - CASE tools.

Software Design - Software design fundamentals - Data structure oriented Design - JS, LCP
- Various design methods.

Implementation and Testing - Testing objectives - Black box & white box testing - Various
testing strategies - Art of debugging.

Maintenance - Re-engineering - Reverse engineering - Reliability - Repair and availability -


Reliability and availability models - Recent trends and developments.
TEXT:

R.S.PRESSMAN, "Software Engineering - A practitioners approach", III Edition, McGraw


Hill International editions, 1992

STEPHEN R. SCHACH, "Object oriented and classical software Engineering", IV Ed.,


McGraw Hill, 2002

CS309
LOGICAL FOUNDATIONS OF COMPUTER SCIENCE
Review of Prepositional Calculus - Validity - Satisfiability related concepts - CNF and
DNF forms - Conversion of arbitrary prepositional formula to CNF or DNF.

Compactness idea - Resolution principle and proof of the theorem - Review of predicate
calculus - Interpretation of formulae in predicate calculus.

Prenex normal form and examples - Application of logic in programming - Proof rules for
structured statements (assignment, while, repeat-until, for statements).

Pre-conditions / Post-conditions - Weakest precondition - Notion of machine - Mechanism


and Wp as a predicate transformer - Properties of Wp.

Guarded Commands - General form of if command - Wp of if - Related theorem - General


form of do command - Wp of do - Need for strong guards.

TEXT:

D.GRIES, "The Science of Programming", Narosa, 1981

S.ALAGIC, M.A.ARBIB, "The Design of Well-Structured and Correct Programs",


SpringerVerlagn, 1978

E.W.DJIKSTRA, "A Discipline of Programming", Prentice Hall, Englewood Cliffs, 1976

CS311
COMPUTER GRAPHICS
Graphics Hardware - Display devices - Hard copy devices - Hardware interaction tasks -
Line drawing algorithms - Circle generation algorithms - Character generation.

Basic Raster Graphics Algorithms - Scan conversion - Filling - Clipping - Anti-aliasing -


Half-toning.
2D and 3D Transformations - Window to viewport transformation - Viewing in 3D
projections - Specifying an arbitrary 3D view.

3D Object Representation - Polygon surfaces - Curves and surfaces - Spline representation


- Modeling techniques - Solid fractals - Procedural / Grammar based models.

Hidden line and hidden surface removal algorithm - Illumination - Shading models -
Animation - Languages and rules for animation - Recent trends.

TEXT:

J.D. FOLEY, A. VAN DAM, S.K. FIENER and J.F.HUGHES, "Computer Graphics:
Principles and Practice", Second Edition, Addison - Wesley, 1996

D. HEARN and M.P. BAKER, "Computer Graphics", III Edition, Prentice Hall of India,
2004

CS313
MICROPROCESSOR SYSTEMS LABORATORY
Solving problems using 8085

Interfacing various devices with the microprocessor: A/D converter, D/A converter, seven
segment display, stepper motor, external keyboard, interrupt controller and 8251 for serial
data transfer

Interfacing using microcontroller trainer kits

PC hardware assembly

Installation and trouble shooting

CS315
ALGORITHMS LABORATORY
Estimating worst-case/average-case complexity of algorithms via programs

Determining machine constants

Programs involving some advanced data structures

Implementing example problems


Illustrating the different paradigms of algorithm design

Solving miscellaneous problems e.g. problems in string manipulation, graph theory,


optimization

SEMESTER 6

CS302
COMBINATORICS AND GRAPH THEORY
Permutations and Combinations - Distribution of distinct / non-distinct objects -
Generating functions for combinations - Portion of integers - Ferrers graph.

Recurrence Relations - Linear recurrence relations with constant coefficients - Solution by


the technique of generating functions - Permutations with restrictions on relative positions.

Basic Definitions - Trees and fundamental circuits - Cut-sets and Cut-vertices - Connectivity
and Separability - Network flows - 1 and 2 isomorphism.

Planar and Dual Graphs - Kuratowski's graphs - Representations of a planar graph - Vector
space associated with a graph - Subspaces - Orthogonal vectors and spaces.

Matrix Representation of Graphs - Circuit matrix - Cutset matrix - Path matrix -


Adjacency matrix - Coloring problems - Algorithms for fundamental circuits, cut-vertices
and separability.

TEXT:

E.S.PAGE and L.B.WILSON, "An introduction to computational combinatorics", Cambridge


University Press, 1979

D.E.KNUTH, O.PATASHUK, R.L.GRAHAM, "Concrete Mathematics", 1994

DOUGLAS. B. WEST, "Introduction to Graph Theory", Second edition. Prentice Hall,2001

CS304
OPERATING SYSTEMS
Basic OS Concepts - User's view of the OS - Architectural support - Thread and process
scheduling - Preemptive and non-preemptive - FCFS, SJF, Round Robin, Multilevel Queue.
Synchronization - Peterson's solution - Bakery algorithm - Hardware-based solutions -
Sempahores - Critical regions - Problems of synchronization - Deadlock prevention and
recovery - Banker's algorithms.

Memory Management - Segmentation, Paging and Virtual memory - Case study of x86 32-
bit memory management unit - FCFS, FRU - Belady's anomaly - Stack-based algorithms -
Thrashing - Working set.

Design of the Unix File System - Buffer caches - File system organization - Inodes - Super
blocks - File access algorithms - File tables - Inode tables - Network file systems.

I/O Organization - Block and character device drivers - Unix system file protection
mechanism - Access and capability lists - Authentication - Spoofing - Case study of a virus
on UNIX.

TEXT:

A.SILBERCHATZ, P.B.GALVIN, "Operating System Concepts", Addison Wesley, VI


Edition, 2005

W.STALLINGS, "Operating Systems", Prentice Hall, V Edition, 2005

CS306
DATABASE MANAGEMENT SYSTEMS
Databases - Need - Concepts - Architecture - Data independence - Data modeling: Entity-
relationship model - Weak entity sets - Mapping ER model to Relational model.

Concepts - Integrity constraints - Relational algebra - Relational calculus - Tuple relational


calculus - Domain relational calculus - Overview of QBE.

SQL Queries - Nested queries - Aggregate operators - Null values - Embedded SQL -
Database security - Views - Queries on views.

Schema Refinement - Functional dependencies - Normalization - Decomposition -


Armstrong’s axioms - 3NF, BCNF, 4NF - Multi-valued dependencies.

Object-oriented data model - Object identity and pointers - Object definition and
manipulation language - Object-oriented databases - Object relational databases - Recent
trends.

TEXT:

A.SILBERCHATZ, F.KORTH, S.SUDARSHAN, "Database System Concepts", IV Edition,


McGraw Hill,2002
R.ELMASRI, S.B.NAVATHE, "Fundamentals of Database Systems", III Edition, Pearson
Education, 2000

CS310
ADVANCED MICROPROCESSOR SYSTEMS
80286 Architecture - Instruction set - Addressing modes - Real mode - Protected mode -
80386 Architecture - Address segmentation - Paging - Segment registers.

Basic 486 Architecture - 486 memory system and memory management - Features of
Pentium memory and I/O systems - Pentium memory management - Introduction to Pentium
Pro features.

Introduction to PCs - Study of PC system layout - SCSI, CD-ROM & multimedia -


Development of PC - PC components - Features and system design - Motherboards - Buses -
BIOS.

IDE Interface - Magnetic storage principles - Hard disk storage - Floppy disk storage -
Optical Storage - Physical drive installation and configuration - Video hardware - Audio
hardware.

Input devices - Power supply chassis - Building/upgrading systems - PC diagnostics - Testing


and maintenance.

TEXT:

D.V.HALL, "Microprocessor and Interfacing Programming and Hardware", Mc Graw Hill, II


Edition, 1999

B.B.BREY, "The Intel Microprocessors 8086/8088, 80186/ 80188, 80286, 80386, 80486 and
Pentium and Pentium Pro Processor", Prentice Hall of India, V Edition, 2006

CS312
OPERATING SYSTEMS LABORATORY
Designing a command shell in Java

Synchronization of processes

Study of scheduling algorithms

Implementation of a file system


Advanced file system implementation

CS314
DATABASE LABORATORY
Exercises to be based on Sybase / Oracle / Postgres / VB / Power Builder / DB2 / MS-Access.

Applications involving vendor development systems, stores management system, finance


management etc.

Creation and querying of database tables

Design of tables by normalization and dependency analysis

Writing application software with host language interface

SEMESTER 7

CS401
DISTRIBUTED COMPUTING
Distributed Systems - Goal - Advantages over centralized systems - Organization of
multiprocessor systems - Hardware/software concepts - Review of layered protocols.

Client/Server Model - Microkernel - RMI - Distributed algorithms - Time stamping -


Circulating tokens - Diffusing computations.

Mutual Exclusion Algorithm - Election algorithm - Detecting loss of tokens and


regeneration - Distributed deadlock detection algorithms - Distributed termination
algorithms.

File Replication - Semantics of file sharing - Remote access methods - Fault tolerant issues -
Introduction to distributed operating systems.

Introduction to Distributed Operating Systems - Motivations - Management systems -


Levels of distribution transparency - Architecture - Introduction to concurrency control.

TEXT:

GEORGE COULOURIS, JEAN DOLLIMORE, TIM KINDBERG, "Distributed System


Concepts and Design", 4th Edition, Addison Wesley, 2005
A. S. TANENBAUM, "Distributed Operating Systems", Prentice Hall, 1995

S. CERI, G.PELAGATTI, "Distributed Databases - Principles and Systems", McGraw Hill,


1985

CS403
ARTIFICIAL INTELLIGENCE AND EXPERT SYSTEMS
Search Strategies - Hill climbing - Backtracking - Graph search - Properties of A* algorithm
- Monotone restriction - Specialized production systems - AO* algorithm.

Searching game trees - Minimax procedure - Alpha-beta pruning - Introduction to predicate


calculus.

Knowledge Representation - Reasoning - STRIPS - Structured representation of knowledge


- Dealing with uncertainty.

Introduction to Expert Systems - Inference - Forward chaining - Backward chaining -


Languages and tools - Explanation facilities - Knowledge acquisition.

Natural Language Processing - Introduction - Understanding - Perception - Machine


learning.

TEXT:

G.LUGER, W.A. STUBBLEFIELD, "Artificial Intelligence", Third Edition, Addison-


Wesley Longman, 1998

N.J. NILSSON, "Principles of Artificial Intelligence", Narosa Publishing House, 1980

CS405
PRINCIPLES OF COMPILER DESIGN
Introduction - Structure of a compiler - Different phases of a compiler - Finite automata and
lexical analysis.

Syntactic specification - Context-free grammars - Derivation and parse trees - Basic parsing
techniques.

LR Parsers - SLR, Canonical LR and LALR - Syntax-directed translation schemes - Various


forms of intermediate code.
Translation of array references, procedure calls, declarations and case statements - Symbol
tables - Run-time storage administration - Error detection and recovery.

Code Optimization - Loop optimization - DAG representation of basic blocks - Code


generation from DAG's - Compiler compilers: YACC - Attributed parser generators.

TEXT:

A.V.AHO, R.SETHI, J.D.ULLMAN, "Compilers, Principles, Techniques and Tools",


Pearson Education, 13th Indian Reprint, 2003

J.P. TREMBLAY, P.G. SORRENSON, "The Theory and Practice of Compiler Writing",
McGraw Hill, 1985

CS407
ADVANCED COMPUTER ARCHITECTURE
Parallel computer models - Flynn's classification - Parallel and vector computers - System,
implicit and explicit parallelism - Multi-vector and SIMD computers - PRAM and VLSI
models.

Program and network properties - Data and control dependence - Hardware and software
parallelism - Partitioning and scheduling - Interconnection architectures.

Performance laws - Metrics and measures - Amdahl's law for fixed workload - Bounded
speed-up model - Scalability analysis and approaches.

Symbolic Processors - CISC and RISC architectures - Super scalar processors and their
features - Memory hierarchy.

Linear Pipeline Processors - Basic considerations - Basics of non-linear pipeline processors


- Design of pipelined architecture - Recent trends and developments.

TEXT:

K.HWANG, "Advanced Computer Architecture, Parallelism, Scalability, Programmability",


McGraw Hill, New York, 1993

D.A.PATTERSON, J.L.HENNESSY, "Computer Architecture: A Quantitative Approach",


Harcourt Asia, Morgan Kaufmann, 1999
CS413
COMPILER DESIGN LABORATORY
Design of lexical analyzers and parsers like recursive-descent parser for a block structured
language with typical constructs

Exercises using LEX and YACC

Quadruples/Triples generation using LEX and YACC for a subset of a block structured
language e.g. PASCAL

CS415
NETWORK ENGINEERING LABORATORY
Familiarization with configuring and installing a LAN

Experimenting with network protocols for achieving communication between computers

Interconnection software for communication between two different network architectures

Experiments using TCP/IP, POP, e-mail, HTTP

Implementation of a web server and web client

Design of a mini search engine and firewall

Internet/web browser implementation

Web programming using HTML/XML/Perl/Java/PHP

Network security: email security / web security

SEMESTER 8

CS402
ADVANCED DATABASE MANAGEMENT SYSTEMS
Concepts - EER-to-Relational mapping - Integrity constraints in data modeling - Review of
normalization theory - Review of file structures and access methods.
Basic Algorithms - Use of heuristics - Optimization algorithm - Heuristic optimization of
query graphs - Using cost estimations in query optimization.

More Concepts - Concurrent execution - Implementation of atomicity, durability - Isolation


- Recoverability - Serializability of schedules - Testing for conflict - Serializability - View
serializability.

Lock-based protocols - Timestamp-based protocols - Validation-based protocols -


Multiversion schemes - Deadlock handling.

Log-based recovery - Buffer management - Recovery with concurrent transactions -


Recovery techniques - Shadow paging.

Database System Architectures - Parallel databases - Advanced transaction processing -


Emerging database applications - Recent trends and developments.

TEXT:

A.SILBERSCHATZ, H.F.KORTH, S.SUDARSHAN, "Database System Concepts", IV Ed,


McGraw Hill, 2000

R.ELMASRI, S.B.NAVATHE, "Fundamentals of Database Systems", III Ed., Pearson


Education, 2000

HM402
INDUSTRIAL ECONOMICS
Industrial Economics - Elasticity of demand and supply - Consumption laws - Types of
competitions - Keynesian employment theory - Production, planning and control.

Money Banking & Financial Management - Functions of commercial and central banking
- The problem of foreign exchange - Sources of industrial finance - Management accounting.

General Management - Principles of management - Scientific management - Advanced


techniques in management: MBE, MBO, MBC, MBP, MIS - Quantitative techniques in
management.

Marketing Management - Definition of marketing - Market research - Need for marketing -


Sales forecasting - Product life cycle - Market segmentation.

Personnel Management & Industrial Psychology - Selection and recruitment - Training


and development - Job evaluation and merit rating - Worker participation - Quality - Work
life.
TEXT:

GUPTA, G.S., "Managerial Economics", Tata McGraw Hill, 1993 Edn.

RASAD, L.N., "Principles of Management Theory and Practice", Sultan & Chand, 1992 Edn.

DAVAR, S.R., "Personal Management & Industrial Relations", Vikas Publishing (P) Ltd.,
1993 Edn.

ELECTIVES

CS352
DESIGN AND ANALYSIS OF PARALLEL ALGORITHMS
Introduction to Parallel Computers - SIMD - EREW, CREW - SM-SIMD algorithms -
Shared memory SIMD - Tree and mesh interconnection computers.

Sorting - Sorting on a linear array - Sorting on a mesh - Sorting on EREW SIMD computer -
MIMD enumeration sort - MIMD quick sort - Sorting on other networks.

Matrix operations - Mesh transpose - Shuffle transpose - EREW transpose - Mesh


multiplication - Cube multiplication - Matrix by vector multiplication - Tree multiplication.

Numerical problems - Linear equations - SIMD algorithm - Roots of nonlinear equations -


MIMD algorithm - Partial differential equations - Computing Eigen values.

Graph problems - Computing the connectivity matrix - Finding connected components -


Traversal - Minimal alpha-beta tree - Storage requirements.

TEXT:

S.G.AKL, "The Design and Analysis of Parallel Algorithms", Prentice Hall of India, 1989

S. LAKSHMIVARAHAN, S.K. DHALL, "Analysis and Design of Parallel Algorithms -


Arithmetic and Matrix Problems", McGraw Hill, 1990

CS354
SOFTWARE DESIGN AND PRACTICES
Software Engineering - Paradigms - Planning - Cost estimation - Software project
scheduling - Risk analysis and management - Requirements and specifications - Stakeholders
needs and analysis.
Structured Design - Design principles - Problem partitioning and hierarchy - Modularity -
Top-down and bottom-up strategies - Transformation of a DFD to a structure chart -
Coupling and cohesion.

Object-oriented analysis - UML - Use case - Conceptual model - Class analysis patterns -
Overview - Diagrams - Aggregation - Collaboration - Sequence - Class - Managing analysis
and design.

Architecture Concepts - Design methods - Design patterns - Design processes and strategies
- Design by template incremental design - Structured systems analysis and structured design -
JSP - JSD.

TEXT:

DAVID BUDGEN, "Software Design", Second Edition, Pearson Education, 2004

R.S.PRESSMAN, "Software Engineering", Fifth Edition, McGraw Hill Inc., 2001

ED DOWNS, PETER CLARE, JAN COE, "Structured System Analysis and Design Methods
- Application & Context", Prentice Hall, 1998

CS451
PRINCIPLES OF CRYPTOGRAPHY
Origins of Cryptography - Issues - Codes and ciphers - Preliminary ideas of factoring and
testing - gcd and its complexity.

Symmetric Key Cryptosystems - Block ciphers - Substitution ciphers - DES and Feistel
ciphers and the problem of breaking them - The field Z/pZ - Euler's φ function.

Stream Ciphers - Linear feedback shift registers and associated results - Geffe generator -
Diffe-Hellman key exchange - Bit commitment using symmetric key.

Public-key Cryptosystems - Discrete logarithm - RSA and Miller-Rabin - Authentication -


Digital signatures - Merkle-Hellman Knapsack public key cipher.

Factoring and other topics - Pollard ρ-heuristic - Pollard p-1 algorithm - Quadratic sieve
algorithm - Zero-knowledge proof idea - Recent developments.

TEXT:

A.J. MENEZES, P. VAN OORSCHOT, S. VANSTONE, "Handbook of Applied


Cryptography", CRC Press
WILLIAM STALLINGS, "Cryptography and Network Security", Pearson Education, 3rd
Edition, Reprint 2003

CS453
NETWORK PRINCIPLES AND PROTOCOLS
Introduction to Networks - Applications of networks - Architecture - Topology - Switching
- SLIP - PPP - ALOHA protocols - CSMA/CD - IEEE 802.3, 802.4, 802.5.

Network Layer Issues - Routing - Congestion control - Internetworking - Issues - Address


learning bridges - Spanning tree - Source routing - Bridges - Routers - Gateways.

Network Protocols - IP datagram - hop by hop routing - ARP/RARP - Subnet addressing -


Address masking - ICMP - RIP/RIPV2 - OSPF - DNS - LAN and WAN multicast.

Transport Layer - Design issues - Connection management - Transmission Control Protocol


(TCP) - User Datagram Protocol (UDP).

Application Layer - Telnet - TFTP - FTP - SMTP - Ping - Finger - Bootstrap - Network
Time Protocol - SNMP.

TEXT:

A.S. TANENBAUM, "Computer Networks", Third Edition, Prentice Hall India, 1997

W. RICHARD STEVENS, "TCP/IP Illustrated - Volume I, The protocols", Addition-Wesley


Professional Computing Series, 1994

CS452
REAL-TIME SYSTEMS
Introduction to real-time computing - Structure of a real-time system - Characterization of
real-time systems and tasks - Performance measures.

Task Assignment and Scheduling - Uniprocessor scheduling algorithms - Task assignment


- Mode changes - Fault tolerant scheduling.

Real-time Communication - Network topologies and architecture issues - Protocols -


Contention-based, token-based, polled bus - Fault tolerant routing.

Real-time Databases - Transaction priorities and aborts - Concurrency control issues -


Scheduling algorithms - Two-phase approach to improve predictability.
Programming Languages and Tools - Hierarchical decomposition - Run-time error
handling - Overloading - Timing specification - Recent trends and developments.

TEXT:

C.M. KRISHNA, KANG G. SHIN, "Real-Time Systems", International Edition, McGraw


Hill Companies, Inc., New York, 1997

CS454
NETWORK SECURITY
Introduction - Attacks, services and mechanisms - Classical encryption techniques - DES -
Block cipher - Design principles and modes of operation.

Encryption Algorithms - Hash functions - Triple DES - RC5 - Key management - Public
key cryptography - RSA algorithm - Digital signatures and authentication protocols.

System Security - Backups - Integrity management - Protecting against programmed threats,


viruses and worms - Physical security - Personnel security.

Network Security - Protection against eavesdropping - Security for modems - IP security -


Web security - Electronic mail security - Authentication applications.

Security Tools - Firewalls - Wrappers - Proxies - Discovering a break-in - Denial of service


attacks and solutions - Cryptographic security tools: Kerberos, PGP, SSH, SRP, OPIE.

TEXT:

WILLIAM STALLINGS, "Cryptography and Network Security – Principles and Practice", II


Edition, Pearson Education, 2000, Ch 1 to 16

STEVE BURNETT, STEPHENE PAINE, "RSA Security's official guide to cryptography",


RSA Pren, Tata McGraw Hill Edition, 2001

E. NEMETH, G. SNYDER, S. SEEBASS, T.R. HEIN, "UNIX System Administration


Handbook", III Edition, Pearson Education, Asia, 2001

You might also like