Course
Structure and Syllabus for BTech in Computer
Science and Engineering (to be applicable from 2013
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 
1 
0 
3 
5 

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 

SA 102 
Physical Training 
II 
0 
0 
2 
0 

12 
4 
9 
41 






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 
NCC/NSO/COS 
0 
0 
2 
0 

CS 244 
System Programming
Lab 
0 
1 
3 
5 


NCC/NSO/COS 
0 
0 
2 
0 

16 
1 
6 
40 






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. 