Course
Structure and Syllabus for BTech in Computer Science and Engineering (to be applicable from 2010
batch onwards) 

Course No. 
Course
Name 
L 
T 
P 
C 

Course No. 
Course
Name 
L 
T 
P 
C 
Semester
 1 

Semester
2 

CH101 
Chemistry 
3 
1 
0 
8 

BT101 
Modern Biology 
3 
0 
0 
6 
EE101 
Electrical Sciences 
3 
1 
0 
8 

CS101 
Introduction to
Computing 
3 
0 
0 
6 
MA101 
Mathematics  I 
3 
1 
0 
8 

MA102 
Mathematics  II 
3 
1 
0 
8 
PH101 
Physics  I 
2 
1 
0 
6 

ME101 
Engineering
Mechanics 
3 
1 
0 
8 
CH110 
Chemistry
Laboratory 
0 
0 
3 
3 

PH102 
Physics  II 
2 
1 
0 
6 
ME110/ PH110 
Workshop /Physics
Laboratory 
0 
0 
3 
3 

CS110 
Computing
Laboratory 
0 
0 
3 
3 
ME111** 
Engineering Drawing 
0 
0 
3 
3 

EE102 
Basic Electronics
Laboratory 
0 
0 
3 
3 
SA101 
Physical Training
I 
0 
0 
2 
0 

PH110/ ME110 
Physics
Laboratory/Workshop 
0 
0 
3 
3 
NCC/NSO/NSS 
0 
0 
2 
0 

SA 102 
Physical Training 
II 
0 
0 
2 
0 

12 
4 
9 
41 


NCC/NSO/NSS 
0 
0 
2 
0 

** For 2010 batch the credit
structure is 0033 



14 
3 
9 
43 

Semester
3 

Semester
4 

MA201 
Mathematics III 
3 
1 
0 
8 

CS 203 
Formal Languages
and Automata Theory 
3 
0 
0 
6 
CS201 
Data Structures 
3 
0 
0 
6 

CS 204 
Algorithms 
3 
0 
0 
6 
CS202 
Discrete
Mathematics 
4 
0 
0 
8 

CS 222 
Computer
Organization and Architecture 
3 
0 
0 
6 
CS221 
Digital Design 
3 
0 
0 
6 

CS 242 
Software
Engineering 
2 
0 
0 
4 
HS2xx 
HSS Elective  I 
3 
0 
0 
6 

HS2xx 
HSS Elective  II 
3 
0 
0 
6 
CS210 
Data Structures Lab 
0 
0 
3 
3 

CS 223 
Hardware Lab 
0 
0 
3 
3 
CS 241 
System Software Lab 
0 
0 
3 
3 

CS 243 
Software
Engineering Lab 
0 
0 
3 
3 
SA 201 
Physical Training 
III 
0 
0 
2 
0 

CS 244 
System Programming
Lab 
0 
1 
3 
5 
NCC/NSO/NSS 
0 
0 
2 
0 

SA 202 
Physical Training 
IV 
0 
0 
2 
0 

16 
1 
6 
40 


NCC/NSO/NSS 
0 
0 
2 
0 




14 
1 
9 
39 

Semester
5 

Semester
6 

MA225 
Probability Theory
and Random Processes 
3 
1 
0 
8 

MA321 
Optimization 
3 
0 
0 
6 
CS 301 
Theory of
Computation 
3 
0 
0 
6 

CS 344 
Databases 
3 
0 
0 
6 
CS 341 
Operating Systems 
3 
0 
0 
6 

CS 346 
Compilers 
3 
0 
0 
6 
CS 343 
Data Communication 
3 
0 
0 
6 

CS 348 
Computer Networks 
3 
0 
0 
6 
HS3xx 
HSS Elective  III 
3 
0 
0 
6 

CS 345 
Databases Lab 
0 
0 
3 
3 
CS 321 
Comp. Peripherals
& Interfacing Lab 
0 
1 
3 
5 

CS 347 
Compilers Lab 
0 
0 
3 
3 
CS 342 
Operating Systems
Lab 
0 
0 
3 
3 

CS 349 
Networks Lab 
0 
0 
3 
3 
15 
2 
6 
40 



12 
0 
9 
33 

Semester
7 

Semester
8 

CS 461 
Computer Graphics 
3 
0 
0 
6 

CS 5XX 
Dept. Elective  IV 
3 
0 
0 
6 
CS 5XX 
Dept. Elective  I 
3 
0 
0 
6 

CS 5XX 
Dept. Elective  V 
3 
0 
0 
6 
CS 5XX 
Dept. Elective II 
3 
0 
0 
6 

CS 5XX 
Dept. Elective  VI 
3 
0 
0 
6 
CS 5XX 
Dept. Elective III 
3 
0 
0 
6 

HS4xx 
HSS Elective  IV 
3 
0 
0 
6 
CS 431 
Programming
Languages Lab 
0 
1 
3 
5 

CS499 
Project II 
0 
0 
8 
8 
CS 462 
Graphics Lab 
0 
0 
3 
3 



12 
0 
8 
32 
CS 498 
Project  I 
0 
0 
6 
6 







12 
1 
12 
38 







CH 101 Chemistry (3108) Structure
and Bonding; Origin of quantum theory, postulates of quantum mechanics;
Schrodinger wave equation: operators and observables, superposition theorem
and expectation values, solutions for particle in a box, harmonic oscillator,
rigid rotator, hydrogen atom; Selection rules of microwave and vibrational
spectroscopy; Spectroscopic term symbol; Molecular orbitals: LCAOMO; Huckel
theory of conjugated systems; Rotational, vibrational and electronic
spectroscopy; Chemical Thermodynamics: The zeroth and first law, Work, heat,
energy and enthalpies; The relation between C_{v} and C_{p};
Second law: entropy, free energy (the Helmholtz and Gibbs) and chemical
potential; Third law; Chemical equilibrium; Chemical kinetics: The rate of
reaction, elementary reaction and chain reaction; Surface: The properties of
liquid surface, surfactants, colloidal systems, solid surfaces, physisorption
and chemisorption; The periodic table of elements; Shapes of inorganic
compounds; Chemistry of materials; Coordination compounds: ligand, nomenclature,
isomerism, stereochemistry, valence bond, crystal field and molecular orbital
theories; Bioinorganic chemistry and organometallic chemistry; Stereo and
regiochemistry of organic compounds, conformers; Pericyclic reactions;
Organic photochemistry; Bioorganic chemistry: Amino acids, peptides,
proteins, enzymes, carbohydrates, nucleic acids and lipids; Macromolecules
(polymers); Modern techniques in structural elucidation of compounds (UVvis,
IR, NMR); Solid phase synthesis and combinatorial chemistry; Green chemical
processes. Texts:
1. P. W. Atkins, Physical Chemistry, 5^{th} Ed., ELBS, 1994. 2. C.
N. Banwell, and E. M. McCash, Fundamentals
of Molecular Spectroscopy, 4^{th} Ed., Tata McGrawHill, 1962. 3. F.
A. Cotton, and G. Wilkinson, Advanced
Inorganic Chemistry, 3^{rd} Ed., Wiley Eastern Ltd., New Delhi,
1972, reprint in 1988. 4. D. J. Shriver, P. W. Atkins, and C. H.
Langford, Inorganic Chemistry, 2^{nd}
Ed., ELBS ,1994. 5. S. H. Pine, Organic Chemistry, McGrawHill, 5^{th} Ed., 1987 References: 1. I. A. Levine, Physical Chemistry, 4^{th} Ed., McGrawHill, 1995. 2. I. A. Levine, Quantum Chemistry, EE Ed., prentice Hall, 1994. 3. G. M. Barrow, Introduction to Molecular Spectroscopy, International Edition,
McGrawHill, 1962 4. J.
E. Huheey, E. A. Keiter and R. L. Keiter, Inorganic
Chemistry: Principle, structure and reactivity, 4^{th} Ed.,
Harper Collins, 1993 5. L. G. Wade (Jr.), Organic Chemistry, Prentice Hall, 1987. 
CS 101
Introduction to Computing (3006)
Introduction:
The von Neumann architecture, machine language, assembly language, high level
programming languages, compiler, interpreter, loader, linker, text editors,
operating systems, flowchart; Basic features of programming (Using C): data
types, variables, operators,
expressions, statements, control structures, functions; Advanced
programming features: arrays and pointers, recursion, records (structures),
memory management, files, input/output, standard library functions,
programming tools, testing and debugging; Fundamental operations on data:
insert, delete, search, traverse and modify; Fundamental data structures:
arrays, stacks, queues, linked lists; Searching and sorting: linear search,
binary search, insertionsort, bubblesort, selectionsort, radixsort, countingsort;
Introduction to objectoriented programming Texts:
1. A Kelly and I Pohl, A Book on C, 4^{th} Ed.,
Pearson Education, 1999. 2. A M Tenenbaum, Y Langsam and M J
Augenstein, Data Structures Using C,
Prentice Hall India, 1996. References: 1.
H Schildt, C: The Complete Reference,
4^{th} Ed., Tata Mcgraw Hill, 2000 2. B Kernighan and
D Ritchie, The C Programming Language,
4^{th} Ed., Prentice Hall of India, 1988. 
CS 110 Computing
Laboratory (0033)
Programming
Laboratory will be set in consonance with the material covered in CS101. This
will include assignments in a programming language like C. References: 1.
B. Gottfried and J. Chhabra,
Programming With C, Tata Mcgraw Hill, 2005 MA 102 Mathematics
 II (3108) Vector functions of one variable –
continuity and differentiability; functions of several variables –
continuity, partial derivatives, directional derivatives, gradient,
differentiability, chain rule; tangent planes and normals, maxima and minima,
Lagrange multiplier method; repeated and multiple integrals with applications
to volume, surface area, moments of inertia, change of variables; vector
fields, line and surface integrals; Green’s, Gauss’ and
Stokes’ theorems and their applications. First order differential equations –
exact differential equations, integrating factors, Bernoulli equations,
existence and uniqueness theorem, applications; higherorder linear
differential equations – solutions of homogeneous and nonhomogeneous equations,
method of variation of parameters, operator method; series solutions of
linear differential equations, Legendre equation and Legendre polynomials,
Bessel equation and Bessel functions of first and second kinds; systems of
firstorder equations, phase plane, critical points, stability. Texts: 1.
G. B. Thomas (Jr.) and R. L. Finney, Calculus and Analytic Geometry, 9^{th}
Ed., Pearson Education India, 1996. 2.
S. L. Ross, Differential Equations, 3^{rd} Ed., Wiley India,
1984. References: 1. T.
M. Apostol, Calculus  Vol.2, 2^{nd}
Ed., Wiley India, 2003. 2. W.
E. Boyce and R. C. DiPrima, Elementary
Differential Equations and Boundary Value Problems, 9^{th} Ed.,
Wiley India, 2009. 3. E.
A. Coddington, An Introduction to
Ordinary Differential Equations, Prentice Hall India, 1995. 4. E.
L. Ince, Ordinary Differential
Equations, Dover Publications, 1958. ME
101 Engineering
Mechanics (3108) Basic principles:
Equivalent force system; Equations of equilibrium; Free body diagram; Reaction;
Static indeterminacy. Structures: Difference between trusses, frames and
beams, Assumptions followed in the analysis of structures; 2D truss; Method
of joints; Method of section;
Frame; Simple beam; types
of loading and supports; Shear
Force and bending Moment diagram in beams; Relation among load, shear force
and bending moment. Friction: Dry friction; Description and applications of
friction in wedges, thrust bearing (disk friction), belt, screw, journal
bearing (Axle friction); Rolling resistance. Virtual work and Energy method:
Virtual Displacement; Principle of virtual work; Applications of virtual work
principle to machines; Mechanical efficiency; Work of a force/couple (springs
etc.); Potential energy and equilibrium; stability. Center of Gravity and
Moment of Inertia: First and second moment of area; Radius of gyration; Parallel axis theorem; Product of inertia, Rotation of axes
and principal moment of inertia;
Moment of inertia of simple and composite bodies. Mass moment of
inertia. Kinematics of Particles: Rectilinear motion; Curvilinear motion; Use
of Cartesian, polar and spherical coordinate system; Relative and constrained
motion; Space curvilinear motion. Kinetics of Particles: Force, mass and
acceleration; Work and energy; Impulse and momentum; Impact problems; System
of particles. Kinematics and Kinetics of Rigid Bodies: Translation; Fixed
axis rotational; General plane
motion; Coriolis acceleration;
Workenergy; Power; Potential energy; Impulsemomentum and associated conservation
principles; Euler equations of
motion and its application. Texts 1. I. H. Shames, Engineering Mechanics:
Statics and Dynamics, 4^{th} Ed., PHI, 2002. 2.
F. P. Beer and E. R. Johnston, Vector Mechanics for Engineers, Vol I  Statics, Vol II – Dynamics,
3^{rd} Ed., Tata McGraw Hill, 2000. References 1. J.
L. Meriam and L. G. Kraige, Engineering Mechanics, Vol I – Statics, Vol II –
Dynamics, 5^{th} Ed., John
Wiley, 2002. 2. R. C. Hibbler, Engineering Mechanics,
Vols. I and II, Pearson Press,
2002. PH 102 Physics
 II
(2106) Vector Calculus: Gradient, Divergence and
Curl, Line, Surface, and Volume integrals, Gauss's divergence theorem and
Stokes' theorem in Cartesian, Spherical polar, and Cylindrical polar
coordinates, Dirac Delta function. Electrostatics: Gauss's law and its
applications, Divergence and Curl of Electrostatic fields, Electrostatic
Potential, Boundary conditions, Work and Energy, Conductors, Capacitors,
Laplace's equation, Method of images, Boundary value problems in Cartesian
Coordinate Systems, Dielectrics, Polarization, Bound Charges, Electric
displacement, Boundary conditions in dielectrics, Energy in dielectrics,
Forces on dielectrics. Magnetostatics: Lorentz force, BiotSavart and
Ampere's laws and their applications, Divergence and Curl of Magnetostatic
fields, Magnetic vector Potential, Force and torque on a magnetic dipole,
Magnetic materials, Magnetization, Bound currents, Boundary conditions. Electrodynamics: Ohm's law, Motional EMF,
Faraday's law, Lenz's law, Self and Mutual inductance, Energy stored in
magnetic field, Maxwell's equations, Continuity Equation, Poynting Theorem,
Wave solution of Maxwell Equations. Electromagnetic waves: Polarization, reflection
& transmission at oblique incidences. Texts:
References:
EE 102 Basic Electronics Laboratory (0033) Experiments using diodes
and bipolar junction transistor (BJT): design and analysis of half wave and
fullwave rectifiers, clipping circuits and Zener regulators, BJT
characteristics and BJT amplifiers; experiments using operational amplifiers
(opamps): summing amplifier, comparator, precision rectifier, astable and
monostable multivibrators and oscillators; experiments using logic gates:
combinational circuits such as staircase switch, majority detector, equality
detector, multiplexer and demultiplexer; experiments using flipflops:
sequential circuits such as nonoverlapping pulse generator, ripple counter,
synchronous counter, pulse counter and numerical display.
3.
R.J. Tocci, Digital Systems, 6^{th} Ed., 2001. 
CS 201 Data
Structures (3006) Prerequisite: CS 101 or equivalent Performance of algorithms: space and time
complexity, asymptotics; Fundamental Data structures: linked lists, arrays,
matrices, stacks, queues, binary trees, tree traversals; Algorithms for
sorting and searching: linear search, binary search, insertionsort,
selection sort, bubblesort, quicksort, mergesort, heapsort, shellsort;
Priority Queues: lists, heaps, binomial heaps, Fibonacci heaps; Graphs:
representations, depth first search, breadth first search; Hashing: separate
chaining, linear probing, quadratic probing; Search Trees: binary search
trees, redblack trees, AVL trees, splay trees, Btrees; Strings: suffix
arrays, tries; Randomized data structures: skip lists. Texts: 1. T. H. Cormen, C. E. Leiserson, R L Rivest
and C Stein, Introduction to Algorithms, MIT Press, 2001. 2. M. A. Weiss, Data Structures and Problem Solving Using Java,
AddisonWesley, 1997. References: 1.
A. M .Tannenbaum, Y Langsam and M J Augenstein, Data Structures Using C++,
Prentice Hall India, 1996. 2.A .H. Aho, J. E.
Hopcroft and J. Ullman, Data Structures and Algorithms,
AddisonWesley, 1987. 3.R. Sedgewick, Algorithms
in C++ Parts 14, 3^{rd} Ed., Pearson Education, 1998. 4.R. Sedgewick, Algorithms
in C++ Part 5, 3^{rd} Edn., Pearson Education, 2002. 
CS 202 Discrete Mathematics (4008) Set theory: sets, relations, functions,
countability; Logic: formulae, interpretations, methods of proof, soundness
and completeness in propositional and predicate logic; Number theory:
division algorithm, Euclid's algorithm, fundamental theorem of arithmetic,
Chinese remainder theorem, special numbers like Catalan, Fibonacci, harmonic
and Stirling; Combinatorics: permutations, combinations, partitions, recurrences, generating functions;
Graph Theory: paths, connectivity, subgraphs, isomorphism, trees, complete
graphs, bipartite graphs, matchings, colourability, planarity, digraphs;
Algebraic Structures: semigroups, groups, subgroups, homomorphisms, rings,
integral domains, fields, lattices and boolean algebras. Texts: 1.
C. L. Liu, Elements of
Discrete Mathematics, 2^{nd} Ed., Tata McGrawHill, 2000 2.
R. C. Penner, Discrete
Mathematics: Proof Techniques and Mathematical Structures, World
Scientific, 1999. References: 1.R. L. Graham, D E
Knuth, and O Patashnik, Concrete Mathematics, 2^{nd} Ed.,
AddisonWesley, 1994. 2.K. H. Rosen, Discrete
Mathematics & its Applications, 6^{th} Ed., Tata McGrawHill,
2007. 3.J. L. Hein, Discrete
Structures, Logic, and Computability, 3^{rd} Ed., Jones and
Bartlett, 2010. 4.N. Deo, Graph
Theory, Prentice Hall of India, 1974. 5.S. Lipschutz and M.
L. Lipson, Schaum's Outline of Theory and Problems of Discrete Mathematics,
2^{nd} Ed., Tata McGrawHill, 1999. 6.J. P. Tremblay and
R. P. Manohar, Discrete Mathematics with Applications to Computer Science,
Tata McGrawHill, 1997. 
CS 221
Digital Design (3006)
Boolean
Algebra and switching functions; Minimization and realization using logic
gates, ROMs, PLAs, multiplexers; Circuits for code conversion; Flipflops,
registers, counters; Finite state model: State tables and diagrams; State
minimization; Excitation functions of memory elements; Synthesis of
synchronous sequential circuits; Representation and synthesis using ASM
charts; Incompletely specified machines; Specification and synthesis of asynchronous
sequential machines; Current trends in digital design: ASIC, FPGA, etc.;
Number representation: fixed and floating point; Addition, subtraction,
multiplication and division of numbers. Texts:
1. M.
M. Mano and M. D. Ciletti, Digital Design, 4^{th} Ed., Pearson
Education, 2007. 2. R.
H. Katz and G. Boriello, Contemporary Logic Design, 2^{nd}
Ed., Prentice Hall of India, 2009. References: 1.
A. P. Malvino, D. P. Leach and G. Saha, Digital Principles and
Applications, 7^{th} Ed., McGraw Hill, 2010. 2. Z. Kohavi and N. Jha, Switching and Finite
Automata Theory, 3^{rd} Ed., Cambridge University Press, 2010. 3. S.
C. Lee, Digital Circuits and Logic
Design, Prentice Hall of India, 2006. 4. J.
F. Wakerly, Digital Design Principles and Practices, 4^{th}
Ed., Prentice Hall of India, 2008. 
CS 210 Data
Structures Laboratory (0033) Programming Laboratory will be set in
consonance with the material covered in CS201. All programming assignments are
to be in object oriented programming languages like C++ or Java. References: 1.J Gosling, B Joy, G L Steele and G Bracha, The Java Language
Specification, 2^{nd} Ed., AddisonWesley, 2000. 2.B Stroustrup, The C++ Programming Language, 3^{rd} Ed.,
AddisonWesley Longman Reading MA, 1997. 3.S B Lippman, C++ Primer,
2^{nd} Ed.,
AddisonWesley, 1991. 4.T Budd, C++ for Java Programmers, Addison Wesley, 1999. 5.M C Daconta, Java for C/C++ programmers, John Wiley & Sons,
1996. 
CS 241 System
Software Laboratory
(0033) Overview
of Unix system, commands and utilities; Basic Linux administration and
installation: grub, rpm, yum, disk partitioning; Basic Linux utilities,
logging, backup, authentication; Internet mail system: send mail, elm, mail
administration; Program Maintenance: make, sccs, debugging with gdb and ddd;
Archiving: shar, tar; Shell use: redirection, .cshrc, environment variables;
Regular Expression parsing: grep, egrep, sed, awk; Shell programming: bash;
Scripting Languages like Perl, Python, Java Script; Database Driven Web Site:
PHP and MySQL; References: 1.E.
Nemeth, G. Snyder and T. R. Hein, Linux Administration Handbook,
Prentice Hall PTR, 2002. 2.L.
Wall, T. Christainsen and J. Orwant, Programming PERL, 3^{rd} Ed., O’Reilly, 1999. 3.D.
Curry, UNIX Systems Programming for SVR4, O’Reilly, 1996. 4.S.
Kochan and P. Wood, Unix Shell programming, 3^{rd} Ed., SAMS,
2003. 5.S.
Das, Unix System V.4 Concepts and Applications, 3^{rd} Ed.,
Tata McgrawHill, 2003. 6.A.
Rubini and J. Corbet, Linux Device Drivers, 2^{nd} Ed.,
O’Reilly, 2001. 7.D.
Flanagan, Javascript: The Definitive Guide, 5^{th} Ed.,
O'Reilly, 2006. 8.D.
Gosselin, PHP Programming with MySQL, Course Technology, 2006. CS 203 Formal
Languages and Automata Theory (3006) Prerequisite: CS 202 or equivalent. Alphabets,
languages, grammars; Finite automata: regular languages, regular expressions;
Contextfree languages: pushdown automata, DCFLs; Context sensitive
languages: linear bounded automata; Turing machines: recursively enumerable
languages; Operations on formal languages and their properties; Chomsky
hierarchy; Decision questions on languages. Texts: 1. J. E. Hopcroft, R. Motwani and J. D.
Ullman, Introduction to Automata Theory, Languages and Computation, 2^{nd}
Ed., Pearson Education, 2000. References: 1.
M. Sipser, Introduction to the Theory of Computation, Thomson, 2004. 2.
H. R. Lewis and C. H. Papadimitriou, Elements of the Theory of Computation,
Pearson Education Asia, 2001. 3. D. C. Kozen, Automata
and Computability, SpringerVerlag, 1997. 
CS 204 Algorithms (3006) Prerequisite: CS201 plus CS202 or equivalent. Models of Computation: space and time
complexity measures, lower and upper bounds; Design techniques: the greedy method,
divideandconquer, dynamic programming, backtracking, branch and bound;
Lower bound for sorting; Selection; Graph Algorithms: connectivity, strong
connectivity, biconnectivity, topological sort, shortest paths, minimum
spanning trees, network flow; The disjoint set union problem; String
matching; NPcompleteness; Introduction to approximate algorithms and
Randomized algorithms. Texts: 1.T H Cormen, C E Leiserson, R L Rivest and C
Stein, Introduction to Algorithms, MIT Press, 2001. 2.J.
Kleinberg and E. Tardos, Algorithm Design, Addison Wesley, 2005, References: 1.
A Aho, J E Hopcroft and J D Ullman, The Design and Analysis of Computer
Algorithms, AddisonWesley, 1974. 2. S Sahni, Data Structures, Algorithms and Applications in C++,
McGrawHill, 2001. 3. M T Goodrich and R Tamassia, Algorithm
Design: Foundations, Analysis and Internet Examples, John Wiley &
Sons, 2001. 
CS 222
Computer Organization and Architecture (3006)
Prerequisite:
CS221
or equivalent. Arithmetic
and Logic Unit; Memory Organization; Instruction sets; RISC and CISC
paradigms; Various addressing modes; Assembly language programming;
Instruction interpretation: microoperations and their RTL specification; CPU
design: Hardwired and Microprogrammed; I/O transfer techniques: Program
controlled, Interrupt controlled and DMA; Introduction to computer buses,
peripherals and current trends in architecture. Texts:
1.W.
Stallings, Computer Organization and Architecture: Designing for
Performance, 8^{th} Ed., Pearson Education India. 2010. 2.D. A. Patterson and J. L.
Hennessy, Computer Organization and Design, 4^{th} Ed., Morgan
Kaufmann, 2008. References: 1.A. S. Tanenbaum, Structured Computer Organization,
5^{th} Ed., Prentice Hall of India, 2009. 2.V. C. Hamacher, Z. G. Vranesic and S. G. Zaky, Computer
Organization, 5^{th} Ed., McGraw Hill, 2002. 3.J. L. Hennessy and D. A.
Patterson, Computer Architecture: A Quantitative Approach, 4^{th}
Ed., Morgan Kaufmann, 2006. 4.D. V. Hall, Microprocessors and Interfacing, 2^{nd}
Ed., McGraw Hall, 2006. 
CS 223
Hardware Laboratory (0033)
Prerequisite:
CS
221 or equivalent. Experiments related to topics covered in CS221:
Digital Design and CS222: Computer Organization and Architecture. Reference: 1.Relevant Analog and Digital IC and component manuals. 
CS 242 Software
Engineering (2004) Prerequisite: CS201 or equivalent Software
and Software Engineering; The Software Process: Process models; Modeling: Requirements
engineering, requirements modeling, UML, design concepts, etc.; Quality
Management; Product metrics; Process and project metrics; Software estimation
techniques; Software testing strategies; Project scheduling; Risk management;
Maintenance. Texts: 1.R.
S. Pressman, Software Engineering: A
Practioner's Approach, 7^{th} Ed., McGraw Hill, 2010. References: 1.I.
Sommerville, Software Engineering, 5^{th} Ed., AddisonWesley, 2000. 2.P.
Jalote, An Integrated Approach to
Software Engineering, 2^{nd} Ed., Narosa Publishing House, 2003. 3.S.
Bennett, S. McRobb and R. Farmer, Object
Oriented Systems Analysis and Design using UML, 2^{nd} Ed., Tata
McGrawHill, 2004. 
CS
243 Software Engineering
Laboratory (0033)
Laboratory will be set in consonance with
the material covered in CS242. Reference: 1. R. Farmer and S. McRobb, Object Oriented Systems Analysis and Design using UML, 2^{nd}
Ed., Tata McGraw Hill, 2004. 
CS 244 System
Programming Laboratory (0135) Assembly
Language Programming: Basic concepts of computer organization, instruction
and data representation; Linux Assembly language; Assembly Language
Programming and Simulation using X86; CMacro; Linker and Loader: Design of
Linkers and Loaders in CCompile and go loader, Absolute Loaders, Relocating
Loaders, Direct Linking Loaders. Documentation
and Presentation: Document writing and Slides using LaTex; Windows
administration: Managing the server operating system, file, and directory
services, Software distribution and updates, Profiling and monitoring
assigned servers, Security and Troubleshooting; Unix system calls like Fork,
Join, Quit. References: 1.A.S.
Tanenbaum, Structured Computer Organization, Prentice Hall, 1999. 2.R.
Britton, MIPS Assembly Language Programming, Prentice Hall, 2003. 3.J.
J. Donovan, Systems Programming, 45^{th} Reprint, Tata
McGrawHill, 1991 4.D.
M. Dhamdhere, Systems Programming And Operating Systems, 2^{nd}
Revised Ed., Tata McGrawHill, 2008. 5.J.
Levine, Linkers and Loaders, Morgan Kauffman, 1999. 6.L.
Lamport, LaTeX: A Document Preparation
System, 2^{nd} Ed., AddisonWesley Series, 1994. 7.B.
Kauler, Windows assembly language & Systems Programming: 16 and
32Bit LowLevel Programming for the PC and Windows, 2^{nd} Ed.,
CMP Books; August 1997 
CS 301 Theory
of Computation (3006) Prerequisite: CS 203 or
equivalent. Models
of computation: Turing Machine, RAM, µrecursive function, grammars;
Undecidability: Rice's Theorem, Post Correspondence Problem, logical
theories; Complexity classes: P, NP,
coNP, EXP, PSPACE, L, NL, ATIME, BPP, RP, ZPP, IP. Texts: 1.M. Sipser, Introduction
to the Theory of Computation, Thomson, 2004. 2.H. R. Lewis and
C. H. Papadimitriou, Elements of the Theory of Computation, PHI, 1981. References: 1.J. E. Hopcroft and J. D. Ullman, Introduction
to Automata Theory, Languages and Computation, Narosa, 1979. 2.S. Arora and B. Barak, Computational Complexity: A Modern Approach, Cambridge University Press,2009. 3.C.
H. Papadimitriou, Computational Complexity, AddisonWesley Publishing
Company, 1994. 4.D.
C. Kozen, Theory of Computation, Springer, 2006. 5.D.
S. Garey and G. Johnson, Computers and
Intractability: A Guide to the Theory of NPCompleteness, Freeman, New York,
1979. 
CS 321 Computer Peripherals and
Interfacing Laboratory (0135) Prerequisite: CS 222 plus CS 223 or equivalent. Familiarization with 8/16 bit
microprocessors/microcontroller kits and interfaces; Experiments related to
interfacing ADC, DAC, Motors,
Timers, Serial and Parallel ports, etc. to such kits/boards. Texts/References:
1.R. Gaonkar, Microprocessor Architecture, Programming,
and Applications with 8085, 5^{th} Ed., Penram International
Publishing, 2009. 2.D. V. Hall, Microprocessors and Interfacing, 2^{nd}
Ed., McGraw Hall, 2006. 3.Relevant Analog and Digital IC and component manuals. 
CS 341
Operating Systems (3006)
Process
Management: process, thread, scheduling; Concurrency: mutual exclusion,
synchronization, semaphores, deadlocks; Memory Management: allocation,
protection, hardware support, paging, segmentation; Virtual Memory: demand
paging, allocation, replacement, swapping, segmentation, TLBs; File
Management: naming, file operations and their implementation; File Systems:
allocation, free space management, directory management, mounting; I/O
Management: device drivers, disk scheduling. Text: 1.
A. Silberschatz and P.B. Galvin, Operating
System Concepts, 8^{th} Ed., Wiley, 2008. References: 1.W.
Stalling, Operating Systems: Internals
and Design Principles, 6^{th} ed., Pearson Education, 2008. 2.A.S. Tanenbaum, Modern Operating System, 3^{rd} Ed., Pearson, 2007. 3.D.M. Dhamdhere, Operating SystemsA Concept Based
Approach, McGrawHill, 2008 
CS 342 Operating Systems
Laboratory (0033)
Programming
assignments to build parts of an OS kernel. Use of a teaching package such as
Nachos, Pintos. Texts/References:
1.A.S. Tanenbaum, Modern Operating System, 3^{rd} Ed., Pearson, 2007. 2.D.M.
Dhamdhere, Operating SystemsA Concept
Based Approach, McGrawHill, 2008 3.Reference
manuals for Nachos and Pintos. 
CS
343 Data Communications (3006) Prerequisite: CS 222 or
equivalent. Basics
of Digital communications: Signals, noise, Nyquist rate, Shannon capacity;
Analog transmission: modulation techniques, fundamentals of modems, FDM;
Digital transmission: PCM, ADPCM, line coding, error handling techniques,
TDM, xDSL, spread spectrum; Transmission media: Guided (twisted pair,
coaxial, fiber optic) and unguided media; Balanced and unbalanced signalling,
interfacing; Principles of switching; Local area networks: Ethernet, Fast
Ethernet, introduction to Gigabit Ethernet and WLANs; Hubs, bridges and
switches. Texts: 1.W. Stallings, Data
and Computer Communications, 8^{th} Ed., Pearson India, 2007. 2.B.
Forouzan, Data Communications and Networking, 4^{th} Ed., Tata Mcgraw Hill, 2006. References: 1.A. S.
Tanenbaum, Computer Networks, 4^{th} Ed., Pearson India, 2003. 2.J.
Quinn, Digital Data Communications, 1^{st} Ed., Prentice Hall
Career and Technology, 1995. 3.P. C.
Gupta, Data Communications and Computer Networks, 2^{nd} Ed.,
Prentice Hall of India, 2009. 4.F. Halsall, Data Communications,
Computer Networks and Open Systems, 4^{th} Ed., Addison Wesley,
1996. 
CS 344
Databases (3006)
Prerequisite: CS201 plus CS204 or
equivalent. Data models with emphasis on the relational model;
Database design with ER model; Relational algebra and calculus; query
Languages (specifically SQL); RDBMS design; File & system structure:
indexed sequential, hashed, dynamic hashed, Btrees; Query processing;
Concurrency control; error recovery; security; Case studies like ORACLE,
Mysql, etc.; Introduction to Open Database Connectivity, ClientServer
environment etc. Texts: 1.A. Silberschatz,
H. F. Korth and S. Sudarshan, Database
System Concepts, 5^{th} Ed., McGraw Hill, 2006 2.R.
Ramakrishnan and J. Gehrke, Database
Management Systems, 3^{rd} Ed., McGraw Hill, 2003 References: 1.R. Elmasri and
S.B. Navathe, Fundamentals of Database
Systems, Benjamin Cummings Publishing Company, 1994. 2.P.
ONeil, Database : Principles,
Programming, Performance, Morgan Kaufmann, 1994. 3.T.J. Theorey,
Database Modeling & Design, 2^{nd} Ed., Morgan Kaufmann
Publishers, 1994. 4.J.Melton J, and
A.R. Simon, SQL: A Complete Guide,
Morgan Kaufmann Publishers, 1993. 5.H.
GarciaMolina, J. D. Ullman and J. Widom, Database
Systems: The Complete Book,1^{st} Ed., Pearson Education, 2007 
CS 345 Databases
Laboratory (0033) Familiarization with various databases packages like
Microsoft Access, ORACLE, MySql, SQL Server, DB2 etc. Clientserver and 3
tier web enabled database programming. Use of Application servers. Design and
implementation of a Database application using a multiuser DBMS. Texts/References: 1.J. Melton and A. R.
Simon, SQL: A Complete Guide,
Morgan Kaufmann, 1993 2.S. Feuerstein and
B. Pribyl, Oracle PL/SQL Programming,
5^{th} Ed., O'Reilly, 2009 3.J.
Greenspan and B. Bulger, MySQL/PHP
Database Applications, M&T Books, 2008 
CS 346 Compilers (3006) Prerequisite: CS201 plus CS203 or
equivalent. Overview
of different phases of a compiler: frontend; backend; Lexical analysis:
specification of tokens, recognition of tokens, input buffering, automatic
tools; Syntax analysis: context free grammars, top down and bottom up parsing
techniques, construction of efficient parsers, syntaxdirected translation,
automatic tools; Semantic analysis: declaration processing, type checking,
symbol tables, error recovery; Intermediate code generation: runtime
environments, translation of language constructs; Code generation:
flowgraphs, register allocation, codegeneration algorithms; Introduction to
code optimization techniques. Texts: 1.A. V. Aho, L.S. Monica R. Sethi and J. D.
Ullman, Compilers: Principles, Techniques, and Tools, 2^{nd}
Ed., Prentice Hall, 2009. References: 1.V. Raghavan, Principles of Compiler Design, McGrawHill, 2010. 2.C.N. Fischer and
R.J. Le Blanc, Crafting a Compiler with
C, Pearson Education, 2009. 3.K. D. Cooper and
L. Torczon, Engineering a Compiler, Morgan Kaufmann Publishers, 2004. 
CS 347 Compilers Laboratory (0033) Programming
assignments to build a compiler for a subset of a Clike programming
language, using tools such as Lex / Flex / JLex and Yacc / Bison / CUP etc.. Text/Reference: 1.D.
Brown, J. Levine and T. Mason, Lex
and Yacc, 2^{nd} Ed., O'Reilly Publications. 
CS
348 Computer Networks (3006) Prerequisite: CS201 plus CS343
or equivalent. Evolution
of computer networks; Data link layer: Framing, HDLC, PPP, sliding window
protocols, medium access control, Token Ring, Wireless LAN; Virtual circuit
switching: Frame relay, ATM; Network Layer: Internet addressing, IP, ARP,
ICMP, CIDR, routing algorithms (RIP, OSPF, BGP); Transport Layer: UDP, TCP,
flow control, congestion control; Introduction to quality of service;
Application Layer: DNS, Web, email, authentication, encryption. Texts: 1.L. L. Peterson and B. S. Davie, Computer
Networks: A Systems Approach, 4^{th} Ed., Elsevier India, 2007. 2.A. S.
Tanenbaum, Computer Networks, 4^{th} Ed., Pearson India, 2003.
References: 1.J. F. Kurose and K. W. Ross, Computer
Networking: A Top Down Approach, 3^{rd} Ed., Pearson India, 2005. 2.D. E.
Comer, Internetworking with TCP/IP Vol. 1, 5^{th} Ed.,
Prentice Hall of India, 2006. 3.S.
Keshav, An Engineering Approach to Computer Networking, 1^{st}
Ed., Pearson India, 1999. 4.B.
Forouzan, Data Communications and Networking, 4^{th} Ed., Tata Mcgraw Hill, 2006. 
CS
349 Networks Laboratory 0033 Unix
network measurement and analysis tools, Wireshark, Socket interface and
programming, RPC, RMI, HTML, HTTP, CGI, XML, Assignments using Network
Simulators. Texts/References:
1.W. R. Stevens, UNIX Network Programming, Volume 1:
Networking APIs: Sockets and XTI, 2^{nd} Ed., Prentice Hall,
1998. 2.S. S. Panwar, S. Mao, J. Ryoo, and
Y. Li, TCP/IP Essentials: A
Labbased Approach, Cambridge Press, 2004. 
CS 431
Programming Languages Laboratory
(0135) Introduction
to Programming in ML/Haskell/Scheme: Functional programming paradigm,
evaluation, type and type checking, data types, higher order functions.
Introduction to Programming in Prolog: Logic programming paradigm,
unification and resolution, data structures in Prolog, cuts. Concurrent
Programming: Threads, processes, synchronization monitors, concurrent
objects, concurrent programming in Java/MPI/CILK. Texts:
1.R.
Sethi and K.V. Vishwanatha, Programming Languages: Concepts and
Constructs, 2^{nd} Ed., Pearson Education, 2007 2.R. W. Sebesta, Concepts of Programming
Languages, 8^{th} Ed.,
Pearson Education, 2008. References:
1.J.
D. Ullman, Elements of ML Programming, Prentice HallGale, 1994 2.W.
F. Clocksin and C. S. Mellish, Programming in Prolog, 5^{th}
Ed. , Springer, 2004 3.M.
Herlihy and N.Shavit, Art Of Multiprocessor Programming, Elsevier,
2009 4.C. Hughes and T. Hughes, Parallel and Distributed
Programming using C++, AddisonWesley, 2008 
CS 461 Computer
Graphics (3006) Prerequisite: CS204 or equivalent. Introduction and organization of an
interactive graphics system; Scan
conversion: line, circle, and ellipse; Filling: rectangle, polygon, ellipse, and arc; Clipping: line, circle, ellipse, and
polygon; Antialiasing: unweighted
and weighted area sampling, and GuptaSproull methods; Transformations: 2D
and 3D, homogeneous
coordinates, composite and windowtoviewport transformations; 3D View: projections, specification
and implementation of 3D view; Curves
and Surfaces: polygon meshes, parametric cubic curves and bicubic
surfaces, Hermite, Bezier, and Bsplines curves and surfaces; Quadric
surfaces; Solid Modeling:
Boolean set operations, spatial partitioning methods (occupancy enumeration,
octree, and binary space partitioning tree); Hidden line and surface removal: zbuffer, listpriority, and
scan line algorithms, algorithms for binary space partitioning trees and
octrees, and ray tracing; Shading: illumination
model, polygon shading (interpolated, Goursud, and Phong), texture mapping,
shadow determination (scan line and zbuffer algorithms), transparency,
global illumination model; Introduction to GPU and animation. Texts: 1.D.
Hearn and M. P. Baker, Computer
Graphics with OpenGL, 3^{rd} Ed., Pearson Education, 2009.
References: 1.E. Angel, Interactive Computer Graphics: A TopDown Approach using OpenGL, 5^{th} Ed., Pearson Education, 2009. 2.J. D. Foley, A. Van Dam, S. K. Feiner and
J. F. Hughes, Computer Graphics:
Principles and Practice in C, 2^{nd} Ed., AddisonWesley, 1995. 3.P. Shirley and S. Marschner, Computer Graphics, India Edition, Cengage Learning, 2009. 4.F. S. Hill, Computer Graphics using OpenGL, 3^{rd}
Ed., Pearson Eduaction, 2009. 
CS 462 Graphics
Laboratory
(0033) Programming
assignments to learn and practice the concepts taught in the theory course
CS461. Text/References: 1.OpenGL programming Guide (the Red
Book). Online tutorial, available at http://fly.cc.fer.hr/~unreal/theredbook/ 2.D. P. Mukherjee and
D. Jana, Computer Graphics: Algorithms
and Implementations,PHI Learning, 2010. 