Department of Computer Science and Engineering: Detailed Syllabi of Courses
Department of Computer Science and Engineering: Detailed Syllabi of Courses
Department of Computer Science and Engineering: Detailed Syllabi of Courses
239
Department of Computer Science & Engineering
Detail Syllabi
240
Detail Syllabi Department of Computer Science & Engineering
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.
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
243
Department of Computer Science & Engineering Detail Syllabi
244
Detail Syllabi Department of Computer Science & Engineering
245
Department of Computer Science & Engineering Detail Syllabi
1. Leon-Garcia & I Widjaja, Communication Networks, Fundamental Concepts & Key Architecture, Tata McGraw Hill, 2nd Ed, 2003.
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.
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
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
249
Department of Computer Science & Engineering Detail Syllabi
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
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
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
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.
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.
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.
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.
255
Department of Computer Science & Engineering Detail Syllabi
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.
257
Department of Computer Science & Engineering Detail Syllabi
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.
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.
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.
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.
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.
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.
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.
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
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. .
265