National Institute of Technology Trichy: Computer Science and Engineering Curriculum
National Institute of Technology Trichy: Computer Science and Engineering Curriculum
TRICHY
COMPUTER SCIENCE AND ENGINEERING
CURRICULUM
SEMESTER III
CA201
MATHEMATICAL FOUNDATIONS FOR COMPUTER SCIENCE
Set Theory - Set operations, properties - power set - methods of proof - relations, graph and
matrix of a relation - partial and total orders, well ordering - equivalence relations, classes and
properties - functions, 1-1, onto and bijective - composition of relations and functions - inverse
functions.
Induction and Combinatorics - Peano's axioms - Mathematical induction (simple and strong) -
pigeon-hole principle - principle of inclusion and exclusion - review of permutations and
combinations - distribution problems - derangements - bijection principle.
Algebraic Structures - Semi-groups, monoids, groups, subgroups and their properties - cyclic
groups - cosets - permutation groups - Lagrange's theorem - Cayley's theorem - normal
subgroups - homomorphism of groups - quotient groups - rings and fields.
Graph Theory - Definitions and basic results - Representation of a graph by a matrix and
adjacency list - Trees - Cycles - Properties - Paths and connectedness - Subgraphs - Graph
Isomorphism - Operations on graphs - Vertex and edge cuts - Vertex and edge connectivity.
REFERENCE:
Interpolation and Curve Fitting - Newton's forward and backward interpolation - Method
of least squares to fit equations of the form y = ab2 and y = ax2 + bx + c.
REFERENCE:
CS206
COMPUTER ORGANIZATION AND ARCHITECTURE
Basic structure of computers - Operational concepts - Bus structures - Arithmetic
operations - Memory operations - Addressing modes - Basic I/O operations - Performance.
Processing unit - Control unit - Pipelining - Multiple bus organization - Hardwired control -
Micro programmed control - Hazards - Data path - Embedded systems.
TEXT:
CS207
DIGITAL COMPUTER FUNDAMENTALS
Binary codes - Weighted and non-weighted - Binary arithmetic conversion algorithms - Error
detecting and error correcting codes - Canonical and standard boolean expressions - Truth
tables.
K-map reduction - Don't care conditions - Adders / Subtractors - Carry look-ahead adder -
Code conversion algorithms - Design of code converters - Equivalence functions.
Sequential logic - Basic latch - Flip-flops (SR, D, JK, T and Master-Slave) - Triggering of
flip-flops - Counters - Design procedure - Ripple counters - BCD and Binary - Synchronous
counters.
Registers - Shift registers - Registers with parallel load - Memory unit - Examples of RAM,
ROM, PROM, EPROM - Reduction of state and flow tables - Race-free state assignment -
Hazards.
TEXT:
CS213
DATA STRUCTURES LABORATORY
Problems in C/C++/ Java using data structures involving arrays, stacks, queues, strings, linked
lists, trees, graphs.
CS201
PRINCIPLES OF PROGRAMMING LANGUAGES
Introduction to Language Paradigms - Criteria for good language design - Data types -
Abstraction - Imperative languages - Pascal, C - design issues.
TEXT:
REFERENCE:
CS205
DATA STRUCTURES
Development of Algorithms - Notations and analysis - Storage structures for arrays - Sparse
matrices - Stacks and Queues: Representations and applications.
Linked Lists - Linked stacks and queues - Operations on polynomials - Doubly linked lists -
Circularly linked lists - Dynamic storage management - Garbage collection and compaction.
Binary Trees - Binary search trees - Tree traversal - Expression manipulation - Symbol table
construction - Height balanced trees - Red-black trees.
Graphs - Representation of graphs - BFS, DFS - Topological sort - Shortest path problems.
String representation and manipulations - Pattern matching.
Sorting Techniques - Selection, Bubble, Insertion, Merge, Heap, Quick, and Radix sort -
Address calculation - Linear search - Binary search - Hash table methods.
TEXT:
CS202
AUTOMATA AND FORMAL LANGUAGES
Finite Automata - Deterministic, non-deterministic and equivalence - Equivalence of
regular expressions and FA - Moore and Mealy machines.
TEXT:
PETER LINZ, "An Introduction to Formal Language and Automata", Narosa Pub. House,
Reprint 2000
CS209
UNIX AND WINDOWS
Introduction to the UNIX operating system, File system, vi (Visual Editor), Essential UNIX
commands, Bourne Shell.
Overview of MSDOS commands, Netware 5.0 features, Netware File System, Netware
Directory and File commands.
Netware Printing Services, Netware Login Scripts, Netware Data Protection and Backup,
Network File Systems, Netware Accounting System, Network Information Systems, Message
Passing Interface.
TEXT:
SUMITABHA DAS, "Unix Concepts and Applications", 3rd Edition, Tata McGraw-Hill,
2003
REFERENCE:
CS204
DIGITAL SYSTEM DESIGN
Introduction to VLSI design - Basic gate design - Digital VLSI design - Design of general
boolean circuits using CMOS gates.
TEXT:
CS208
SYSTEMS PROGRAMMING
Fundamentals of language processors - Language specification - Data structure for
language processing - Scanning - Parsing.
Assemblers - Elements of assembly language programming - Single pass and two pass
assembler - Assembler for IBM PC.
Macro Processors - Macro definition and call - Macro expansion - Conditional and nested
macro calls - Design of a macro processor.
Linkers - Software tools - Text editor - Debug monitors - Interpreters - Program generators -
User interfaces - Recent trends and developments.
TEXT:
CS210
DIGITAL SYSTEM DESIGN LABORATORY
Design of a 32-bit carry look-ahead adder with logarithmic depth using Verilog
CS212
SYSTEMS PROGRAMMING LABORATORY
Symbol table (Tree-storage) construction
Implementation of single pass and two-pass assembler, macro preprocessor, module binder
(with limited instruction set)
Implementation of software tools like text editor, interpreter, program generator etc.
MA204
INTRODUCTION TO PROBABILITY THEORY
Definitions of Probability - Notion of sample space - Events - Basics of Combinatorial
Analysis - Posing Probability problems mathematically - Examples
Conditional Probability - Baye's Rule - Random variable - Probability mass function, Density
function, Distribution Function - Bernoulli Trials - Binomial Distribution - Poisson
Approximation - Poisson Distribution - Normal Distribution - Moment Generating Function
Chebyshev Inequality - Law of Large Numbers - Central Limit Theorem - Random Process -
Markov Dependence, Markov Chains, definition, examples, ergodicity
TEXT:
K. S. TRIVEDI, Probability and Statistics with Reliability and Queueing and Computer
Science Applications, Prentice Hall of India, 1988
SEMESTER 5
CS301
INTRODUCTION TO ALGORITHMS
Algorithms - Examples - Tournament method - Evaluating polynomial functions -
preprocessing of coefficients - solving recurrence equations.
Divide and Conquer method - Strassen's matrix multiplication - Greedy method - Knapsack
problem - Job sequencing with deadlines - Minimum spanning trees.
Dynamic Programming - Multistage graphs - All pair’s shortest paths - Optimal binary
search trees - Traveling salesman problem - Fast Fourier transform.
Randomized Algorithms and Amortized Analysis - Las Vegas and Monte Carlo types -
Randomized quick sort and its analysis - Min-Cut algorithm.
TEXT:
A.V. AHO, J.E.HOPCROFT and J.D.ULLMAN, "The Design and Analysis of Computer
Algorithms", Addison Wesley, 1974
CS303
COMPUTER NETWORKS
Introductory Concepts - Network hardware - Network software - Physical layer - Guided
transmission media - Cable television.
Data Link Layer - Design issues - Channel allocation problem - Multiple access protocols -
Ethernet - Wireless LAN - 802.11 architecture.
Application Layer - DNS - Electronic mail - World Wide Web - Multimedia - Network
security.
TEXT:
Serial I/O - Interrupts - Data transfer techniques - Parallel data transfer using 8155 - DMA
transfer using 8257 DMA controller.
Microprocessor System Design - System design using interrupt controller - Floppy Disk
Controller - CRT controller.
TEXT:
CS307
SOFTWARE ENGINEERING
Introductory Concepts - Systems engineering - Software project planning - Cost estimation
- Project scheduling.
Analysis - Data flow oriented design - Object oriented life cycle models - CASE tools.
Software Design - Software design fundamentals - Data structure oriented Design - JS, LCP
- Various design methods.
Implementation and Testing - Testing objectives - Black box & white box testing - Various
testing strategies - Art of debugging.
CS309
LOGICAL FOUNDATIONS OF COMPUTER SCIENCE
Review of Prepositional Calculus - Validity - Satisfiability related concepts - CNF and
DNF forms - Conversion of arbitrary prepositional formula to CNF or DNF.
Compactness idea - Resolution principle and proof of the theorem - Review of predicate
calculus - Interpretation of formulae in predicate calculus.
Prenex normal form and examples - Application of logic in programming - Proof rules for
structured statements (assignment, while, repeat-until, for statements).
TEXT:
CS311
COMPUTER GRAPHICS
Graphics Hardware - Display devices - Hard copy devices - Hardware interaction tasks -
Line drawing algorithms - Circle generation algorithms - Character generation.
Hidden line and hidden surface removal algorithm - Illumination - Shading models -
Animation - Languages and rules for animation - Recent trends.
TEXT:
J.D. FOLEY, A. VAN DAM, S.K. FIENER and J.F.HUGHES, "Computer Graphics:
Principles and Practice", Second Edition, Addison - Wesley, 1996
D. HEARN and M.P. BAKER, "Computer Graphics", III Edition, Prentice Hall of India,
2004
CS313
MICROPROCESSOR SYSTEMS LABORATORY
Solving problems using 8085
Interfacing various devices with the microprocessor: A/D converter, D/A converter, seven
segment display, stepper motor, external keyboard, interrupt controller and 8251 for serial
data transfer
PC hardware assembly
CS315
ALGORITHMS LABORATORY
Estimating worst-case/average-case complexity of algorithms via programs
SEMESTER 6
CS302
COMBINATORICS AND GRAPH THEORY
Permutations and Combinations - Distribution of distinct / non-distinct objects -
Generating functions for combinations - Portion of integers - Ferrers graph.
Basic Definitions - Trees and fundamental circuits - Cut-sets and Cut-vertices - Connectivity
and Separability - Network flows - 1 and 2 isomorphism.
Planar and Dual Graphs - Kuratowski's graphs - Representations of a planar graph - Vector
space associated with a graph - Subspaces - Orthogonal vectors and spaces.
TEXT:
CS304
OPERATING SYSTEMS
Basic OS Concepts - User's view of the OS - Architectural support - Thread and process
scheduling - Preemptive and non-preemptive - FCFS, SJF, Round Robin, Multilevel Queue.
Synchronization - Peterson's solution - Bakery algorithm - Hardware-based solutions -
Sempahores - Critical regions - Problems of synchronization - Deadlock prevention and
recovery - Banker's algorithms.
Memory Management - Segmentation, Paging and Virtual memory - Case study of x86 32-
bit memory management unit - FCFS, FRU - Belady's anomaly - Stack-based algorithms -
Thrashing - Working set.
Design of the Unix File System - Buffer caches - File system organization - Inodes - Super
blocks - File access algorithms - File tables - Inode tables - Network file systems.
I/O Organization - Block and character device drivers - Unix system file protection
mechanism - Access and capability lists - Authentication - Spoofing - Case study of a virus
on UNIX.
TEXT:
CS306
DATABASE MANAGEMENT SYSTEMS
Databases - Need - Concepts - Architecture - Data independence - Data modeling: Entity-
relationship model - Weak entity sets - Mapping ER model to Relational model.
SQL Queries - Nested queries - Aggregate operators - Null values - Embedded SQL -
Database security - Views - Queries on views.
Object-oriented data model - Object identity and pointers - Object definition and
manipulation language - Object-oriented databases - Object relational databases - Recent
trends.
TEXT:
CS310
ADVANCED MICROPROCESSOR SYSTEMS
80286 Architecture - Instruction set - Addressing modes - Real mode - Protected mode -
80386 Architecture - Address segmentation - Paging - Segment registers.
Basic 486 Architecture - 486 memory system and memory management - Features of
Pentium memory and I/O systems - Pentium memory management - Introduction to Pentium
Pro features.
IDE Interface - Magnetic storage principles - Hard disk storage - Floppy disk storage -
Optical Storage - Physical drive installation and configuration - Video hardware - Audio
hardware.
TEXT:
B.B.BREY, "The Intel Microprocessors 8086/8088, 80186/ 80188, 80286, 80386, 80486 and
Pentium and Pentium Pro Processor", Prentice Hall of India, V Edition, 2006
CS312
OPERATING SYSTEMS LABORATORY
Designing a command shell in Java
Synchronization of processes
CS314
DATABASE LABORATORY
Exercises to be based on Sybase / Oracle / Postgres / VB / Power Builder / DB2 / MS-Access.
SEMESTER 7
CS401
DISTRIBUTED COMPUTING
Distributed Systems - Goal - Advantages over centralized systems - Organization of
multiprocessor systems - Hardware/software concepts - Review of layered protocols.
File Replication - Semantics of file sharing - Remote access methods - Fault tolerant issues -
Introduction to distributed operating systems.
TEXT:
CS403
ARTIFICIAL INTELLIGENCE AND EXPERT SYSTEMS
Search Strategies - Hill climbing - Backtracking - Graph search - Properties of A* algorithm
- Monotone restriction - Specialized production systems - AO* algorithm.
TEXT:
CS405
PRINCIPLES OF COMPILER DESIGN
Introduction - Structure of a compiler - Different phases of a compiler - Finite automata and
lexical analysis.
Syntactic specification - Context-free grammars - Derivation and parse trees - Basic parsing
techniques.
TEXT:
J.P. TREMBLAY, P.G. SORRENSON, "The Theory and Practice of Compiler Writing",
McGraw Hill, 1985
CS407
ADVANCED COMPUTER ARCHITECTURE
Parallel computer models - Flynn's classification - Parallel and vector computers - System,
implicit and explicit parallelism - Multi-vector and SIMD computers - PRAM and VLSI
models.
Program and network properties - Data and control dependence - Hardware and software
parallelism - Partitioning and scheduling - Interconnection architectures.
Performance laws - Metrics and measures - Amdahl's law for fixed workload - Bounded
speed-up model - Scalability analysis and approaches.
Symbolic Processors - CISC and RISC architectures - Super scalar processors and their
features - Memory hierarchy.
TEXT:
Quadruples/Triples generation using LEX and YACC for a subset of a block structured
language e.g. PASCAL
CS415
NETWORK ENGINEERING LABORATORY
Familiarization with configuring and installing a LAN
SEMESTER 8
CS402
ADVANCED DATABASE MANAGEMENT SYSTEMS
Concepts - EER-to-Relational mapping - Integrity constraints in data modeling - Review of
normalization theory - Review of file structures and access methods.
Basic Algorithms - Use of heuristics - Optimization algorithm - Heuristic optimization of
query graphs - Using cost estimations in query optimization.
TEXT:
HM402
INDUSTRIAL ECONOMICS
Industrial Economics - Elasticity of demand and supply - Consumption laws - Types of
competitions - Keynesian employment theory - Production, planning and control.
Money Banking & Financial Management - Functions of commercial and central banking
- The problem of foreign exchange - Sources of industrial finance - Management accounting.
RASAD, L.N., "Principles of Management Theory and Practice", Sultan & Chand, 1992 Edn.
DAVAR, S.R., "Personal Management & Industrial Relations", Vikas Publishing (P) Ltd.,
1993 Edn.
ELECTIVES
CS352
DESIGN AND ANALYSIS OF PARALLEL ALGORITHMS
Introduction to Parallel Computers - SIMD - EREW, CREW - SM-SIMD algorithms -
Shared memory SIMD - Tree and mesh interconnection computers.
Sorting - Sorting on a linear array - Sorting on a mesh - Sorting on EREW SIMD computer -
MIMD enumeration sort - MIMD quick sort - Sorting on other networks.
TEXT:
S.G.AKL, "The Design and Analysis of Parallel Algorithms", Prentice Hall of India, 1989
CS354
SOFTWARE DESIGN AND PRACTICES
Software Engineering - Paradigms - Planning - Cost estimation - Software project
scheduling - Risk analysis and management - Requirements and specifications - Stakeholders
needs and analysis.
Structured Design - Design principles - Problem partitioning and hierarchy - Modularity -
Top-down and bottom-up strategies - Transformation of a DFD to a structure chart -
Coupling and cohesion.
Object-oriented analysis - UML - Use case - Conceptual model - Class analysis patterns -
Overview - Diagrams - Aggregation - Collaboration - Sequence - Class - Managing analysis
and design.
Architecture Concepts - Design methods - Design patterns - Design processes and strategies
- Design by template incremental design - Structured systems analysis and structured design -
JSP - JSD.
TEXT:
ED DOWNS, PETER CLARE, JAN COE, "Structured System Analysis and Design Methods
- Application & Context", Prentice Hall, 1998
CS451
PRINCIPLES OF CRYPTOGRAPHY
Origins of Cryptography - Issues - Codes and ciphers - Preliminary ideas of factoring and
testing - gcd and its complexity.
Symmetric Key Cryptosystems - Block ciphers - Substitution ciphers - DES and Feistel
ciphers and the problem of breaking them - The field Z/pZ - Euler's φ function.
Stream Ciphers - Linear feedback shift registers and associated results - Geffe generator -
Diffe-Hellman key exchange - Bit commitment using symmetric key.
Factoring and other topics - Pollard ρ-heuristic - Pollard p-1 algorithm - Quadratic sieve
algorithm - Zero-knowledge proof idea - Recent developments.
TEXT:
CS453
NETWORK PRINCIPLES AND PROTOCOLS
Introduction to Networks - Applications of networks - Architecture - Topology - Switching
- SLIP - PPP - ALOHA protocols - CSMA/CD - IEEE 802.3, 802.4, 802.5.
Application Layer - Telnet - TFTP - FTP - SMTP - Ping - Finger - Bootstrap - Network
Time Protocol - SNMP.
TEXT:
A.S. TANENBAUM, "Computer Networks", Third Edition, Prentice Hall India, 1997
CS452
REAL-TIME SYSTEMS
Introduction to real-time computing - Structure of a real-time system - Characterization of
real-time systems and tasks - Performance measures.
TEXT:
CS454
NETWORK SECURITY
Introduction - Attacks, services and mechanisms - Classical encryption techniques - DES -
Block cipher - Design principles and modes of operation.
Encryption Algorithms - Hash functions - Triple DES - RC5 - Key management - Public
key cryptography - RSA algorithm - Digital signatures and authentication protocols.
TEXT: