Department of Computer Science and Engineering: Detailed Syllabi of Courses

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Detail Syllabi Department of Computer Science & Engineering

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


DETAILED SYLLABI OF COURSES

CS 102 Data Structures and Algorithms 3-1-0 4


CS 171 Computing Laboratory – I 0-0-3 2
CS 172 Computing Laboratory – II 0-0-3 2
CS 211 Discrete Mathematics 3-1-0 4
CS 212 Object Oriented Programming and Web Application using C# 3-0-0 3
CS 213 Principles of Programming Languages 3-1-0 4
CS 222 Database Management Systems 3-0-0 3
CS 241 Analog Electronics 3-0-0 3
CS 242 Computer Organization and Architecture 3-1-0 4
CS 243 Digital Electronics 3-0-0 3
CS 270 Analog Electronics Laboratory 0-0-3 2
CS 271 Data Structure Laboratory 0-0-3 2
CS 272 Database Laboratory 0-0-3 2
CS 273 Digital Electronics Laboratory 0-0-3 2
CS 274 VHDL Programming Laboratory 0-0-3 2
CS 312 Systems Analysis and Design 3-0-0 3
CS 314 Simulation and Modeling 3-0-0 3
CS 315 Optimization Techniques 3-1-0 4
CS 321 Data Communication 3-0-0 3
CS 325 Cryptographic Foundations 3-0-0 3
CS 326 Data Communication and Computer Networks 3-0-0 3
CS 327 Relational Database Management Systems 3-0-0 3
CS 331 Theory of Computation 3-1-0 4
CS 332 Algorithm Analysis and Design 3-1-0 4
CS 333 Operating Systems 3-0-0 3
CS 334 Operating Systems Design 3-0-0 3
CS 335 Computer Graphics and Multimedia 3-0-0 3
CS 336 Digital Signal Processing 3-1-0 4
CS 338 Systems Software 3-1-0 4
CS 341 Microprocessors and Microcontrollers 3-1-0 4
CS 343 Digital Logic Design 3-0-0 3
CS 371 Data Communication Laboratory 0-0-3 2
CS 372 Systems Analysis and Design Laboratory 0-0-3 2
NIT Rourkela

CS 373 Microprocessor Laboratory 0-0-3 2


CS 374 Operating Systems Laboratory 0-0-3 2
CS 375 Computer Graphics Laboratory 0-0-3 2
CS 376 Digital Signal Processing Laboratory 0-0-3 2
CS 377 Computational Statistics Laboratory 0-0-3 2
CS 378 Systems Programming Laboratory 0-0-3 2
CS 379 Network Design and Simulation Laboratory 0-0-3 2

239
Department of Computer Science & Engineering
Detail Syllabi

CS 382 System Programming Laboratory 0-0-3 2


CS 384 Algorithm Analysis and Design Laboratory 0-0-3 2
CS 412 Software Engineering 3-1-0 4
CS 413 Advanced Programming Skills 3-0-0 3
CS 414 Software Project, Process and Quality Management 3-1-0 4
CS 416 Bioinformatics 3-1-0 4
CS 417 Graph Theory and Network Algorithms 3-0-0 3
CS 418 Real Time Systems 3-1-0 4
CS 421 Computer Networks 3-0-0 3
CS 423 Ad-hoc and Wireless Networks 3-1-0 4
CS 425 Data MiningandData Warehousing 3-1-0 4
CS 427 Network Security 3-1-0 4
CS 430 Information Theory and Coding 3-1-0 4
CS 431 Compiler Design 3-0-0 3
CS 432 Distributed Operating Systems 3-1-0 4
CS 433 Algorithm Design 3-0-0 3
CS 434 Image Processing 3-0-0 3
CS 435 Artificial Intelligence 3-0-0 3
CS 436 Soft Computing Techniques 3-0-0 3
CS 437 Soft Computing 3-0-0 3
CS 438 Pattern Recognition 3-1-0 4
CS 439 Computer Vision 3-0-0 3
CS 440 Cryptographic Foundation 3-0-0 3
CS 441 Advanced Computer Architecture 3-1-0 4
CS 442 Computer System Architecture 3-0-0 3
CS 443 Embedded Systems 3-1-0 4
CS 444 Cluster and Grid Computing 3-1-0 4
CS 445 Parallel Algorithms 3-1-0 4
CS 446 Graph Theory 3-0-0 3
CS 448 Artificial Intelligence & Neural Network 3-0-0 3
CS 449 VLSI System Design 3-1-0 4
CS 450 Multimedia & Computer Vision 3-0-0 3
CS 451 Image Processing 3-0-0 3
CS 471 Network Laboratory 0-0-3 2
CS 472 Software Engineering Laboratory 0-0-3 2
NIT Rourkela

CS 473 Real Time Systems Laboratory 0-0-3 2


CS 474 Image Processing Laboratory 0-0-3 2
CS 477 Soft Computing Laboratory 0-0-3 2
CS 478 Parallel Computing Laboratory 0-0-3 2
CS 479 Advanced Linux Programming Laboratory 0-0-3 2
CS 481 Compiler Design Laboratory 0-0-3 2

240
Detail Syllabi Department of Computer Science & Engineering

CS 482 Distributed Computing Laboratory 0-0-3 2


CS 485 Artificial Intelligence Laboratory 0-0-3 2
CS 489 Computer Vision Laboratory 0-0-3 2
For B. Tech Courses (3 or 4 level) please refer to the B. Tech Curriculum and Syllabi, for M. Tech Courses (6 level)
please refer to M. Tech Curriculum and Syllabi.

CS 102 data structures and ALGORITHMS 4 credits [3-1-0]


Prerequisites: NIL
Introduction: Data types, Abstract data types, data Structures, storage structure, Concept of ‘O’ notation, Time
complexity & Space complexity issues. Arrays, Stacks & recursions, Queues, Linked list, Hashing, Trees Graphs &
their ApplicationsLinked representation of Graph, Adjacency Matrix, Adjacency list, Shortest path algorithm, Graph
Traversal: BFS, DFS, BDD and its application, Sorting Techniques : Bubble sort, Quick sort, selection sort, Heap sort,
insertion sort, merge sort, radix sort & efficiency considerations. Searching Techniques: Sequential search, index
sequential search, Binary search, Interpolation Search, Tree Searching, and Fibonacci Search. Files: properties of
physical storage media, file organization techniques.
Essential Reading:
1. Tremblay & Sorenson, Introduction to Data Structures with applications, Tata-McGraw-Hill, 2nd Ed., 2006.
2. M. A. Weiss, Data Structures and Algorithm Analysis in C, Addison-Wesley, 3nd Ed., 2006.
Supplementary Reading:
1. S. Sahani, Data Structures, Algorithms and Applications in C++, Silicon Press, 2004.
2. A. V. Aho, J. E. Hopcroft & J. D. Ullman, Data Structures and Algorithms, Addition-Wesley, 1998.
3. G. A. V. Pai, Data Structures and Algorithms: Concepts, Techniques and Applications, Tata McGraw Hill, 1st Ed, 2008.
4. D. Samanta, Data Structures, PHI, 2004.

CS 171 COMPUTING LABORATORY – i 2 credits [0-0-3]


Prerequisites: NIL
Read a line of text and count the number of characters, vowels, consonants and blank spaces in it.; Implementation of
matrix manipulations; Programs on recursive function.; Interchanging values of two variables without a third variable
using arithmetic operators and also using bit-wise operators.; Programs on the use of functions.; Programs on Sorting
and Searching.; Programs on files for creating, populating and manipulating a simple database.
Implementation of linked list.; Implementation of other data structures.; Menu driven programs.
Essential Reading:
1. B. Gottfried, Programming with C, 2nd Edition, Shaums Outline, TMH.
2. E. Balguruswami, Programming with C, Tata McGraw Hill, 3rd Ed, 2006.

CS 172 COMPUTING LABORATORY – iI 2 credits [0-0-3]


Prerequisites: NIL
Implementation of: Classes and objects.; Constructors and Destructors.; Friend and virtual functions.; Operator
overloading, function overloading.; Conversion of one data type to another.; Inheritance (single, hierarchical, multiple
and multilevel).; Templates.; Exception handling. NIT Rourkela
Essential Reading:
1. E. Balguruswami, Programming with C++, Tata McGraw Hill, 3rded, 2006
2. B. Strouptrup, C++ Programming Language, Pearson Education, 3rd Ed, 2009.

CS 211 discrete MATHEMATICS 4 credits [3-1-0]


Prerequisites: NIL
Sets and Propositions: Mathematical induction, The Principle of Inclusion and Exclusion, Proposition, Theory
of inference, Predicate Calculus, Methods of proof, Permutations and Combinations, Relations and Functions:
properties of binary relations, Closure of relations, Warshall’s algorithm, Equivalence relations Partial ordering

241
Department of Computer Science & Engineering Detail Syllabi

relations and lattices, Chains and antichains, Functions, Composition of Functions, Invertible Functions, Recursive
Functions, Pigeonhole principle, Graphs: representation of Graphs, operations on graphs, paths and circuits, graph
traversals, shortest path in weighted graphs, Eulerian paths and circuits, Hamiltonian paths and circuits, Traveling
sales persons problem, Planar graphs, Graph Coloring, Application of Graphs, Tress and Cut-Sets: Rooted trees, Binary
search trees, Spanning trees, Minimum spanning trees, Kruskal’s Algorithm, Prims Algorithm, Transport Network,
Modelling Computation: Languages, Phase structure and grammars, Types of grammars and Languages, Finite state
machines, Discrete Numeric functions and Generating Functions, Recurrence relations and recursive algorithms,
Linear recurrence relations, Solving Recurrence Relations by Generating Functions, Divide and conquer algorithms,
Groups and rings: groups and subgroups, Cosets and Lagrange’s theorem, Codes and Group codes, Boolean Algebras:
Lattices and algebraic systems, Principle of duality, Distributive and complemented lattices, Boolean functions and
Boolean expressions, Simplification of logic expressions using Karnaugh Map, Simplification of logic expressions using
Quine-McClusky method, Propositional Calculus, Design and Implementation of Digital Networks, Switching Circuits.
Essential Reading:
1. C. L. Liu, D. P. Mohapatra, Elements of Discrete Mathematics: A computer Oriented Approach, Tata-McGraw Hill, 3rd Ed, 2008.
2. B. Kolman and R. C. Busby, Discrete Mathematical Structures for Computer Science, Prentice Hall of India, 5th Ed, 2002.
Supplementary Reading:
1. Kenneth H. Rosen, Discrete Mathematics and its Applications, Tata McGraw Hill, 5thed, 2003.
2. J. P. Tremblay and R. Manohar, Discrete Mathematical Structures with Applications, to Computer Science, TataMc-Graw Hill,
2001.
3. Joe L. Mott, A. Kandel, and T. P. Baker, Discrete Mathematics for Computer Scientists & Mathematics, Prentice Hall of India,
2nded, 2006.
4. N. Deo, Graph Theory with applications to Engineering & Computer Science, Prentice Hall of India, 2006.
5. S. Lipschutz, Discrete Mathematics, Tata McGraw Hill, 2005.

CS 212 OBJECT-ORIENTED PROGRAMMING AND WEB APPLICATION USING C# 3 credits [3-0-0]


Object Oriented Programming (OOP): Introduction to object-oriented programming, concepts of classes, objects,
encapsulation, inheritance, polymorphism, Data Abstraction etc; Introduction to C#, understanding C# in . NET
environment; programming using C#.; Web Based Applications; Web-based projects, development process, role of
web server, document object model, COM, . NET framework, HTML, DHTML, XML, CSS for designing web pages, life
cycle of ASP pages, concepts of ASP. NET, components & characteristics, building ASP. NET web pages using C#, web
configuration, data access using ADO. Net, XML etc; Database connectivity with SQL Server, Understanding DDL,
DML, DCL, TCL commands, real time cases in database management, Security issues, maintenance and updating
web projects etc.; Real Life Problem solving using OOP concepts; Requirements Analysis and Specification, Software
Design; Real life software module development using C# and ASP. NET, Software Testing & Implementation; Multiple
case studies to be undertaken.
Essential Reading:
1. Kogent Solution Inc, Black Book (Asp. Net & C#) 3. 5, platinum edition, Dreamtech press, 2010.
2. E Balgurusamy, Programming in C#, 2nd edition, Tata McGraw Hill, 2008.
3. Matthew MacDonald, Beginning ASP. NET 3. 5 in C#, 2nd edition, Apress, 2010.
4. James A. Senn, System Analysis Design, PHI.
Supplementary Reading:
1. Online and Offline Access to MSDN Library

CS 213 PRINCIPLES OF PROGRAMMING LANGUAGES 4 credits [3-1-0]


NIT Rourkela

Prerequisites: CS 171 & CS 172


The Role of Programming Languages: Toward Higher-level Languages, Problems of Scale, Programming Paradigms,
Language Implementation Bridging the Gap Language Description: - Syntactic Structure: Expression Notations,
Abstract Syntax Trees, Lexical Syntax, Context -Free Grammars, Grammars for Expressions, Variants of Grammars;
Statements: Structured Programming, Types: Data Representation, Procedure Activations; Object Oriented
Programming: Groupings of Data and Operations: - Constructs fro Program Structuring, Information Hiding, Program
Design with Modules, Modules and Defined Types, Class Declarations in C++, Dynamic Allocation I C++, Templates:
Parameterized Types, Implementation of Objects in C++. 7. Object-Oriented Programming: - What is an Object?,
Object-Oriented Thinking, Inheritance, Object-Oriented Programming in C++, An extended C++ example, Derived
Classes and information Hiding, Objects in Smalltalk, Smalltalk Objects have self; Functional programming: Elements

242
Detail Syllabi Department of Computer Science & Engineering

of Functional Programming, functional Programming in a Typed Languages, functions as First-Class Values, ML,
Functional Programming with Lists
Other Paradigms: Logic Programming, an Introduction to Concurrent Programming.
Essential Reading:
1. R. Sethi, Programming Languages – Concepts & Constructs, 2nd Ed, Pearson Education.
Supplementary Reading:
1. R. W. Sebesta, Concepts of Programming Languages, 8th edition, Addison-Wesley, 2007.
2. M. L. Scott, Programming Language Pragmatics, 2nd edition, Morgan Kaufmann, 2005.
3. T. W. Pratt & M. V. Zelkowitz, Programming Languages: Design and Implementation, 4th edition, Prentice-Hall, 2001.
4. S. Krishnamurthi, Programming Languages: Application and Intepretation, Creative Commons Attribution-Non Commercial-
Share Alike 3. 0, Version: http: //www. cs. brown. edu/~sk/Publications/Books/ProgLangs/2007-04-26

CS 222 database management systemS 3 credits [3-0-0]


Prerequisites: CS 102
Introduction to Database systems: Data Independence, Data Models, levels of abstraction, structure of DBMS,
Relational Model, Integrity constraints, Relational Languages, Query Languages: SQL, QUEL, QBE, Aggregate
operators, Embedded and Dynamic SQL. File Organization: Storage, Buffer management, Record and page formats,
File organization techniques, Indexing. Query optimization: Query processing on various operations, Translating
SQL queries, estimating the cost. Database design: E-R Model, Functional dependencies, normalization, multi-
valued dependencies. Concurrency control and recovery: transaction, schedules, Lock based concurrency, Lock
management, Concurrency control without locking, Crash recovery- log, check pointing, media recoveries. Database
Security, Distributed databases design, Object Oriented database design & its implementation, Introduction to recent
advances in database technology.
Essential Reading:
1. J. D. Ullman, Principles of Data Base Systems, Galgotia, 2nded, 2003.
2. A. Silberschatz, H. F. Korth & A. Sudarshan, Database system Concepts, McGraw Hill, 5thed, 2006.
Supplementary Reading:
1. B. Desai, An Introduction to database system, Galgotia, 1997.
2. C. J. Date: An Introduction to Data Base Systems, Addison Wesley, 1995.
3. R. Elmasri, S. Navathe, S. B. Navathe, R. Sunderraman, Fundamentals of Database Systems, Addison Wesley, 2nded, 1994
4. R. R. Krishnan, Database Management Systems, McGraw Hill, reprint 2007

CS 241 ANALOG ELECTRONICS 3 credits [3-0-0]


Prerequisites: NIL
Bipolar Junction Transistors and Field Effect Transistors, Biasing for BJT/FET and thermal stabilisation, transistors
at low frequencies, small signal equivalent circuits, linear analysis. Feedback Amplifier Classifications, input and
output resistance of feedback amplifiers, Effect of feedback on gain and impedance, frequency response of feedback
amplifiers; emitter and source follower; low frequency response, h-parameters; transistors at high frequencies, high
frequency equivalent circuit and response, gain-BW product. Crystal, Wien bridge and tuned oscillators, Multi stage
amplifiers, Distortion in amplifiers. OP-amp bias currents and offset voltages, frequency response, measurement of
OP-amp parameters, coupled amplifier, Class A and Class B power amplifiers; push –pull amplifiers; distortion in Class
AB push-pull amplifiers; audio power amplifier, Class C amplifiers. NIT Rourkela
Essential Reading:
1. Malvino & D. J. Bates, Electronics Principles, Tata McGraw Hill, 7th Ed, 2007.
2. J. Millman, C. C. Halkias, Integrated Electronics: Analog and Digital Circuits and Systems, Tata McGraw Hill, 35th reprint, 2004.
Supplementary Reading:
1. Boylested & Nashelsky, Electronic Devices and Circuit Theory, Prentice Hall of India, 7th Ed, 2007.
2. D. A. Bell, Electronic Devices and Circuits, Prentice Hall of India, 4th Ed, 2004.
3. J. Millman, Microelectronics, McGraw Hill, 2nd Ed, 1988.

243
Department of Computer Science & Engineering Detail Syllabi

CS 242 Computer Organization and Architecture 4 credits [3-1-0]


Prerequisites: NIL
Overview of Computer Architecture and Organization: Contrast between computer architecture and organization;
Fundamentals of computer architecture: Organization of von Neumann machine; Instruction format; execution
cycle; Instruction types and addressing modes; Computer Arithmetic: representation of integers and real numbers;
algorithm for carrying out common integer and floating-point operation; Memory system organization and
architecture: Memory system hierarchy; main memory organization; cache memory; virtual memory; Interfacing and
Communication: I/O fundamentals; I/O techniques; Interrupt; memory system design and Interfacing; Buses; Device
subsystem: External storage system; RAID architecture; Control Unit Design: Instruction sequencing, Instruction
interpretation, control memory, Hardwired Control, Micro programmed Control, Micro programmed Computers. I/O
organization: Bus control, Serial I/O (study of Asynchronous and synchronous modes, USART & VART), Parallel Data
transfer: (Program controlled: Asynchronous, synchronous & Interrupt driven modes, DMA mode, interrupt controller
and DMA controller). Organization of CPU: Single vs multiple data path; ISA; Control unit; Instruction pipelining;
Trends in computer architecture: CISC, RISC, VLIW, Introduction to ILP; Pipeline Hazards: Structural, data and control;
Reducing the effects of hazards.
Essential Reading:
1. V. C. Hamacher, Z. G. Veranesic, and S. G. Zaky, Computer Organisation, Tata McGraw Hill, 5th Ed, 2002.
2. J. P. Hayes, Computer Architecture and Organisation, McGraw Hill, 3rd Ed, 1998.
Supplementary Reading:
1. M. M. Mano, Computer System Architecture, Pearson, 3rd Ed, 2004.
2. W. Stallings, Computer Organization and Architecture – Designing for Performance, Prentice Hall of India, 7th Ed, 2007.
3. D. A. Pattersen and J. L. Hennesy, Computer Organisation and Design: The HardwareSoftware Interface, Elsevier, 2nd Ed, 2006

CS 243 DIGITAL ELECTRONICS 3 credits [3-0-0]


QuineMcCluakey method of Minimization, Minimization of multiple I/O Switching functions, Design of combinational
logic: few examples. Full Adder / Subtracter, BCD Adder, LAC Adder, Decoder, MUX / DEMUX three structure,
Combinational logic design using ROM array, Applications of MSI designs. Difference between Combinational
and Sequential circuits, Flip Flops, Counters, Shift Registers and PLA. Basic models of sequential M/C, Analysis of
Asynchronous and synchronous circuits, Synthesis of completely and incompletely specified synchronous sequential
M/Cs. Fault detection and location, classical methods, path senistizing method, Equivalent Normal-Form method,
Two-level-circuit, fault detection, Multi-level-circuit, fault detection, Boolean difference method.
Essential Reading:
1. M. Mano and M. D. Cilette, Digital Design, Pearson education, 4th Ed. 2008.
2. R. P. Jain, Modern Digital Electronics, Tata McGraw Hill, 3rd Ed, 2007.
Supplementary Reading:
1. J. F. Wakerly, Digital Design Principles and practices, PHI, 4th Ed, 2005.
2. M. Mano, Digital Logic and Computer Design, 1st Ed, Pearson, 2002.

CS 270 ANALOG ELECTRONICS LABORATORY 2 credits [0-0-3]


Design of 2 stage RC coupled amplifier.; Design of integrator and differentiator using OP-AMPS.; Design and verification
of different amplifier configurations with OPAMPS.; Determination of different electrical parameters of OPAMP.;
Design of OPAMP application circuits using P-SPICE simulator.
NIT Rourkela

CS 271 DATA STRUCTURE LABORATORY 2 credits [0-0-3]


Prerequisites: CS 102
Following is a list of experiments to be coded in C or C++. Details of each experiment are to be provided by the subject
teacher.; Understanding the use of arrays.; Programming insertion, deletion, merging in arrays. Realization of various
linked lists.; Simulating a stack.; Using stack for various conversions of expression like prefix etc.; Realizing a queue.;
Performing various operations on queue.; Simulate a tree and perform various tree traversals.; Programming various
sorting algorithms.; Understanding the use of hashing.

244
Detail Syllabi Department of Computer Science & Engineering

CS 272 DATABASE LABORATORY 2 credits [0-0-3]


Prerequisites: CS 102
Database Lab:
Study of SQL syntax; Study of Oracle syntax; Study of DB2 syntax; Writing Views, Assertions, Triggers; PL/SQL Programs
to be simulated given by instructor; Generating forms and reports; Following database to be designed and queries
to be processed using SQL.; Oracle and DB2: Order processing; insurance; student enrollment; library; banking
enterprise; Primary keys, data types and relevant queries for the above database will be supplied by the instructor;
Front end may be created by using VB, Java.

CS 273 DIGITAL ELECTRONICS LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
To study and verify various logic gates.; Verification of DE-MORGAN’ theorem.; Implementation of Boolean function
using NAND and NOR logic.; Implementation of half and full adder circuit is using NAND logic gate.; To design and
study RS and JK Flip-flop.
To study and design JK flip-flop.; To design module-7 counter.; Designing a buffer register 4 bit using D-flip flop.;
Design a 2 to 4 line decoder using AND and NOT gates.; Design a decimal to binary priority encoder

CS 274 VHDL PROGRAMMING LABORATORY 2 credits [0-0-3]


Prerequisites: CS 243
Write VHDL code to implement the following: Full adder using multiplexer; Binary Multiplexer ( 8 bit/16 bit); Floating-
Point addition; Carry save Multiplier (8 bit); Two’s complement Multiplier; Parity Encoder; GCD Processor; Universal
Shift register with asynchronous reset; FSM to detect the flag sequence of HDLC frame

CS 312 SYSTEMS ANALYSIS AND DESIGN 3 credits [3-0-0]


Prerequisites: NIL
Concepts of data and information, System Concepts, Components of a system, Characteristics of a system, Types
of systems: closed systems, open systems, man made systems. Information Systems, Types of information Systems:
Transaction processing systems, Management information systems, Decision support systems, Expert systems.
Computer based information systems (CBIS), Feasibility study. Systems development life cycle model, Iterative
waterfall model, Prototype model, Incremental model, Spiral model. Systems Analysis and Design, Classical and
Structured approaches, Structured Analysis tools: DFD, Data dictionary, Decision tree etc., Systems Design, input/
output design, Software Design and Documentation tools: HIPO and Warnier / Orr Diagrams. System testing and
quality assurance. SystemImplementation. HW/SW selection, Conversion, Software Maintenance. Activitynetwork.
CPM, PERT, Gnatt Chart, Recent trend in systems analysis and design.
Essential Reading:
1. H. George, Valacich, Modern Systems Analysis and Design, Pearson, 2nd Ed, 2005.
2. J. A. Senn, Analysis and Design of Information Systems, McGraw Hill, 1989.
Supplementary Reading:
1. H. C. Lucas, The Analysis, Design and Implementation of Information Systems, McGraw Hill, 1985.
2. E. M. Awad, System Analysis & Design, Galgotia Publication, 2002.
3. R. Mall, Fundamentals of Software Engineering, Prentice Hall of India, 2nd Ed, 2006.
NIT Rourkela

CS 314 SIMULATION AND MODELING 3 credits [3-0-0]


Prerequisites: NIL
Definition of System: Types of Systems-continuous and discrete; Modeling process and Definition of a model;
Computer workload and preparation of its model; verification and validation modeling procedures; Comparing
model data with real system data; Differential and partial differential equation models; Combining discrete events
and continuous models; (Examples of a computer should be used for illustration and discussion purposes). Simulation
Process: Use of simulation; Discrete and continuous simulation languages (such as GPSS, SLAM, SIMSCRIPT, II and
SIMULA); Study and use of one language (depending on the availability) in detail. Use of Database and A. I. techniques

245
Department of Computer Science & Engineering Detail Syllabi

in the area modeling and simulation.


Essential Reading:
1. J. Banks, Modeling and Performance Measurement of Computer Systems, Prentice Hall of India, reprint 2007.
2. A. M. Law, W. D. Kelton, Simulation Modelling and Analysis, Tata McGraw Hill, 2000.
Supplementary Reading:
1. T. A. Payer, Introduction to Simulation, McGraw-Hill.
2. J. Reitmen, Computer Simulation Application, Wiley, reprint 2000.
3. W. A. Speriet, Computer – aided Modeling and Simulation, Academic Press, reprint 2002.

CS 315 Optimization techniques 4 credits [3-1-0]


Prerequisites: MA 101, MA 102, MA 201, MA 202
Origin, Characteristics and Techniques, operations research Modeling, Linear Programming Constraints with less than
equal to, equal to and greater than equal to types. The Simplex method, Dual simplex method, Revised simplex
method, Duality theory and sensitivity analysis. Transportation and Assignment problems, Traveling Salesman
problem using branch and bound method, Network analysis including PERT-CPM, Integer programming, Non-linear
programming problem solving using Fibonnacci search method, Golden ratio method, Gradient search method,
Gradient projection method and Hessian matrix method, Queuing theory and applications for different M/M/I and
M/M/C models. Inventory models considering holding cost, ordering cost and penalty costs.
Essential Reading:
1. H. A. Taha, Operations Research an Introduction, Prentice Hall of India, 8th Ed, 2007.
2. F. S. Hillier, G. J. Lieberman, Introduction to Operation Research, 8th Edition, Mc-Graw-Hill, 2008.
Supplementary Reading:
1. S. S. Rao, Optimisation Theory and applications, Wiley Eastern Ltd. India, 1978, reprint 2005.
2. B. E. Gillet, Introduction to Operation Research: a computer oriented algorithmic approach Tata McGraw Hill, 1979, reprint
2005.

CS 321 data COMMUNICATION 3 credits [3-0-0]


Prerequisites: NIL
Data transmission fundamentals: historical overview; time/frequency representation of data signals; elements of
a communications link; definition of key terms; factors affecting system design, Binary and multi-level signaling:
information transfer rate; calculation of channel capacity; bandwidth efficiency, Baseband data transmission: the
problem of inter symbol interference; achieving a Nyquist channel response; recovery of symbols from noise; bit error
rate performance for baseband data systems, Bandpass digital modulation: binary modulation schemes (eg ASK, FSK,
PSK); multi-level digital modulation (e.g. M-ary ASK, M-ary FSK, M-ary PSK, QAM), Coding theory and practice: source
coding; channel coding; block coding; convolutional coding; combined coding and modulation, Multi-user digital
modulation techniques such as frequency division multiple access (FDMA); time division multiple access (TDMA);
code division multiple access (CDMA); combined multiple access systems; Error detection and correction, Digital
transmission fundamental
Essential Reading:
1. B. Forouzan, Data Communications and Networking, Tata McGraw Hill, 4th Ed, 2007.
2. W. Stallings, Data and Computer Communications, Prentice Hall of India, 8th Ed. 2007.
Supplementary Reading:
NIT Rourkela

1. Leon-Garcia & I Widjaja, Communication Networks, Fundamental Concepts & Key Architecture, Tata McGraw Hill, 2nd Ed, 2003.

CS 325 CRYPTOGRAPHIC FOUNDATIONS 3 credits [3-0-0]


Prerequisites: CS 211, CS 332.
Introduction to cryptography: Attacks, Services, and Mechanisms, Security Attacks, Security Services, A Model
for Internet work Security. Conventional Encryption: Classical and Modern Techniques, Conventional Encryption:
AlgorithmsTriple DES, International Data Encryption Algorithm, Blowfish, RC5, CAST, RC2, Characteristics of Advanced
Symmetric Block Ciphers. Confidentiality Using Conventional Encryption: Placement of Encryption Function, Traffic
Confidentiality, Key Distribution, Random Number Generation.; Public-Key CryptographyPrinciples of Public-Key

246
Detail Syllabi Department of Computer Science & Engineering

Cryptosystems, The RSA Algorithm, Key Management, Diffie-Hellman Key Exchange, Elliptic Curve Cryptography,
Message Authentication and Hash Functions: Authentication Requirements, Authentication Functions, Message
Authentication Codes, Hash Functions, Security of Hash Functions and MACs. Hash and Mac Algorithms ( MD5
Message Digest Algorithm, Secure Hash Algorithm (SHA-l), RIPEMD, HMAC), Digital Signatures and Authentication
Protocols and Web Security.
Essential Reading:
1. W. Stalling, Cryptography and Network Security: Principles and Practices, 4th Ed, 2005
2. B. A. Forouzan, Cryptography and Network Security, McGraw Hill, 2nd Ed, 2004.
Supplementary Reading:
1. J. Hershey, Cryptography Demystified, McGraw Hill, 2003
2. R E Smith, Internet Cryptography, Addison Wesley
3. J. Knudsen, Java Cryptography, O’Reilly, 1998.

CS 326 DATA COMMUNICATION AND COMPUTER NETWORK 3 credits [3-0-0]


Prerequisites: NIL
Data transmission fundamentals: time/frequency representation of data signals; elements of a communications
link; definition of key terms; Binary and multi-level signaling: information transfer rate; calculation of channel
capacity; bandwidth efficiency, Baseband data transmission: the problem of inter symbol interference; achieving a
Nyquist channel response; recovery of symbols from noise; bit error rate performance for baseband data systems,
Advantages of Computer networks, LAN vs. WAN, ISO/ISI seven-layer architecture, networks topologies. Physical
Layer: transmission media, analog transmission, digital transmission. Data Link Layer: Framing, Error detection and
correction, MAC Layer : Ethernet Network Layer : Routing Algorithms – Shortest path, distance vector, link state
routing, flooding, hierarchical routing, Internetworking – Tunneling, Encapsulation, Fragmentation, Virtual circuits,
datagrams, Internet Protocol (IP) – Header Structure, addresses, options, etc. Routing protocols (examples: RIP,
HELLO, OSPF, BGP). Classless Inter-Domain Routing, ICMP, ARP, RARP, BOOTP, DHCP. Transport Layer : Flow and
error control, multiplexing, establishing and releasing a connection. Transmission Control Protocol, User Datagram
Protocol, Domain Name Service.
Essential Reading:
1. B. A. Forouzan, Data Communication and Networking, Tata McGraw Hill, 4th Ed, 2007.
2. A. S. Tanenbaum, Computer Networks, Prentice Hall of India, 4th Ed, 2006.
Supplementary Reading:
1. F. Halsall, Data Communication, Computer Networks and Open Systems, 4th Ed, AddisonWelsey, 2003.
2. B. A. Forouzan, TCP/IP Protocol Suit, Tata McGraw Hill, 3rd Ed, 2006.

CS 327 RELATIONAL DATABASE MANAGEMENT SYSTEMS 3 credits [3-0-0]


Prerequisites: NIL
Introduction to Database Systems: Goals of Data Base Management Systems, Data Independence, Data Models, Brief
Review of file system, File systems vs. DBMS, Relational Languages, Structure of DBMS, Storage structures of files.
Database design: ER model, Relational model and relational algebra, Relational database design, Queries in a DBMS,
Basic queries in SQL, Database design issues, Functional dependencies, Normal forms. Introduction to Database
security; Introduction to Object Oriented database design.
Essential Reading:
1. J. D. Ullman, Principles of Data Base Systems, Galgotia Publisher, New Delhi, 2003.
NIT Rourkela

2. Silberschatz, H. F. Korth & A. Sudarshan, Database system Concepts, McGraw Hill, 5th Ed, 2006.
Supplementary Reading:
1. B. Desai, An Introduction to database system, Galgotia, 1997.
2. C. J. Date: An introduction to Data Base Systems, Addison Wesley, 1995.
3. R. Elmasri, S. Navathe, S. B. Navathe & R. Sunderraman, Fundamentals of Database Systems, Addison Wesley, 2nd Ed, 1994
4. Raghu Ram Krishnan, Database Management Systems, McGraw Hill, reprint 2007.

247
Department of Computer Science & Engineering Detail Syllabi

CS 331 Theory of Computation 4 credits [3-1-0]


Prerequisites: CS 211
Finite Automata and Regular Expressions: Deterministic and non-deterministic finite automata, regular expressions,
Two way finite automata, finite automata with output: Mealy and Moore machines; Properties of Regular Sets:
Pumping lemma, closure properties, decision algorithm, MyHill- Nerode theorem and minimization of finite automata;
Context-Free Grammars(CFG): CFGs, derivation trees, simplification, Chomsky normal forms, Greibach normal
forms; Pushdown Automata(PDA): Definitions, relationship between PDA and context free languages; Properties
of Context-Free Languages: Pumping lemma, closure properties, decision algorithm; Turing Machines: The turing
machine model, computable languages and functions, techniques for turing machine construction, modification
of turing machines, church’s hypothesis, Turing machines as enumerators; Undecidability: properties of recursive
and recursively enumerable languages, universal Turing machines, rice’s theorem, post correspondence problem,
greibach’s theorem, introduction to recursive function theory, oracle computation; Chomsky Hierarchy: regular
grammars, unrestricted grammars, context sensitive languages, relations between classes of languages.
Essential Reading:
1. Mishra & Chandrasekharan, Theory of computer science: Automata language andcomputation, Prentice Hall of India, 3rd Ed,
2007.
2. P. Linz, Introduction to Formal Language and Computation, Narosa, 2nd Ed, 2006.
Supplementary Reading:
1. Nasir & Sirmani, A Text Book on Automata Theory, Cambridge University Press, 2008.
2. H. R. Lewis & C. H. Papadimitriou, Elements of the Theory of Computation, Prentice Hall of India, 2nd Ed, 2006.

CS 332 ALGORITHM ANALYSIS and DESIGN 4 credits [3-1-0]


Prerequisites: CS102, MA 101, MA 102
Abstract data structure as an organization of data with specified properties and operations Time and space
analysis of algorithms Asymptotic Notation: Big Oh, Omega, Theta Notations, Average, best and worst case analysis
Simple recurrence relations and use in algorithm analysis Analysis of Algorithms: Loops, Recursive Calls (Selection
Sort, Insertion Sort, Euclid’s Algorithm, Hanoi Towers), Solving Recurrences.; Algorithmic strategies: Categorizing
algorithms by methodology, Brute-force/exhaustive search algorithms, Greedy Algorithms, Divide and Conquer
Strategy, Dynamic Programming, Backtracking algorithm and Branch-Bound Algorithm.; String Search problem: Naïve
algorithm, Rabin-Karp scheme, FSA-based algorithm Knuth-Morris-Pratt algorithm; Complexity theory: Decidability of
problems: Halting problem, NP-class of problems, P-class problems, NP=P question, Polynomial problem reduction,
Boolean satisfiability and Cook’s theorem, NP-hardness and NP-completeness, NP-completeness FAQ including how
to handle NP-hard problems, Examples of NP-completeness proofs: SAT to 3-SAT, 3-SAT to 3-D Matching, Reasoning
with Cardinal algebra, Other models of computation: Art. Neural Net, Quantum Computing, DNA computing. Concept
of lower bound theory & approximation algorithm.
Essential Reading:
1. E. Horowitz, S. Sahni and S. Rajasekaran, Fundamentals of Computer Algorithms, University Press, Indian reprint, 2009.
2. T. Cormen, C. Leiserson, and R. Rivest and C. Stain, Introduction to Algorithms Prentice Hall of India, 3rd Ed, 2006.
Supplementary Reading:
1. P. H. Dave and H. B. Dave, Design and Analysis of Algorithm, Pearson Ed 2008.
2. S. K. Basu, Design Methods and Analysis of Algorithms, Prentice Hall of India, 1st Ed, 2005.

CS 333 OPERATING SYSTEMS 3 credits [3-0-0]


NIT Rourkela

Prerequisites: NIL
Evolution of Operating Systems and Overview, Basic Concepts: Batch processing, Multiprogramming, Interrupts,
Hardware concepts, Different types of OS, Goals, OS Structure, System calls. Process Management: Process,
Concurrent Processes, Threads, Multithreading, Scheduling Algorithms, Inter-process Communication: Critical
Section problem, Synchronization Mechanisms: software and hardware, semaphores, monitors, message passing,
Classical IPC problems, Deadlocks: conditions, Deadlock Handling Strategies. Memory Management: Fixed & Variable,
Paging, Segmentation, Virtual Memory: Demand paging, page replacement algorithms, Trashing, Strategies to
control Trashing. File & Device Management: Files, Directory, File system Implementation, Example File systems,
I/O hardware, I/O buffering, RAID. Security & Protection: Breaches, Solutions, mechanisms, Inside Attacks, outside

248
Detail Syllabi Department of Computer Science & Engineering

attacks. Case study on UNIX.


Essential Reading:
1. J. L. Peterson & A. Silberschatz, Operating System Concepts, John Wiley & Sons, 7th Ed, 2008.
2. A. S. Tanenbum, Modern Operating Systems, Pearson, 3rd Ed, 2008.
Supplementary Reading:
1. Harris, Schaum’s Outline of Operating Systems, Tata McGraw Hill, 11th Reprint, 2006
2. Stallings, Operating Systems, Internals and Design Principles, 5th Ed, PHI, 4th print, 2008
3. M. J. Bach, the Design of the UNIX operating system, Prentice Hall, reprint 2006.

CS 334 Operating Systems DESIGN 3 credits [3-0-0]


Prerequisites: CS 171/CS 172
Evolution of Operating Systems and Overview, Basic Concepts: Batch processing, Multiprogramming, Interrupts,
Hardware concepts, Different types of OS, Goals, OS Structure, System calls. Process Management: Process,
Concurrent Processes, Threads, Multithreading, Scheduling Algorithms, Queuing Models (M/M/1, M/M/K),
Inter-process Communication: Critical Section problem, Synchronization Mechanisms: software and hardware,
semaphores, monitors, message passing, Classical IPC problems, Deadlocks: conditions, Deadlock Handling
Strategies. Memory Management: Fixed & Variable, Paging, Segmentation, Virtual Memory: Demand paging, page
replacement algorithms, Trashing, Strategies to control Trashing. File & Device Management: Files, Directory, File
system Implementation, Example File systems, I/O hardware, I/O buffering, RAID. Security & Protection: Breaches,
Solutions, mechanisms, Inside Attacks, outside attacks. Concepts of Advanced OS: Distributed, Real Time, Multimedia,
Multiprocessor, Network, Embedded, Database Operating Systems. Case studies – DOS, UNIX and Windows 2000.
Basic OS Design Principles: Goals, Interface Design, Performance Considerations, Trends in Design.
Essential Readings:
1. J. L. Peterson & A. Silberschatz, Operating System Concepts, John Wiley & Sons, 7th Ed, 2008.
2. A. S. Tanenbum, Modern Operating Systems, Pearson, 3rd Ed, 2008.
Supplementary Readings:
1. Harris, Schaum’s Outline of Operating Systems, Tata McGraw Hill, 11th Reprint, 2006.
2. Crowley, Operating system, a Design-Oriented Approach, Tata McGraw Hill, 2006.
3. M. J. Bach, The Design of the UNIX operating system, Prentice Hall, reprint 2006.
4. Stallings, Operating Systems, Internals and Design Principles, 5th Ed, PHI, 4th print, 2008.

CS 335 computer graphics and Multimedia 3 credits [3-0-0]


Prerequisites: MA 101, MA 102
Introduction to Computer Graphics: Use of computer graphics, Elements of picture creation; Graphics Hardware:
Display technologies, Graphics display devices, Graphics input primitives and devices; Two dimensional output
primitives: Different forms of line equations, Points, Lines, Line drawing algorithms, Circle generating algorithms,
Ellipse generating algorithm, Parallel algorithms, Filled area primitives; Two dimensional transformations: The
geometries of transformations, Linear transformations, Translation, Rotation in plane, Rotation in space, Reflection,
Homogeneous coordinates, Composite transformations; Polygons; Two dimensional viewing: Window to view port
transformations, Line clipping, Polygon clipping; Three dimensional concepts: Display methods, Transformation, three
dimensional viewing, Projections; Three dimensional shapes representations: Spline, Bezier curves and surfaces,
Octrees, BSP trees, Fractal geometry; Halfspaces; Visible surface detection; Solid modeling; Shading; Advanced
modeling techniques; Animation; Multimedia; Multimedia authoring tools; Graphics and image data representation;
NIT Rourkela
Color in Image & Video; Basics of Video and Audio; Compression; Content based retrieval.
Essential Reading:
1. D. Hearn and M. P. Baker, Computer Graphics, C Version, Pearson, 2nd Ed, 2003.
2. Ze-Nian Li, M. S. Drew, Fundamentals of Multimedia, Pearson, 1st Ed, 2004.
Supplementary Reading:
1. F. S. Hill, Computer Graphics using Open GL, Pearson, 2nd Ed, 2001.
2. R. Steinmetz, K. Nahrstedt, Multimedia Systems, Springer, 2004.
3. J. D. Foley, A. Van Dam, S. K. Feiner and J. F. Hughes, Computer Graphics - Principles and Practice, Second Edition in C, Addison
Wesley, 2nd Ed, 2003.
4. D. F. Rogers, J. A. Adams, Mathematical Elements for Computer Graphics, McGraw Hill, 2nd Ed, 2001

249
Department of Computer Science & Engineering Detail Syllabi

CS 336 dIGITAL SIGNAL PROCESSING 4 credits [3-1-0]


Prerequisites: CS 241, MA 101, MA 102
The DFT and Digital Convolution: The DFT and its relationship to other transforms, properties of the DFT, FFT, DIT
and DIF FFT algorithms, prime factor FFT algorithms, Analysis and Design of discrete-time systems in the frequency
domains, Frequency domain characteristics of LTI systems, LTI frequency selective filters, linear filtering method based
on DFT, the Goertzel algorithm and chirp Z-transform algorithm. Inverse systems and Deconvolutions, Realisation of
discrete systems: Design of digital filters, Quantization effects in Digital Signal Process, Power Spectrum
Estimation, Adaptive Filters.
Essential Reading:
1. J. G. Proakis and D. G. Manolkis, Digital Signal Processing: Principles, Algorithms and Applications, Prentice Hall of India, 3rd
Ed, 1996, reprint 2005.
Supplementary Reading:
1. V. Oppenheim & R. W. Schafer, Digital Signal Processing, Prentice Hall of India, 8th Ed, 2002.
2. S. W. Smith, Digital Signal Processing: A Practical Guide for Engineers and Scientists, Newness – Elsevier Science, 1sted, 2002.

CS 338 SystemS SOFTWARE 4 credits [3-1-0]


Prerequisites: CS 341, CS 334
System Software and Machine Architecture, IBM 360 Instruction Set Architecture and Assembly language programs,
The simplified Instructional Computer, traditional (CISC) Machine, RISC Machines; Language Processing; Assemblers,
Cross assemblers, Macro processor, Single pass and multi pass, Linkers, Loaders, Relocating loaders and direct linking
loaders, Compilers and Interpreters, Cross compilers, Lexical analyzer, Syntax analyzer, Intermediate and Machine code
generation, Implementation Examples; Formal grammars and languages, Software Toolsfor program Development,
Editors, Debug Monitors, Programming Environments, user Interface. Introduction to Operating Systems.
Essential Reading:
1. B. B. Brey, The Microprocessor 8086/8088, 80186/188, 80286, 80386, 80486 and Pentium and Pentium Pro Processors,
Pentium 2, Pentium 3 and Pentium 4: Architecture, Programming and Interface, Prentice Hall of India, 7th Ed, 2007.
2. M. A. Mazidi, JG Mazidi and RD Mckinlay, The 8051 Microcontroller and Embedded System, Prentice Hall of India, 2nd Ed, 2006.
Supplementary Reading:
1. Liu & Gibson, Microcomputer System – The 8086/8088 Family Architecture, Programming and Design, Prentice Hall of India,
2nd Ed, 2006

CS 341 MICROPROCESSORS AND MICROCONTROLLERS 4 credits [3-1-0]


Prerequisites: CS 243
Architecture of the 8086/8088 microprocessor, Internal operations, Maximum mode, Minimum mode of operation,
Addressing modes, Instruction Format, Instruction execution timing, 8088 vs 8086; Assembly Language Programming:
Data Transfer instruction, Arithmetic and Logical instructions, String Manipulation instructions etc needed for ALP,
Modular programming: Simple assembler directives and operators, Linking and relocation, Stack, Procedures, Interrupt,
Macro, Programming examples. Byte and string manipulation, I/O programming. 8087 Numeric data processor and its
use in the 8086/8088 system, 8089 I/O processor (IOP), Architecture, Communication between CPU & IOP. Arithmetic
Coprocessor, MMX and SIMD Technology; Bus interface, The 80386/80486/Pentium/Pentium II/Pentium III/Pentium
IV Microprocessors; 8051 Microcontroller: Architecture, Instruction, Programming and Interfacing.
Essential Reading:
NIT Rourkela

1. B. B. Brey, The Intel Microprocessors 8086/8088, 80186/188, 80286, 80386, 80486 and Pentium and Pentium Pro Processors,
Pentium 2,, Pentium 3 and Pentium 4: Architecture, Programmingand Interface, Prentice Hall of India, 7thed, 2007.
2. M. A. Mazidi, J. G. Mazidi and R. D. McKinlay, The 8051 Microcontroller and Embedded Systems, Prentice Hall of India, 2nd Ed,
2006
Supplementary Reading:
1. Liu & Gibson, Microcomputer Systems - The 8086/8088 Family Architecture, Programming and Design, Prentice Hall of India,
2nd Ed, 2006.
2. D. V. Hall, Microprocessor and Interfacing, Tata McGraw Hill, 2nd Ed, 2006.

250
Detail Syllabi Department of Computer Science & Engineering

CS 343 DIGITAL LOGIC DESIGN 3 credits [3-0-0]


Prerequisites: NIL
History and overview, logic circuits, switching, memory, registers, digital systems, Boolean logic, sequential logic, gates,
circuits, combinational circuits, Switching theory, number systems, binary arithmetic, switching algebra, minimization
of switching functions, design of medium scale combinational logic module, multiplexers, demultiplexers, encoders,
decoders, comparators, multipliers, dividers, ALUs, Hierarchical design, Memory elements: clocked and unclocked
memory devices, master-slave devices, basic flip flops, timing constraints and propagation delays, data registers, RAM,
Sequential logic : FSM, Mealy and Moore models, Synchronous sequential circuits, functional units, Digital System
Design: Hierarchical, Modular, synthesis, design principles and techniques, functional units, controlling concepts,
timing concepts, PLDs, FPGA, PLA, ROM, PAL, PLD. Modeling and simulation: schematic capture, schematic modeling,
hardware description languages (VHDL, verilog), Functional simulation, simulation test bench design.
Essential Reading:
1. S. Brown and Z. Vranesic, Fundamentals of Digital Logic with VHDL Design, Tata McGraw Hill, 2005
2. A. B. Marcovitz, Introduction to Logic Design, Tata McGraw Hill, 2nd Ed, 2005.
Supplementary Reading:
1. R. P. Jain, Modern Digital Electronics, Tata McGraw Hill, 3rded, 2003.
2. S. C. Lee, Digital Circuits & Logic Design, Prentice Hall of India, 2001.

CS 371 DATA COMMUNICATION LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Study of serial and parallel communication; Study of modem communication; Study of wireless communication;
Principles of time division multiplexing; Voice communication; Principles of pulse code modulation techniques; Bit
synchronization and frame synchronization; Principles of data reconditioning; Amplitude shift keying modulation and
demodulation techniques; Delta modulation and demodulation.

CS 372 SYSTEMS ANALYSIS AND DESIGN LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
For Questions 1 – 10, do the followings:
Prepare the SRS document. You have to identify the appropriate requirements for each problem.; Draw the Context
flow diagrams, level 1 and level 2 DFDs, using any CASE tool.
Draw the Structure charts, using any CASE tool.; Develop the corresponding software using C with a user friendly GUI
and appropriate Database.; Develop a Library Information System for a technological University.; Develop a software
for student registration in a technological University.; Develop a software for hall management of your Institute.;
Develop a software for the Guesthouse automation of your Institute.; Develop a software for automating various
bookkeeping activities of the student’s cooperative store of your Institute.; Develop the Student’s Academic Record
Management Software of your Institute.; Develop a word processing software with some limited number of facilities
such as making bold, italics, underline, cut, copy and paste etc.; Develop a graphics editor software package, using
which one can create / modify several common types of graphics entities.; Develop a software for automating the
various activities associated with developing a CASE tool for structured software analysis.; Develop software for
automating various activities of the department offices of your Institute.

CS 373 MICROPROCESSOR LABORATORY 2 credits [0-0-3]


NIT Rourkela

Prerequisites: NIL
Design of a variable time delay counter (mod 8).; Measuring pulse width of a square wave.; Interfacing a stepper
motor.; Interfacing a matrix keyboard (4×4).; Interfacing traffic light controller.; Implementing ADC.; Generating
triangular saw tooth and square wave.; Communication between microprocessors using 8255PPI chip.; Generate
various waveforms using DAC; Interfacing CRT to microprocessor.; Programming using 8086 kit.

251
Department of Computer Science & Engineering Detail Syllabi

CS 374 OPERATING SYSTEMS LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Process related assignments: A parent process creates a child process that prints its PID.; The child creates a
grandchild and sleeps 120 seconds.; The grandchild immediately exists.; The parent sleeps for 60 seconds and then
kills all the processes.; message passing between child process and parent process using message queue; message
passing through pipes and shared memory; Simulation of CPU Scheduling Algorithms. (FCFS, RR, SJF, SPN, SRTF, HRRN,
Priority, Multilevel Queuing); Simulation of Dekker’s, Petersons, Bakery Algorithms; Program to test the creation
of 15-message queue starting at id-number 0-14.; Program to solve classical DINNING PHILOSPHER PROBLEM;
Simulation of Banker’s Algorithm for Deadlock Avoidance, Prevention; Simulation MVT and MFT with best fit, first fit,
next fit and worst fit algorithms.; Program for FIFO, LRU, and OPTIMAL page replacement algorithm?; Simulate the
following file organization techniques; (a) Single Level Directory; (b) Two Level Directory; (c) Hierarchical (d) DAG;
Basic Shell Script problems provided by Instructor on various shells of Unix

CS 375 COMPUTER GRAPHICS LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Basic shapes rasterisation.; Scan conversion of polygons; Polygon, Pattern filling; Understanding 2D transformation;
Realizing various Projections; Representing curves and surfaces; Realizing parametric cubic curves and bicubic
surfaces; Visible Surfaces Determination; Realizaition of illumination and shading; Basics of OpenGL
Thematically oriented project for the whole duration of the course for individual students or group of students

CS 376 DIGITAL SIGNAL PROCESSING LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Representation of digital signal; Waveform generation; Convolution and Deconvolution; Correlation, Cross Correlation;
Signal Transformation; Filter Design; Filter requirements and specification; Zero-Pole Analysis; Spectral Analysis; Case
studies in DSP

CS 377 COMPUTATIONAL STATISTICS LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Data Structure: Vector and matrix data manipulation. Data input/output. Data format. Statistical graphics: scatter
plots, histograms, quantile-quantile (QQ) plot. visualizing bivariate data.; Random numbers: probability integral
transform, how to generate random variables, vectors, matrices and stochastic processes.; Matrix algebra: Singular
value decomposition, Cholesky factorization, Generalized inverse (Psudo inverse). least-squares estimation.; Monte-
Carlo methods: Monte-Carlo integral, importance sampling, Monte-Carlo inference.; Markov Chains: random
walks, transition probability. Chapman-Kolmogorov equation. invariant distributions.; Markov chain montecarlo
(MCMC): Metropolis-Hastings algorithms. Gibbs sampler. Bayesian inference. Bayes estimates.; Bootstrap methods:
Bootstraping techniques are introduced for estimation and inference problems.
Essential Reading:
1. Wendy L. Martinez and Angel R. Martinez, Computational Statistics Handbook with MATLAB Chapman & Hall/CRC, 2002

CS 378 SYSTEMS PROGRAMMING LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
NIT Rourkela

Review of Instruction Set Architecture (8085, 8051 & IBM 360); Fixed Point Arithmatic, Text Processing, Keyboard
and Screen Processing, Disk processing, Copy-Protection Schemes, Implementation of a simple editor, adding syntax
directed facilities to an editor; Implementation of Assembler; Single Pass; Two-pass; Multi-pass; implementation of
Macro Processor; Single Pass; Integration with Assembler; Implementation of Loaders and Linkers; Implementation of
Compiler; Lexical analyzer (Lex); Parser (Yacc); Intermediate code generation; Machine Code Generation

CS 379 NETWORK DESIGN AND SIMULATION LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Installation and configuration of NS2; Creating a network: nodes, links and queues; Creating connections, traffic

252
Detail Syllabi Department of Computer Science & Engineering

and computing routers; Insertion of errors and analysis of trace file; Simple project on NS2 – wired, wireless and
combination of wired and wireless; Implementation of new protocols in NS2.

CS 382 SYSTEM PROGRAMMING LABORATORY 2 credits [0-0-3]


Review of Instruction Set Architecture (8085, 8051 & IBM 360); Fixed Point Arithmetic, Text Processing, Keyboard
and Screen Processing, Disk processing, Copy-Protection Schemes, Implementation of a simple editor, adding syntax
directed facilities to an editor; Implementation of Assembler: SinglePass; Two-pass; Multi-pass; Implementation of
Macro Processor; SinglePass; Integration with Assembler; Implementation of Loaders and Linkers; Implementation of
Compiler; Lexical analyzer (Lex); Parser (Yacc); Intermediate code generation; Machine Code Generation

CS 384 ALGORITHM ANALYSIS AND DESIGN LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Programming that uses recurrence relations to analyze recursive algorithms. Computing best, average, and worst case
time complexity of various sorting techniques. Solving an optimization problem (TSP or 0-1 knap sack, or n-queen
problem etc. ) using different algorithmic strategies: Brute-force algorithms, Greedy algorithms, Divide-and-conquer,
Backtracking, Branch-and-bound, Heuristics, Randomized algorithms, Dynamic programming. Performance analysis of
different internal and external sorting algorithms with different type of data set. Use of divide and conquer technique
to solve some problem that uses two different algorithm for solving small problem. Implementation of different
basic computing algorithms like Hash tables, including collision-avoidance strategies, Search trees (AVL and B-trees),
Representations of graphs (adjacency list, adjacency matrix), Depth- and breadth-first traversals, Shortest-path
algorithms (Dijkstra’s and Floyd’s algorithms), Transitive closure (Floyd’s algorithm), Minimum spanning tree (Prim’s,
Solin’s and Kruskal’s algorithms), Topological sort, Pattern matching and string/text algorithms. Performance analysis
of algorithms related to network Flow and matching problems Verification of lower bound of an algorithm, analyzing
the performance of randomized algorithms for a specific problem; The laboratory work involves implementing various
types of algorithms in C++, C (through the creation of header file) and Perl programming.

CS 412 SOFTWARE ENGINEERING 4 credits [3-1-0]


Prerequisites: CS312
Managing software projects Project management concepts, Software process and Project metrics, Software Project
Planning, Risk Analysis and Management, Project scheduling and tracking, Software Quality Assurance, Software
Configuration Management. Conventional methods for software engineering System Engineering, Analysis concepts
and principles, Analysis Modeling, Design Concepts and principles, Architectural design, User Interface Design,
Component level Design, Software Testing Techniques, Software testing Strategies, Technical metrics for software.
Object oriented software engineering Object Oriented Concepts and principles, Object oriented analysis, object
oriented Design, Object oriented testing, Technical metrics for object-oriented Systems.
Essential Reading:
1. R. S. Pressman, Software Engineering A Practitioner’s Approach, Tata McGraw Hill, 6th Ed, 2005.
2. I. Sommerville, Software Engineering, Pearson, 7th Ed, 2005.
Supplementary Reading:
1. P. Jalote, An Integrated Approach to Software Engineering, Narosa, 2nd Ed, 1999.
2. A. Behferooz & F. J. Hudson, Software Engineering Fundamentals, Oxford Univ. Press, 1996.
3. R. Mall, Fundamentals of Software Engineering, Prentice Hall of India, 2nd Ed, 2006.

CS 413 ADVANCED PROGRAMMING SKILLS 4 credits [3-1-0]


NIT Rourkela

Prerequisites: NIL
Different programming paradigms, Introduction to Java, Data types, Variables, Arrays, Operators, Control statements,
Classes, Constructors, Destructors, Garbage collection, Overloading methods, Overloading Constructors, Argument
passing, Returning objects, Recursion, Inheritance, Method overriding, Dynamic method dispatch, Abstract classes,
Packages, Importing packages, Interfaces, Nested interfaces, Applying interfaces, Handling Exceptions, Java built-
in exceptions, Introduction to multi-threaded programming, The java thread model, Synchronization, Messaging,
The thread class and runnable interface, Creating a thread, Creating multiple threads, Enumertions, I/O basics,
Applets, The HTML applets tag, Java library, Handling events, Introduction to AWT, The concurrency utilities, Java
beans, Introduction to swings, Servelets. Introduction to C#, Basic concepts of . NET: the C# environment, Literals,

253
Department of Computer Science & Engineering Detail Syllabi

Variables and data types, Operators and expressions, Control statements, Methods in C#, Arrays, Strings, Structures
and Enumertions, Classes and objects, Inheritance and polymorphism, Interfaces, Operator overloading, I/O basics,
Handling Exceptions, multi-threading in C#, Windows and web based application development on . NET, Recent
trends in programming methodologies.
Essential Reading:
1. H. Schildt, The Complete Reference Java, Tata Mc-Graw Hill, 7th Ed, 2006.
2. E. Balagurusamy, Programming in C#: A Primer, Mc-Graw Hill, 2nd Ed, 2008.
Supplementary Reading:
1. E. Balagurusamy, Programming in JAVA, Mc-Graw Hill, 3rd Ed, 2007.
2. J. M. Slack, Programming and Problem Solving with JAVA, Thomson/Brooks Core Publishing Company, 1st Indian Reprint, 2007.

CS 414 SOFTWARE PROJECT, PROCESS AND QUALITY MANAGEMENT 4 credits [3-1-0]


Prerequisites: CS 312, CS 412
Introduction to S/W project management, S/W project management competencies, responsibilities of a software
project manager, Software process, S/W process models, project planning, organization of project team, S/W size
estimation, estimation of effort & duration, Halstead’s software Science, models, dependency & scheduling, staffing,
Organizing a software engineering project, S/W configuration management, monitoring & controlling S/W projects,
developing requirements, risk management, project tracking & control, communication & negotiating, S/W quality,
S/W quality engineering, defining quality requirements, quality standards, practices & conventions, ISO 9000, ISO
9001, S/W quality matrices, managerial and organization issues, defect prevention, reviews & audits, SEI capability
maturity model, PSP, six sigma
Essential Reading:
1. B. Hughes, M. Cotterell, Software Project Management, McGraw Hill, 4th Ed, 2005.
2. R. Walker, Software Project Management, Pearson, 2003.
Supplementary Reading:
1. R. H. Thayer, Software Engineering Project management, IEEE CS Press, 2nd Ed, 1988.
2. R. Pressman, Software Engineering A Practitioner’s approach, McGraw Hill, 4th Ed, 2005.

CS 416 bioinformatics 4 credits [3-1-0]


Pre-requisite: CS 332, CS 425
Genetics
Cell and Molecular Biology
Biochemistry
Introduction; Databases - mapping, sequence, structure, non-redundant; Sequence alignment - pair wise and
multiple; phylogenetics; Structure prediction methods - homology, threading, abinitio; Sequence analysis - class and
secondary structure prediction; motifs - PROSITE; detecting functional sites in DNA; OR Finder; Computer science
perspective - pattern recognition, hidden Markov models; Data Miming Using Soft computing Techniques.
Essential Reading:
1. A. D. Baxevanis & B. F. F. Ouellette, Bioinformatics, Wiley Interscience, 1998.
2. A. M. Lesk, Introduction to bioinformatics, OXFORD University Press, 1st Ed, 2003.
Supplementary Reading:
NIT Rourkela

1. S. L. Salzberg, D. B. Searls and S. Kasifeds, Computational methods in molecular biology, Elsevier, 1998.
2. R. F. Doolittle, Computer methods for macromolecular sequence analysis, Academic Press, 1996.
3. M. Bishop, Guide to human genome computing, Academic Press.

CS 417 GRAPH THEORY AND NETWORK ALGORITHMS 3 credits [3-0-0]


Prerequisite : CS326
Introduction: Graphs, Isomorphism, Walks, Paths, Circuits, Trees, Properties of Trees, Cotrees and Fundamental
Circuits, Cut Sets, Fundamental Cut Sets and Cut Vertices, Planar and Dual Graphs, Metric Representation of
Graphs, Coloring and covering and partitioning of a graph, chromatic number, chromatic partitioning, chromatic

254
Detail Syllabi Department of Computer Science & Engineering

polynomials, matching, covering, four color problem, Directed graphs, some type of directed graphs, Directed paths,
and connectedness, Euler digraphs, trees with directed edges, fundamental circuits in digraph, matrices A, B and C
of digraphs adjacency matrix of a digraph,, enumeration, types of enumeration, counting of labeled and unlabeled
trees, polya’s  theorem, graph enumeration with polya’s theorem.
Graph Algorithms: Elementary Graph Algorithms, Representations of graphs, Breadth-first search, Depth-first search,
Topological sort, strongly connected components
Minimum Spanning Trees: Growing a minimum spanning tree, The algorithms of Kruskal and Prim, Single-Source
Shortest Paths: Shortest paths and relaxation, Dijkstra’s algorithm, The Bellman-Ford algorithm, Single-source
shortest paths in directed acyclic graphs, Difference constraints and shortest paths, All-Pairs Shortest Paths: Shortest
paths and matrix multiplication, The Floyd-Warshall algorithm, Johnson’s algorithm for sparse graphs, and A general
framework for solving path problems in directed graphs; Maximum Flow: Flow networks, The Ford-Fulkerson method,
Maximum bipartite matching, Preflow-push algorithms, The lift-to-front algorithm
Essential Reading:
1. Thomas H. Cormen, Charles E. Leiserson and Ronald L. Rivest, Introduction to Algorithms, Prentice Hall of India, 3rded, 2006.
2. N. Deo, Graph Theory with Applications to Engineering and Computer Science, Prentice Hall of India, 2004.
Supplementary Reading:
1. Douglas B. West, Introduction to Graph Theory, 2nded, Prentice Hall of India, 2007.
2. R. Diestel, Advanced Graph Theory, Springer Verlag Heidelberg, New York, 2005
3. M. T. Goodrich and R. Tamassia, Algorithm Design: Foundations, Analysis, and Internet Examples, Wiley, 1sted, 2001.

CS 418 REAL TIME SYSTEMS 4 credits [3-1-0]


Prerequisites: CS334, CS341
Introduction to Real-Time systems, applications of Real-Time systems, basic model of Real-Time systems, characteristics
of Real-Time systems, types of Real-Time systems: hard, firm, soft, timing constraints, modeling timing constraints,
Real-Time task scheduling: basic concepts, clock driven scheduling, table driven scheduling, cyclic, schedulers,
hybrid schedulers, event driven scheduling, EDF Scheduling, RMA, DMA, resource sharing among RT tasks, Priority
inversion, Priority Inheritance Protocol, Highest Locker Protocol, Priority Ceiling Protocol, Scheduling Real-Time tasks
in multiprocessor and distributed systems, Fault-tolerant scheduling of tasks, clocks in distributed Real-Time systems,
Commercial Real-Time Operating Systems, timers, UNIX and Windows as RT OS, POSIX, PSOS, VRTX, QNX, RT Linux,
Lynx, other RT OS, benchmarking RT OS, RT communications, QoSframework, models, Real-Time Communication in a
LAN, IEEE 802. 4, RETHER, Communication over Packet Switched Networks, Routing algorithms, RSVP, rate control, RT
databases, Applications, characteristics of temporal data, Concurrency control, Commercial RT databases.
Essential Reading:
1. P. A. Laplante, Real-Time Systems Design & Analysis, Willey, 3rd Ed, 2004.
2. R. Mall, Real-Time Systems, Pearson, 2007.
Supplementary Reading:
1. C. M. Krishna and K. G. Shin, Real-Time Systems, McGraw Hill, reprinted 2004.
2. J. W. S. Liu, Real-time Systems, Pearson Education, 6th impression, 2008.

CS 421 ComPuter NETWORKs 3 credits [3-0-0]


Prerequisites: CS 326
Network fundamentals: protocols and standards; reference models; the significance of layered network architectures; NIT Rourkela
connections and connectionless protocols, Physical links and interfaces: modems and modem standards; LAN
characteristics and concepts; interconnection of LANs; WAN characteristics and concepts, Link layer aspects,
synchronous and asynchronous transmission; Framing, Error detection and correction, Sliding window protocols;
MAC Layer; network layer aspects, addressing, connection vs connectionless, Routing Algorithms, internetworking;
transport layer aspects, reliable transport connections, Internet Protocol (IP); naming and addressing; routing; the
Transmission Control Protocol (TCP); application and management protocols, Exploring Internet services: the dial-in
end-user; the direct connection user; the Internet Service Provider; the global Internet, Emerging technologies over
the Internet, such as IPv6 and ATM for a multimedia network; Internet Telephone;
Essential Reading:
1. L. L. Peterson and B. S. Davie, Computer Networks – A System Approach, Elsevier, 4th Edition, Reprint 2009.

255
Department of Computer Science & Engineering Detail Syllabi

2. A. S. Tanenbaum, Computer Networks, Pearson, 4th Ed, 2008.


Supplementary Reading:
1. B. A. Forouzan, TCP/IP protocol suite, Tata McGraw Hill, Reprint 2008
2. F. Halsall, Data Communication, Computer Networks and Open Systems, Addison Welsey, 4th Ed, 2003.

CS 423 Ad-hoc and WIRELESS NETWORKS 4 credits [3-1-0]


Prerequisites: CS 421
Ad Hoc Wireless Networks: Issues in Ad Hoc Wireless Networks, Ad Hoc Wireless Internet; MAC Protocols for Ad
Hoc Wireless Networks: Issues in Designing a MAC Protocol for Ad Hoc Wireless Networks, Classifications of MAC
Protocols; Routing Protocols for Ad Hoc Wireless Networks: Issues in Designing a Routing Protocol for Ad Hoc
Wireless Networks, Classifications of Routing Protocols, Power-Aware Routing Protocols; Multi-cast routing in Ad Hoc
Wireless Networks: Issues in Designing a Multicast Routing Protocol, Classifications of Multicast Routing Protocols,
Energy-Efficient Multicasting, Multicasting with Quality of Service Guarantees, Application-Dependent Multicast
Routing; Security Protocols for Ad Hoc Wireless Networks: Security in Ad Hoc Wireless Networks. Network Security
Requirements. Issues and Challenges in Security Provisioning. Network Security Attacks. Key Management. Secure
Routing in Ad Hoc Wireless Networks; Energy Management in Ad Hoc Wireless Networks: Classification of Energy
Management Schemes, Transmission Power Management Schemes, System Power Management Schemes.
Essential Reading:
1. C. S. Ram Murthy, B. S. Manoj, Ad Hoc Wireless Networks: Architectures and Protocols, Prentice Hall of India, 2nd Ed. 2005.
2. RaminHekmat, Ad-hoc Networks: Fundamental Properties and Network Topologies, Springer, 1st Ed. 2006.
Supplementary Reading:
1. B. Tavli and W. Heinzelman, Mobile Ad Hoc Networks: Energy-Efficient Real-Time Data Communications, Springer, 1st Ed. 2006.
2. G Anastasi, E Ancillotti, R Bernasconi, and E S Biagioni, Multi-Hop Ad Hoc Newtorks from Theory to Reality, Nova Science
Publishers, 2008

CS 425 DATA MINING AND DATA WAREHOUSING 4 credits [3-1-0]


Prerequisites: CS 222, MA 201
Introduction to Data mining: Motivation for Data Mining, its importance, Role Data in Data Mining, Data Mining
functionalities, patterns in data mining, Type of patterns, Classification of Data Mining Systems, Major issues in Data
Mining; Data Warehousing and OLTP technology for Data Mining, Data Mining Languages, and System Architectures,
Concept Description: Characterization and Comparison, Mining Association Rules in Large Databases, Classification
and Prediction, Cluster Analysis, Mining Complex Data, Applications and Trends in Data Mining Characteristics of data
warehouse, Data Mart, Online Analytical Processing, OLAP tools, Data warehouse Architecture, Organizational Issuer,
Tools for Data warehousing, Performance consideration, case studies.
Essential Reading:
1. J. Han & M. Kamber, Data Mining: Concepts and Techniques, Morgan Kaufmann, 2nd Ed, 2006.
2. M. J. A. Berry and G. Linoff, Mastering Data Mining: The Art and Science of Customer Relationship Management, Wiley
Computer Publishing, 2000.
Supplementary Reading:
1. P. Adriaans & D. Zantinge, Data Mining, Addison Wesley, 1996.
2. R. Mattison, Data Warehousing: Strategies, Tools and Techniques, McGraw Hill, 1996.
3. P. Ponniah, Data Warehousing Fundamentals: A Comprehensive Guide for IT Professionals, Wiley, 2001.
NIT Rourkela

CS 427 NETWORK SECURITY 4 credits [3-1-0]


Prerequisites: CS 325
Key exchange protocols. Diffie-hellman and its variants, Man in the middle attack. PKI and certificate based key
exchange. Key management. Protocol weakness in TCP/IP and other protocols. Various types of attacks. Security
protocol at application level: PGP, SHTTP, SSH etc. Security protocol at socket level: SS/TSL. Security protocol at
network level: IPSec. Security protocol for remote connections through dial-up etc: PPTP, L2TP. Firewall and packet
filtering. Proxy or application level gateways as security devices. Virtual private networks, Intrusion detection system.
Privacy protection and anonymity services. Electronic payment system.

256
Detail Syllabi Department of Computer Science & Engineering

Essential Reading:
1. W. Stalling, Cryptography and Network Security: Principles and Practices, 4th Ed, PHI, 2007.
2. B. A. Forouzan, Cryptography and Network Security, McGraw Hill, 1st Ed.
Supplementary Reading:
1. J. M. Kizza, Computer Network Security, Springer, 2005.
2. Peterson and Davie, Computer Networks A System Approach, Elsevier, 3rd Ed.

CS 430 INFORMATION THEORY AND CODING 4 credits [3-1-0]


Prerequisites: MA 201
Introduction to information Theory, Information and entropy, properties of entropy of a binary memory less source,
Measure of Information, Source Coding, Shannon-Fano coding, Huffman coding, Arithmetic Coding, Predictive
Coding, Lempel Zivcoding, channel coding, Channel capacity, noisy channel coding theorem for DMC. Linear block
codes, generator matrices, parity check matrices, encoder syndrome and error detection-minimum distance, error
correction and error detection capabilities, cyclic codes, coding and decoding. Coding convolutional codes, encoder,
generator matrix, transform domain representation state diagram, distance properties, maximum likelihood decoding,
Viterbi decoding, sequential decoding, interleaved convolutional codes.
Essential Reading:
1. R. Bose, Information Theory Coding and Cryptography, Tata McGraw Hill, 2008.
2. Khalid Sayood, Introduction to Data Compression, Elseiver, 2004.
Supplementary Reading:
1. S. Roman, Coding and Information Theory, Springer, 1992.
2. R. J. McEliece, The Theory of Information and Coding, Cambridge Uinv Press, 2004.
3. T. M. Cover, J. A. Thomas, Elements of Information Theory, Wiley, 2008
4. F. J. MacWilliams, N. J. A. Sloane, The Theory of Error Correcting Codes, Elseiver, 1988.

CS 431 COMPILER DESIGN 3 credits [3-0-0]


Prerequisites: CS 331 & CS 338
Introduction: Introduction and overview of the compilation process, Model of a compiler, translators, interpreters,
assemblers, languages, Types of compilers, assemblers, interpreters and compilers. Compilation of simple expressions
and statements, Organization of a compiler, compiler design tools, bootstrapping, compiler, Computer architecture
vs. compiler design; Context-Free Grammar and Syntax Analysis: Syntax analysis, Parsing: Top-Down and Bottom
Up parsing, general parsing strategies. Brute-force approach, recursive descent parser and algorithms, simple LL(1)
grammar, LL(1) with null and without null rules grammars, Bottom-up parsing- Handle of a right sentential form,
Shift-reduce parsers, operator precedence parsing, LR, SLR, canonical LR and LALR grammar and parsers; Symbol-
Table contents, organization and Management; Syntax –Directed Definitions and Translations: syntax-directed
translation schemes, intermediates code generation, translation schemes for programming language constructs;
Code Optimization, Code Generation, Error Handling.
Essential Reading:
1. A. V. Aho, Ravi Sethi & Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, Pearson Education, 1st Ed, 2008.
2. K. C. Louden, Compiler Construction Principles and Practice, Thomson Learning Inc. 1st Ed, 2007.
Supplementary Reading:
1. A. W. Apple, Modern compiler implementation in C, Cambridge University Press, 1st Ed, 2003. NIT Rourkela
2. W. A. Barrett, John D. Couch, C. Couch, Compiler Construction: Theory and Practice, Science Research Associates, 1979.
3. K. C. Louden, Compiler Construction: Principle and practice, Galgotia, 1997.

CS 432 DISTRIBUTED OPERATING SYSTEMS 4 credits [3-1-0]


Prerequisites: CS334, CS421
Introduction to parallel Computing, Solving problems in parallel, Structures of parallel computers, Instruction level
parallel processing, Parallel Algorithms, Parallel programming, Operating Systems for parallel computers, Performance
Evaluation of parallel computers; Characterization of distributed systems, Design goals, Communication and computer
networks, Distributed processing, Distributed operating systems, Client Server Communications, Remote Procedure
calls, File Service, Name Service, Distributed transactions and concurrency control, fault tolerance and security.

257
Department of Computer Science & Engineering Detail Syllabi

Synchronization & Coordination, Distributed Algorithms, research issues.


Essential Reading:
1. G. Coulororis, J. Dollimore & T. Kindberg, Distributed Systems: Concepts and Design, Addison-Wesley, 3rd Ed, 2001.
2. M. Singhal & N. G. Shivaratri, Advanced Concepts in Operating Systems, McGraw Hill, 1994.
Supplementary Reading:
1. P. K. Sinha, Distributed Operating Systems, IEEE Press, 1997.
2. H. F. Jordan, Fundamentals of Parallel Processing, Pearson, 2004
3. C. Hughes & T, Hughes, Parallel and Distributed Programming Using C++, Pearson, 1st Ed, 2004.
4. W. Buchanan, Distributed Systems and Networks, Tata McGraw Hill, 2004.
5. P. S. Pacheco, Parallel Programming with MPI, Morgan Kaufmann, 1997.

CS 433 ALGORITHM DESIGN 3 credits [3-0-0]


Prerequisites: NIL
History and overview: Identifying some contribution to algorithms and relate their achievements to the knowledge
area. Associate some of the themes involved with algorithms, Name some applications where algorithms are
important, Describe how computer engineering users or benefits from algorithm; Basic algorithm analysis: Asymptotic
analysis of upper bound and average complexity bounds, Identifying difference among average, best and worst case
behaviors, Big ‘O’, little ‘o’ omega, and theta notation, Empirical measurement of performance, Time and space
tradeoffs in algorithms, Using recurrence relations to analyze recursive algorithm. Problem, problem representation,
solution space, solution through best algorithm, methods of algorithm design and analysis. The relationship
of algorithms to data structures; Algorithmic strategies: Categorizing algorithms by methodology, Brute-force/
exhaustive search algorithms, Greedy Algorithms, Divide and Conquer Strategy, Dynamic Programming, Backtracking
algorithm and Branch-Bound Algorithm; Computing Algorithms: Simple numerical algorithms, sequential and binary
search algorithms, sorting algorithms, Hash Table, including collision avoidance strategies, Binary search Trees,
Representation of Graphs, Depth and Breadth first traversal, shortest path algorithms( Dijkstra and Floyd’s algorithm)
Transitive closure (Floyd’s algorithm), Minimum spanning tree(Prim’s and Kruskal algorithm); Algorithmic complexity:
Tractable and intractable problems, definition of the class P and NP, NP completeness (Cook’s theorem), Standard
Np-complete problems, Uncomputable functions, The halting problem, Implications of Uncomputability, Coping with
intractability.
Essential Reading:
1. E. Horowitz, S. Sahni and S. Rajasekaran, Fundamentals of Computer Algorithms, University Press, Indian reprint, 2008.
2. T. Cormen, C. Leiserson, and R. Rivest and C. Stain, Introduction to Algorithms Prentice Hall of India, 3rd Ed, 2006.
Supplementary Reading:
1. M. Weiss, Data Structures and Algorithm Analysis in C++, Pearson, 4th Ed, 2008.
2. S. K. Basu, Design methods and Analysis of Algorithms, Prentice Hall of India, 1st Ed, 2005.

CS 434 IMAGE PROCESSING 3 credits [3-0-0]


Prerequisites: NIL
Two-Dimensional Systems & Mathematical Preliminaries: Linear Systems and Shift Invariance; the Fourier Transform;
Optical and Modulation Transfer Functions; Matrix Theory Results; Block Matrices and Kronecker Products;
Random Signals; Discrete Random Fields; the Spectral Density Function; Some results from information theory.
Image Perception, Image Sampling and Quantization, Image Transforms, Image Enhancement, Image Filtering and
Restoration, Image Analysis and Computer Vision Spatial Feature Extraction; Transform Features; Edge Detection;
NIT Rourkela

Boundary extraction; Boundary, Region, Moment Representation; Structure; Shape Features; Texture; Scene Matching
and Detection; Image Segmentation; Classification Techniques; Image Understanding. Image Reconstruction from
Projections, Image Data Compression
Essential Reading:
1. R. C. Gonzalez & R. E. Woods, Digital Image Processing, Prentice Hall, 3rd Ed, 2008.
2. A. K. Jain, Fundamentals of Digital Image Processing, Prentice Hall of India, 1st Ed, 1989.
Supplementary Reading:
1. W. K. Pratt, Digital Image Processing, Wiley-Interscience, 4th Ed, 2007.
2. A. Rosenfled & A. C. Kak, Vol. I, Digital Picture Processing, Academic Press, 1976.

258
Detail Syllabi Department of Computer Science & Engineering

3. J. S. Lion, Two Dimensional Signal and Image Processing, Prentice Hall, 1st Ed, 1989.

CS 435 ARTIFICIAL INTELLIGENCE 3 credits [3-0-0]


Prerequisite : NIL
Basic concepts of AI; Problems in AI; Applications; Production systems; Problem solving methods; Forward vs
backward reasoning; Search in state spaces, state-space graph, uninformed search, heuristic search, general graph
search algorithms, 2-agent games; knowledge representation using predicate calculus; rules of inference; converting
arbitrary wff to conjunction of clauses, resolution reputation system; Answer extraction; Intro to expert system.
Essential Reading:
1. E. Rich and K. Knight, Artificial Intelligence, Tata McGraw Hill, 2nded, 1991.
2. N. J. Nilsson, Principles of Artificial Intelligence, Narosa, 1986.
Supplementary Reading:
1. S. Russel and P. Norvig, Artificial Intelligence: a modern Approach, Pearson, 2nded, 2003.
2. D. W. Patterson, Introduction to Artificial Intelligence and Expert Systems, Prentice Hall of India, 2006.

CS 436 soft computing TECHNIQUES 3 credits [3-0-0]


Prerequisites: CS 211
Introduction to Neorofuzzy and Soft Computing, Fuzzy set theory, Fuzzy Rules, Fuzzy Reasoning, Fuzzy inference
System, Neural Networks; Radial basis and recurrent neural networks, Hopfield Networks, Comparision of RBF and
MLP Network, Running Algorithms, NeuroFuzzy Modeling, Applications of Soft Computing to Signal Processing,
Image Processing, Forecasting, XOR Problem-traveling salesman problem, Image compression suing MLPs-character
retrieval using hopfield networks, Introduction to Genetic Algorithm hybrid Systemsetc.
Essential Reading:
1. V. Kecman, Learning and Soft Computing, Pearson, 1st Ed, 2001.
2. D. E. Goldberg, Genetic Algorithms in Search Optimization and Machine Learning, Addison Wesley, 3rd Ed.
Supplementary Reading:
1. B. Kosko, Neural Network and fuzzy systems, Prentice Hall of India, 2006.
2. S. Goonatilake & S. Khebbal, Intelligent Hybrid Systems, Wiley, 1995.

CS 437 soft computing 3 credits [3-0-0]


Prerequisite : NIL
Introduction to Neorofuzzy and Soft Computing, Fuzzy set theory, Fuzzy Rules, Fuzzy Reasoning, Fuzzy inference
System, Neural Networks; Radial basis and recurrent neural networks, Hopfield Networks, Comparision of RBF and
MLP Network, Running Algorithms, NeuroFuzzy Modeling, Applications of Soft Computing to Signal Processing,
Image Processing, Forecasting, XOR Problem-traveling salesman problem, Image compression suing MLPs-character
retrieval using hopfield networks, Introduction to Genetic Algorithm hybrid Systemsetc.
Essential Reading:
1. V. Kecman, Learning and Soft Computing, Pearson, 1sted, 2001.
2. D. E. Goldberg, Genetic Algorithms in Search Optimization and Machine Learning, Addison Wesley, 3rded.
Supplementary Reading:
1. B. Kosko, Neural Network and fuzzy systems, Prentice Hall of India, 2006. NIT Rourkela
2. S. Goonatilake & S. Khebbal, Intelligent Hybrid Systems, Wiley, 1995.

CS 438 PATTERN RECOGNITION 4 credits [3-1-0]


Prerequisites: CS 102, MA 102, MA 201
Introduction to pattern recognition, statistical pattern recognition, decision trees, classification using decision
trees, obtaining Prules from decision trees, missing attribute values, error rates on recall sets, pruning decision
trees, obtaining Prules by evolution, Bayes classification, estimation of probabilities, nearest neighbor classification,
performance issues of a nearest neighbor classifier, Neural classifier, training of neural classifier, clustering,
Agglomerative hierarchical clustering, K-means clustering, syntactic pattern recognition.

259
Department of Computer Science & Engineering Detail Syllabi

Essential Reading:
1. R. Shighal, Pattern Recognition: Techniques and Applications, Oxford University Press, 1st Ed, 2006.
2. Christopher M. Bishop, Neural Networks for Pattern Recognition, Oxford University Press, 1st Ed, 2003.
Supplementary Reading:
1. William Gibson, Pattern Recognition, Berkley Press, 1st Ed, 2005.
2. Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer, 1st Ed, 2007.

CS 439 COMPUTER VISION 3 credits [3-0-0]


Prerequisite : NIL
Image Formation and Image Models: Cameras; Radiometry – Measuring Light; Shadows and Shading; Color
representation; Linear filters; Edge Detection; Pyramids and Textures; Multiple view geometry; Stereo; Optical flow;
Affine structure from motion; Projective structure from motion; Calibration; Segmentation; Fitting; Linear Tracking;
Non-Linear Tracking; Template Matching; Object Recognition; Case study of various applications.
Essential Reading:
1. D. A. Forsyth, J. Ponce, Computer Vision – A Modern Approach, Pearson, 2005.
2. Linda. G. Shapiro, George C. Stockman, Computer Vision, Prentice Hall, 2001.
Supplementary Reading:
1. Bernd Jähne, Horst Haußecker, Computer Vision and Applications – A Guide for Students and Practitioners, Academic Press,
2000.
2. R. J. Schalkoff, Digital Image Processing and Computer-Vision, John Wiley and Sons, 1989.

CS 441 advanced computer architecture 4 credits [3-1-0]


Prerequisites: CS 242, CS 341
Metrics for computer performance: clock rate, MIPS, CPI; Strength and weakness of performance metrics; role of
Amdalh’s in computer performance; Classification of computer architecture: SIMD, MIMD, SISD and MISD; Processing
unit design: Data path implementation, Microprogrammed execution. Instruction pipelining and parallel processing,
Instruction level parallelism: VLIW, Vector processor, Multithreaded processor, Superscalar architecture; branch
prediction; Prefetching; Speculative execution; Principles of pipelining and vector processing: Pipelining, Instruction
and Arithmetic Pipelines, Principles of Designing Pipelined Processor, Vector Processing Requirements. Structure
and Algorithms for array processors: SIMD Array Processors, SIMD Interconnection Networks, Parallel Algorithms
for array Processors, Associative Array Processing. Multiprocessor architecture and programming: Inter-processor
Communication Mechanisms, System Deadlocks and Protection, Multiprocessor Scheduling Strategies, Parallel
Algorithm for Multiprocessor. Multiprocessor architecture.
Essential Reading:
1. K. Hwang and F. A. Briggs, Computer Architecture and Parallel Processing, McGraw Hill, 3rd Ed, 2001.
2. N Carter, Computer Architecture, Tata McGraw Hill, 3rd Ed. 2008.
Supplementary Reading:
1. J. L. Heressy and D. A. Pattersan, Computer Architecture A Quantitative approach, Elsevier, 3rd Ed. 2006.
2. K. Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability, Tata McGraw Hill, 3rd Ed, 2004.

CS 442 COMPUTER SYSTEM ARCHITECTURE 3 credits [3-0-0]


Prerequisites: NIL
NIT Rourkela

Organization of a computer, Von-Neumann stored computer architecture, Processor Organization: Information


representation, Number formats, Instruction format; execution cycle, Instruction sets: Addressing modes and
Formats, Fixed point arithmetic, ALU design, CPU structure and functions, Reduced Instruction set Computer:
CISC Characteristics, RISC characteristics. Memory Organization: Memory technology: Memory device technology,
Random access memory Virtual Memory, High speed Memory, Internal memory: semiconductor main memory, cache
memory, Advanced DRAM organization, External memory, magnetic disk, RAID, Optical memory, magnetic tape. I/O
organization: Bus control, Serial I/O (study of Asynchronous and synchronous modes, USART & VART), Parallel Data
transfer: (Program controlled: Asynchronous, synchronous & Interrupt driven modes, DMA mode, interrupt controller
and DMA controller).

260
Detail Syllabi Department of Computer Science & Engineering

Essential Reading:
1. V. Carl Hamacher, Z. G. Veranesic, and S. G. Zaky, Computer Organisation, Tata Mc-Graw Hill, 5th Ed, 2002.
2. William Stallings, Computer Organization and Architecture Design for Performance, Prentice Hall of India, 7th Ed, 2006.
Supplementary Reading:
1. M. Morris Mano, Computer System Architecture, Prentice Hall of India, 1982.
2. J. P. Hayes, Computer Architecture and Organisation, Mc-Graw Hill, 3rd Ed, 2006.
3. D. A. Pattersen and J. L. Hennesy, Computer Organisation and Design: The HardwareSoftware Interface, Elsevier, 2nd Ed.

CS 443 embedded systems 4 credits [3-1-0]


Prerequisites: CS 334, CS 341, CS 242, CS 243, CS 343
Introduction: Embedded system, Processor, hardware units, software embedding, SOC, NOC, VLSI circuit; Device
and Device drivers, I/O devices, timer and counting devices, serial communication using IC, LAN and advanced I/O
buses between the networked multiple devices, Host system, parallel communication using ISA, PCI, PCI-X, and
advanced buses, device drivers, parallel port device drivers in a system, serial port device drivers. Interrupt service
handling mechanism; Software and programming concepts: processor and memory selection for embedded system,
embedded programming in C++, Java and UML, multiple processes and applications, problem of sharing data by
multiple tasks and routines, interprocess communication; Real time OS: OS services, I/O subsystem, Network OS,
Real-time Embedded system, Need of well tested and debugged RTOS, Introduction to C/OS-II. Case Studies of
programming with RTOS: Smart card embedded system, Hardware and Software co-design: specification and design
of an embedded system, use of software tools for development of an embedded system.
Essential Reading:
1. R. Kamal, Embedded System Architecture, Programming and Design, Tata McGraw Hill, 2005
2. R. Niemann, Hardware Software Codesign of Embedded System, Kulwer Academic, 2006.
Supplementary Reading:
1. S. V. Iyer & P. Gupat, Embedded Real Time System Programming, Tata McGraw Hill, 2004.
2. W. Wolf, Computer as Components: Principles of Embedded Computer System Design, Elsevier, 2005
3. S. Heath, Embedded System Design, 2nd Ed, Elsevier, 2005.
4. R. Mall, Real Time Systems Theory and Practice, Pearson, 2008
5. F. Vahid & T. Givargis, Embedded Ssytem design: A unified Hardware/Software approach, Wiley, 2007
6. G. D. Michelli & L. Benin, Network-on-Chip, Morgan & Kaufman Publication, 2004.

CS 444 cluster and grid computing 4 credits [3-1-0]


Prerequisites: CS 334, CS 421, CS 332
Introduction : High Performance Computing (HPC), Grand Challenge Problems-Computational and communication
intensive, Parallel Architectures-Classifications-SMP, MPP, NUMA, Clusters and Components of a Parallel Machine,
Conventional Supercomputers and it’s limitations, Multi-processor and Multi-Computer based Distributed Systems.
Cluster and Grids: Cluster Components-Processor/machine, High Speed Interconnections-goals, topology, latency,
bandwidth, Example Interconnect: Myrinet, Inifiniband, QsNet, Fast Ethernet, Gigabit Ethernet, Light weight
Messaging system/Light weight communication Protocols, Cluster Middleware-Job/Resource Management System,
Load balancing, Scheduling of parallel processes, Enforcing policies, GUI, Introduction to programming tools such
as PVM, MPI, Cluster Operating Systems Examples: Linux, MOSIX, CONDOR, Characteristics of Grid, Computational
services, Computational Grids, Data grids/Storage grids, management and applications, Different components of
Grid-Grid fabric, Grid middleware, Grid applications and portal, Globus toolkit Ver. 2. 4, web services, MDS, GRAM,
Grid Security –Cryptography, Authentication, Integrity, Digital Signature, Digital Certificates, Certificate Authority,
NIT Rourkela

MD-5, RSA, GSI, GSSAPI, Directory Service, LDAP, GRID FTP, GASS Fault Tolerance: Fault detection and diagnosis of
Clusters and Grids.
Essential Reading:
1. D. Janakiram, Grid Computing, Tata McGraw Hill, 2005
2. R. K. Buyya, High Performance Cluster Computing: Programming and Applications, Vol 2, Prentice Hall, NJ, USA, 1999.
Supplementary Reading:
1. PankajJalote, Fault Tolerance in Distributed Systems, Prentice Hall, 1994.
2. J. J. Jos & R. K. Buyya, High Performance Cluster Computing: Architectures and Systems, Vol I, Prentice Hall, NJ, USA, 1999.

261
Department of Computer Science & Engineering Detail Syllabi

3. R. K. Buyya & C. Szyperski, Cluster Computing, Nova Science, New York, USA, 2001.
4. R. K. Buyya & K. Bubendorfer, Market Oriented Grid and Utility Computing, Wiley, 2008.
5. J. Jaseph & C. Fellenstein, Grid Computing, Pearson, 1st Ed, 2004.

CS 445 PARALLEL ALGORITHMS 4 credits [3-1-0]


Prerequisites: CS 242, CS 332, CS 421
Modeling; Synchronous Network Model, Leader Election in a Synchronous Ring, Algorithms in General Synchronous
Networks, Distributed Consensus with Link Failures, Distributed Consensus with Process Failures, More Consensus
Problems, Asynchronous System Model, Asynchronous Shared Memory model, Mutual Exclusion, Resource Allocation,
Consensus, Atomic Objects, Asynchronous Network Model, Basic Asynchronous Network Algorithms, Synchronizers,
Shared Memory versus Networks, Logical Time Global Snapshots and stable properties, Network Resource allocation,
Asynchronous Networks with Process Failures, Data Link Protocols, Partially Synchronous Models, Mutual Exclusion
with Partial Synchrony, Consensus with Partial Synchrony.
Essential Reading:
1. B. Wilkinson & M. Allen, Parallel Programming, Pearson, 2nd Ed, 2005
2. M. J. Quinn, Parallel Programming in C with MPI and OpenMP, Tata McGraw Hill, 2003.
Supplementary Reading:
1. W. Groop, E. Lusk & A. Skjellum, Using MPI: Portable Parallel Programming with the Message-passing Interface, MIT Press,
1999.
2. H. F. Jordan and G. Alaghband, Fundamentals of Parallel Processing, Pearson, 1st Ed, 2003.
3. G. V. Wilson & G. Wilson, Practical Parallel Programming, MIT Press, 1995.

CS 446 GRAPH THEORY 3 credits [3-0-0]


Prerequisites: CS 326, CS 332
Introduction: Graphs, Isomorphism, Walks, Paths, Circuits, Trees, Properties of Trees, Cotrees and Fundamental
Circuits, Cut Sets, Fundamental Cut Sets and Cut Vertices, Planar and Dual Graphs, Metric Representation of
Graphs, Coloring and covering and partitioning of a graph, chromatic number, chromatic partitioning, chromatic
polynomials, matching, covering, four color problem, Directed graphs, some type of directed graphs, Directed paths,
and connectedness, Euler digraphs, trees with directed edges, fundamental circuits in digraph, matrices A, B and C
of digraphs adjacency matrix of a digraph,, enumeration, types of enumeration, counting of labeled and unlabeled
trees, polya’s theorem, graph enumeration with polya’s theorem.
Graph Algorithms: Elementary Graph Algorithms, Representations of graphs, Breadth-first search, Depth-first search,
Topological sort, strongly connected components
Minimum Spanning Trees: Growing a minimum spanning tree, The algorithms of Kruskal and Prim, Single-Source
Shortest Paths: Shortest paths and relaxation, Dijkstra’s algorithm, The Bellman-Ford algorithm, Single-source
shortest paths in directed acyclic graphs, Difference constraints and shortest paths, All-Pairs Shortest Paths: Shortest
paths and matrix multiplication, The Floyd-Warshall algorithm, Johnson’s algorithm for sparse graphs, and A general
framework for solving path problems in directed graphs, Maximum Flow: Flow networks, The Ford-Fulkerson method,
Maximum bipartite matching, Preflow-push algorithms, The lift-to-front algorithm  
Essential Reading:
1. T. H. Cormen, C. E. Leiserson and Ronald L. Rivest, Introduction to Algorithms, Prentice Hall of India, 3rd Ed, 2006.
2. N. Deo, Graph Theory with Applications to Engineering and Computer Science, Prentice Hall of India, 2004.
NIT Rourkela

Supplementary Reading:
1. D. B. West, Introduction to Graph Theory, 2nd Ed, Prentice Hall of India, 2007.
2. R. Diestel, Advanced Graph Theory, Springer Verlag Heidelberg, New York, 2005
3. M. T. Goodrich and R. Tamassia, Algorithm Design: Foundations, Analysis, and Internet Examples, Wiley, 1st Ed, 2001.

CS 448 ARTIFICIAL INTELLIGENCE & NEURAL NETWORK 3 credits [3-0-0]


Prerequisites: CS 171, CS 211, CS 332
Basic concepts of AI; Problems in AI; Applications; Production systems; Problem solving methods; Forward vs
backward reasoning; Search in state spaces, state-space graph, uninformed search, heuristic search, general graph

262
Detail Syllabi Department of Computer Science & Engineering

search algorithms, 2-agent games; knowledge representation using predicate calculus; rules of inference; converting
arbitrary wff to conjunction of clauses, resolution reputation system; Answer extraction; Intro to expert system.
Essential Reading:
1. E. Rich and K. Knight, Artificial Intelligence, Tata McGraw Hill, 2nd Ed, 1991.
2. N. J. Nilsson, Principles of Artificial Intelligence, Narosa, 1986.
Supplementary Reading:
1. S. Russel and P. Norvig, Artificial Intelligence: a modern Approach, Pearson, 2nd Ed, 2003.
2. D. W. Patterson, Introduction to Artificial Intelligence and Expert Systems, Prentice Hall of India, 2006.

CS 449 VLSI SYSTEM DESIGN 4 credits [3-1-0]


Prerequisites: CS 243, CS 331, CS 343
Deep sub-micron digital IC design; Transistors and Devices: MOS transistors; Bipolar transistors and circuits;
Fabrication: IC fabrication technology; Simulation: Modeling the MOS transistor for Circuit Simulation; Silicon-
on-Insulator technology; MOS Inverter circuits: Voltage transfer characteristics; Noise margin definitions; NMOS
transistors as load devices; COMS inverter. Static MOS Gate circuits: CMOS gate circuits; Complex CMOS Gates; XOR
and XNOR Gates; Flip-Flops and Latches; Semiconductor memory design: MOS decoder; Static RAM cell design; SRAM
column I/O circuitry; Power Grid and Clock design: Power distribution design; clocking and timing issues; Phase-
locked loop/Delayed-locked loop.
Essential Reading:
1. D. A. Hodges, H. G. Jackson & R. A. Saleh, Analysis and Design of Digital Integrated circuits, Tata McGraw Hill, 3rd Ed. 2008.
2. D. A. Pucknell & K. Eshraghian, Basic VLSI Design, Prentice Hall of India, 3rd Ed. 2001.
Supplementary Reading:
1. W. H. Wolf, Modern VLSI Design System-on-chip design, Prentice Hall of India, 3rd Ed. 2004.
2. C. Mead & L. Conway, Introduction to VLSI system, Addison Wesley, 2004.

CS 450 multimedia & COMPUTER VISION 3 credits [3-0-0]


Prerequisites: CS 171, CS 335
Image Formation and Image Models: Cameras; Radiometry – Measuring Light; Shadows and Shading; Color
representation; Linear filters; Edge Detection; Pyramids and Textures; Multiple view geometry; Stereo; Optical flow;
Affine structure from motion; Projective structure from motion; Calibration; Segmentation; Fitting; Linear Tracking;
Non-Linear Tracking; Template Matching; Object Recognition; Case study of various applications.
Essential Reading:
1. D. A. Forsyth, J. Ponce, Computer Vision – A Modern Approach, Pearson, 2005.
2. L. G. Shapiro, G. C. Stockman, Computer Vision, Prentice Hall, 2001.
Supplementary Reading:
1. B. Jähne, H. Haußecker, Computer Vision and Applications – A Guide for Students and Practitioners, Academic Press, 2000.
2. R. J. Schalkoff, Digital Image Processing and Computer-Vision, John Wiley and Sons, 1989.

CS 471 NETWORK LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Study of network simulator NetSimver 2. 0 and Qual Net; Simulation study of pure ALOHA protocol; Simulation study
NIT Rourkela
of slotted ALOHA protocol; Simulation study of Token Bus LAN protocol; Simulation study of Token Ring LAN protocol;
Simulation study of WAN protocol like Frame Relay, X. 25; Implementation of shortest path routing algorithm; Study
of 802. 11 wireless LAN protocols.

CS 472 SOFTWARE ENGINEERING LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
For Questions 1 – 8, do the followings:
Prepare the SRS document. You should identify the appropriate requirements for each problem.; Draw the Use Case
diagrams, Domain Models, and Class Diagrams using Rational Rose.; Draw the Sequence Diagrams and Collaboration

263
Department of Computer Science & Engineering Detail Syllabi

Diagrams for each Use Case, using Rational Rose.; Draw the State Chart Diagrams and Activity Diagrams using Rational
Rose, wherever necessary.; Develop the corresponding software using Java with an interactive GUI and appropriate
Database.; Develop software to automate the bookkeeping activities of a 5-star hotel.; The local newspaper and
magazine delivery agency wants to automate the various clerical activities associated with its business. Develop a
software for this.; A small automobile spare parts shop sells the spare parts for vehicles of several makes and models.
Each spare part is typically manufactured by several small industries. To streamline the sales and supply ordering, the
shop owner wants to automate the activities associated with his business. Develop a software for this.; Develop a
software for the automation of the dispensary of your Institute.; Develop a software for automating various activities
of an Estate Office.; Develop a word processing software with some limited number of facilities such as making
bold, italics, underline, cut, copy and paste etc.; Develop a graphics editor software package, using which one can
create/modify several common types of graphics entities.; Develop a software for automating various activities of the
department offices of your Institute.; Write a C function for searching an integer value from a large sorted sequence
of integer values stored in array of size 100, using the binary search method. Build the control flow graph of this
function using any compiler-writing tool. Write a program in Java to determine its cyclomatic complexity.; Write a
program in Java to determine the number of defects still remaining after testing, using error seeding methodology.

CS 473 REAL TIME SYSTEMS LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Installation of RT Linux on Linux, Simulation of various scheduling algorithms such as Table driven scheduling, Cyclic
scheduling, EDF scheduling, RMA etc., Comparison of the relative performances such as response time etc. of the
schedulers, Develop a watch dog timer, Comparing the features of various real time operating systems such as RT
POSIX, PSOS, VRTX, Vx Works, QNX, C/OS-II, Lynx, Windows CE etc., Development of a real time database.

CS 474 IMAGE PROCESSING LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Understanding the image formation; Exercise on image transformations; Assignments on image enhancement by
point processing; Image enhancement in frequency domain; Understanding the concept of image degradation;
Realizing different approaches of restoration; Implementation of different image compression techniques; Detection
of discontinuity, edge linking, boundary detection; Region oriented segmentation; Thematically oriented project for
the entire duration of the course for individual students or group of students. Laboratory works are to be done in C
or MATLAB.

CS 477 SOFT COMPUTING LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Implementation of selected soft-computing methods presented during the lecture.; Implementation of various
learning strategies; Realization of MLP, RBF, Hopfield networks etc; Solving optimization problems; Understanding and
realizing Fuzzy Logic and Fuzzy inference; Programming Genetic Algorithms.; Understanding probabilistic reasoning,
rough sets, chaos.; Realization of hybrid approaches

CS 478 PARALLEL COMPUTING LABORATORY 2 credits [0-0-3]

Prerequisites: NIL
Study of MPI and PVM; Inter-process Communication using UNIX/LINUX, Critical Section simulation; Readers/
Writers Simulation, Producers/Consumers Simulation, Implementation of semaphores; Parallel Quicksort, Matrix
Multiplication using Processes; Finding Patterns in a set of files, Multithread Programming; Parallel Algorithm for Array
NIT Rourkela

processors, Parallel Image Processing Applications; Processor virtualization using MPI implementation,; Programming
under Cluster and Grid environments

CS 479 ADVANCED LINUX PROGRAMMING LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Editing with Emacs, Compiling with GCC, Automating the Process with GNU Make, Debugging with GNU
Debugger(GDB). Processes: Creating Processes, Signals, Process Termination. Threads: Thread Creation, Thread
Cancellation, Thread-Specific Data, Synchronization and Critical Sections, GNU/Linux Thread Implementation .
Interprocess Communication: Shared Memory, Processes Semaphores, Mapped Memory, Pipes, Sockets. Devices:

264
Detail Syllabi Department of Computer Science & Engineering

Device Types & Numbers, Device Entries, Hardware Devices & Special Devices, PTYs, and ioctl . The /proc File System:
Extracting Information from /proc, Process Entries, Hardware Information, Kernel Information, Drives, Mounts, and
File Systems, System Statistics. Linux System Calls: Using strace, access: Testing File Permissions, fcntl: Locks and
Other File Operations, fsyncandfdatasync: Flushing Disk Buffers, getrlimitandsetrlimit: Resource Limits, getrusage:
Process Statistics, gettimeofday: Wall-Clock Time, The mlockFamily: Locking Physical Memory, mprotect: Setting
Memory Permissions, nanosleep: High-Precision Sleeping, readlink: Reading Symbolic Links, sendfile: Fast Data
Transfers, setitimer: Setting Interval Timers, sysinfo: Obtaining System Statistics, uname etc. .

CS 481 COMPILER DESIGN LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Programming with different compiler writing tools like lex and yacc, or Flex and Bison for object and non object
oriented language. Understanding to the file structure, the tokens in which data is to be parsed, the tree in which
parsed data is to be stored with lex and yacc. Compiling & running simple programs for specific problems (thermostat
controller, finding the header files required for specific function used by programmers in program, designing a desk
calculator, Implement an alternative grammars for infix expressions, Write a grammar for complete s-expressions;
Programs relating to code generation, and register allocation: program to generate code for a specific assembler,
program to identify specific control structures, inserting comments, identifying specific blocks for code partitioning.
Build a lexical analyzer and a syntactic analyzer for EBNF( Students are encouraged to use some thing different like
ANTLR and JAVACC); writing a simple HTML-to-TXT translator that reads from standard input text file and writes to
standard output and write program that involves embellishing the parser so that it enforces some simple grammatical
rules; Introduction to an Object Oriented version of YACC, Concepts to learn multiple instances of same parser which
can be used concurrently or in parallel. Designing an XML Parser, Converting Lexacy Data to XML using a Lexer/Parser
Generator, Using a Lexer/Parser Generator as a Multipurpose XML Tool Builder.

CS 482 DISTRIBUTED COMPUTING LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Familiarization with JAVA, C++, MPISIM, PVM; Client-Server Chart, TCP Simple Message Transfer; DNS using UDP, File
Transfer using FTP; File Transfer using RS-232C; Implementation of RPC; Remote file reading using Sockets, Client and
Server Classes; Remote data base using remote method invocation (RMI), Interface, Client and Server; Programming
Clusters and Grids; Familiarization with Web Programming and Globus Tool Kits.

CS 485 ARTIFICIAL INTELLIGENCE LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Write a program to solve Traveling Salesman problem. The heuristic function used, number of nodes generated,
depth of the search at each stages should be given in the form of a table; Write a program to solve 8 puzzle problem
with different heuristics; Implement the alpha – beta search procedures. Use it to play the game tic-tac-toe. At the
end of the game your program should give the number of nodes generated, cut-off values at each stages in the
form of a table; Write an ATN interpreter. Minimize the amount of information that must be stored at each node to
allow back-up; Write an Eliza like program to converse in some domain. The program should consist of two parts,
a database of rules and the code that matches rules against the input and uses them to generate output. The left
side of each rule should be a pattern that can be matched against a sentence input by the user. The right side should
specify the response that the system will generate if the corresponding left side matches; Develop an knowledge base
system consisting of facts and rules about some specialized knowledge domain of your choice; Implement Unification
Algorithms. Input data sets may be any Well Formed Formulas; Write a program to schedule a meeting between five
busy people using default reasoning. The output should give the time, place and day of the meeting.
NIT Rourkela

CS 489 COMPUTER VISION LABORATORY 2 credits [0-0-3]


Prerequisites: NIL
Fitting a Curve, Plane, Conic Section; Implementation of linear and non-linear calibration algorithm; Surface
Rendering, Shadow and Illumination; Implementation of Stereo Systems; Color constancy algorithm; Realization of
different filters, implementation edge detection algorithms; Implementation of different approaches to stereopsis;
Understanding Affine structure from motion; Segment based clustering; Object recognition; Individual student would
be assigned a project work to be executed during the tenure of the course. C, MatLab, OpenGL softwares are to be
used for this laboratory works.

265

You might also like