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 0-0-3-3 |
|
|
|
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 (3-1-0-8) 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: LCAO-MO; 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 Cv and Cp;
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
regio-chemistry 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 (UV-vis,
IR, NMR); Solid phase synthesis and combinatorial chemistry; Green chemical
processes. Texts:
1. P. W. Atkins, Physical Chemistry, 5th Ed., ELBS, 1994. 2. C.
N. Banwell, and E. M. McCash, Fundamentals
of Molecular Spectroscopy, 4th Ed., Tata McGraw-Hill, 1962. 3. F.
A. Cotton, and G. Wilkinson, Advanced
Inorganic Chemistry, 3rd Ed., Wiley Eastern Ltd., New Delhi,
1972, reprint in 1988. 4. D. J. Shriver, P. W. Atkins, and C. H.
Langford, Inorganic Chemistry, 2nd
Ed., ELBS ,1994. 5. S. H. Pine, Organic Chemistry, McGraw-Hill, 5th Ed., 1987 References: 1. I. A. Levine, Physical Chemistry, 4th Ed., McGraw-Hill, 1995. 2. I. A. Levine, Quantum Chemistry, EE Ed., prentice Hall, 1994. 3. G. M. Barrow, Introduction to Molecular Spectroscopy, International Edition,
McGraw-Hill, 1962 4. J.
E. Huheey, E. A. Keiter and R. L. Keiter, Inorganic
Chemistry: Principle, structure and reactivity, 4th Ed.,
Harper Collins, 1993 5. L. G. Wade (Jr.), Organic Chemistry, Prentice Hall, 1987. |
CS 101
Introduction to Computing (3-0-0-6)
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, insertion-sort, bubble-sort, selection-sort, radix-sort, counting-sort;
Introduction to object-oriented programming Texts:
1. A Kelly and I Pohl, A Book on C, 4th 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,
4th Ed., Tata Mcgraw Hill, 2000 2. B Kernighan and
D Ritchie, The C Programming Language,
4th Ed., Prentice Hall of India, 1988. |
CS 110 Computing
Laboratory (0-0-3-3)
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 (3-1-0-8) 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; higher-order 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
first-order equations, phase plane, critical points, stability. Texts: 1.
G. B. Thomas (Jr.) and R. L. Finney, Calculus and Analytic Geometry, 9th
Ed., Pearson Education India, 1996. 2.
S. L. Ross, Differential Equations, 3rd Ed., Wiley India,
1984. References: 1. T.
M. Apostol, Calculus - Vol.2, 2nd
Ed., Wiley India, 2003. 2. W.
E. Boyce and R. C. DiPrima, Elementary
Differential Equations and Boundary Value Problems, 9th 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 (3-1-0-8) 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;
Work-energy; Power; Potential energy; Impulse-momentum and associated conservation
principles; Euler equations of
motion and its application. Texts 1. I. H. Shames, Engineering Mechanics:
Statics and Dynamics, 4th Ed., PHI, 2002. 2.
F. P. Beer and E. R. Johnston, Vector Mechanics for Engineers, Vol I - Statics, Vol II – Dynamics,
3rd Ed., Tata McGraw Hill, 2000. References 1. J.
L. Meriam and L. G. Kraige, Engineering Mechanics, Vol I – Statics, Vol II –
Dynamics, 5th Ed., John
Wiley, 2002. 2. R. C. Hibbler, Engineering Mechanics,
Vols. I and II, Pearson Press,
2002. PH 102 Physics
- II
(2-1-0-6) 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, Biot-Savart 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 (0-0-3-3) Experiments using diodes
and bipolar junction transistor (BJT): design and analysis of half -wave and
full-wave rectifiers, clipping circuits and Zener regulators, BJT
characteristics and BJT amplifiers; experiments using operational amplifiers
(op-amps): 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 flip-flops:
sequential circuits such as non-overlapping pulse generator, ripple counter,
synchronous counter, pulse counter and numerical display.
3.
R.J. Tocci, Digital Systems, 6th Ed., 2001. |
CS 201 Data
Structures (3-0-0-6) Pre-requisite: 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, insertion-sort,
selection sort, bubble-sort, 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, red-black trees, AVL trees, splay trees, B-trees; 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,
Addison-Wesley, 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,
Addison-Wesley, 1987. 3.R. Sedgewick, Algorithms
in C++ Parts 1-4, 3rd Ed., Pearson Education, 1998. 4.R. Sedgewick, Algorithms
in C++ Part 5, 3rd Edn., Pearson Education, 2002. |
CS 202 Discrete Mathematics (4-0-0-8) 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, 2nd Ed., Tata McGraw-Hill, 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, 2nd Ed.,
Addison-Wesley, 1994. 2.K. H. Rosen, Discrete
Mathematics & its Applications, 6th Ed., Tata McGraw-Hill,
2007. 3.J. L. Hein, Discrete
Structures, Logic, and Computability, 3rd 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,
2nd Ed., Tata McGraw-Hill, 1999. 6.J. P. Tremblay and
R. P. Manohar, Discrete Mathematics with Applications to Computer Science,
Tata McGraw-Hill, 1997. |
CS 221
Digital Design (3-0-0-6)
Boolean
Algebra and switching functions; Minimization and realization using logic
gates, ROMs, PLAs, multiplexers; Circuits for code conversion; Flip-flops,
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, 4th Ed., Pearson
Education, 2007. 2. R.
H. Katz and G. Boriello, Contemporary Logic Design, 2nd
Ed., Prentice Hall of India, 2009. References: 1.
A. P. Malvino, D. P. Leach and G. Saha, Digital Principles and
Applications, 7th Ed., McGraw Hill, 2010. 2. Z. Kohavi and N. Jha, Switching and Finite
Automata Theory, 3rd 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, 4th
Ed., Prentice Hall of India, 2008. |
CS 210 Data
Structures Laboratory (0-0-3-3) 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, 2nd Ed., Addison-Wesley, 2000. 2.B Stroustrup, The C++ Programming Language, 3rd Ed.,
Addison-Wesley Longman Reading MA, 1997. 3.S B Lippman, C++ Primer,
2nd Ed.,
Addison-Wesley, 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
(0-0-3-3) 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, 3rd Ed., O’Reilly, 1999. 3.D.
Curry, UNIX Systems Programming for SVR4, O’Reilly, 1996. 4.S.
Kochan and P. Wood, Unix Shell programming, 3rd Ed., SAMS,
2003. 5.S.
Das, Unix System V.4 Concepts and Applications, 3rd Ed.,
Tata Mcgraw-Hill, 2003. 6.A.
Rubini and J. Corbet, Linux Device Drivers, 2nd Ed.,
O’Reilly, 2001. 7.D.
Flanagan, Javascript: The Definitive Guide, 5th Ed.,
O'Reilly, 2006. 8.D.
Gosselin, PHP Programming with MySQL, Course Technology, 2006. CS 203 Formal
Languages and Automata Theory (3-0-0-6) Pre-requisite: CS 202 or equivalent. Alphabets,
languages, grammars; Finite automata: regular languages, regular expressions;
Context-free 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, 2nd
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, Springer-Verlag, 1997. |
CS 204 Algorithms (3-0-0-6) Pre-requisite: CS201 plus CS202 or equivalent. Models of Computation: space and time
complexity measures, lower and upper bounds; Design techniques: the greedy method,
divide-and-conquer, 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; NP-completeness; 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, Addison-Wesley, 1974. 2. S Sahni, Data Structures, Algorithms and Applications in C++,
McGraw-Hill, 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 (3-0-0-6)
Pre-requisite:
CS221
or equivalent. Arithmetic
and Logic Unit; Memory Organization; Instruction sets; RISC and CISC
paradigms; Various addressing modes; Assembly language programming;
Instruction interpretation: micro-operations 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, 8th Ed., Pearson Education India. 2010. 2.D. A. Patterson and J. L.
Hennessy, Computer Organization and Design, 4th Ed., Morgan
Kaufmann, 2008. References: 1.A. S. Tanenbaum, Structured Computer Organization,
5th Ed., Prentice Hall of India, 2009. 2.V. C. Hamacher, Z. G. Vranesic and S. G. Zaky, Computer
Organization, 5th Ed., McGraw Hill, 2002. 3.J. L. Hennessy and D. A.
Patterson, Computer Architecture: A Quantitative Approach, 4th
Ed., Morgan Kaufmann, 2006. 4.D. V. Hall, Microprocessors and Interfacing, 2nd
Ed., McGraw Hall, 2006. |
CS 223
Hardware Laboratory (0-0-3-3)
Pre-requisite:
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 (2-0-0-4) Pre-requisite: 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, 7th Ed., McGraw Hill, 2010. References: 1.I.
Sommerville, Software Engineering, 5th Ed., Addison-Wesley, 2000. 2.P.
Jalote, An Integrated Approach to
Software Engineering, 2nd Ed., Narosa Publishing House, 2003. 3.S.
Bennett, S. McRobb and R. Farmer, Object
Oriented Systems Analysis and Design using UML, 2nd Ed., Tata
McGraw-Hill, 2004. |
CS
243 Software Engineering
Laboratory (0-0-3-3)
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, 2nd
Ed., Tata McGraw Hill, 2004. |
CS 244 System
Programming Laboratory (0-1-3-5) Assembly
Language Programming: Basic concepts of computer organization, instruction
and data representation; Linux Assembly language; Assembly Language
Programming and Simulation using X86; C-Macro; Linker and Loader: Design of
Linkers and Loaders in C-Compile 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, 45th Reprint, Tata
Mc-Graw-Hill, 1991 4.D.
M. Dhamdhere, Systems Programming And Operating Systems, 2nd
Revised Ed., Tata Mc-Graw-Hill, 2008. 5.J.
Levine, Linkers and Loaders, Morgan Kauffman, 1999. 6.L.
Lamport, LaTeX: A Document Preparation
System, 2nd Ed., Addison-Wesley Series, 1994. 7.B.
Kauler, Windows assembly language & Systems Programming: 16- and
32-Bit Low-Level Programming for the PC and Windows, 2nd Ed.,
CMP Books; August 1997 |
CS 301 Theory
of Computation (3-0-0-6) Pre-requisite: 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, Addison-Wesley 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 NP-Completeness, Freeman, New York,
1979. |
CS 321 Computer Peripherals and
Interfacing Laboratory (0-1-3-5) Pre-requisite: 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, 5th Ed., Penram International
Publishing, 2009. 2.D. V. Hall, Microprocessors and Interfacing, 2nd
Ed., McGraw Hall, 2006. 3.Relevant Analog and Digital IC and component manuals. |
CS 341
Operating Systems (3-0-0-6)
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, 8th Ed., Wiley, 2008. References: 1.W.
Stalling, Operating Systems: Internals
and Design Principles, 6th ed., Pearson Education, 2008. 2.A.S. Tanenbaum, Modern Operating System, 3rd Ed., Pearson, 2007. 3.D.M. Dhamdhere, Operating Systems--A Concept Based
Approach, McGraw-Hill, 2008 |
CS 342 Operating Systems
Laboratory (0-0-3-3)
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, 3rd Ed., Pearson, 2007. 2.D.M.
Dhamdhere, Operating Systems--A Concept
Based Approach, McGraw-Hill, 2008 3.Reference
manuals for Nachos and Pintos. |
CS
343 Data Communications (3-0-0-6) Pre-requisite: 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, 8th Ed., Pearson India, 2007. 2.B.
Forouzan, Data Communications and Networking, 4th Ed., Tata Mcgraw Hill, 2006. References: 1.A. S.
Tanenbaum, Computer Networks, 4th Ed., Pearson India, 2003. 2.J.
Quinn, Digital Data Communications, 1st Ed., Prentice Hall
Career and Technology, 1995. 3.P. C.
Gupta, Data Communications and Computer Networks, 2nd Ed.,
Prentice Hall of India, 2009. 4.F. Halsall, Data Communications,
Computer Networks and Open Systems, 4th Ed., Addison Wesley,
1996. |
CS 344
Databases (3-0-0-6)
Pre-requisite: CS201 plus CS204 or
equivalent. Data models with emphasis on the relational model;
Database design with E-R model; Relational algebra and calculus; query
Languages (specifically SQL); RDBMS design; File & system structure:
indexed sequential, hashed, dynamic hashed, B-trees; Query processing;
Concurrency control; error recovery; security; Case studies like ORACLE,
Mysql, etc.; Introduction to Open Database Connectivity, Client-Server
environment etc. Texts: 1.A. Silberschatz,
H. F. Korth and S. Sudarshan, Database
System Concepts, 5th Ed., McGraw Hill, 2006 2.R.
Ramakrishnan and J. Gehrke, Database
Management Systems, 3rd 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, 2nd Ed., Morgan Kaufmann
Publishers, 1994. 4.J.Melton J, and
A.R. Simon, SQL: A Complete Guide,
Morgan Kaufmann Publishers, 1993. 5.H.
Garcia-Molina, J. D. Ullman and J. Widom, Database
Systems: The Complete Book,1st Ed., Pearson Education, 2007 |
CS 345 Databases
Laboratory (0-0-3-3) Familiarization with various databases packages like
Microsoft Access, ORACLE, MySql, SQL Server, DB2 etc. Client-server and 3
tier web enabled database programming. Use of Application servers. Design and
implementation of a Database application using a multi-user 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,
5th Ed., O'Reilly, 2009 3.J.
Greenspan and B. Bulger, MySQL/PHP
Database Applications, M&T Books, 2008 |
CS 346 Compilers (3-0-0-6) Pre-requisite: CS201 plus CS203 or
equivalent. Overview
of different phases of a compiler: front-end; back-end; 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, syntax-directed translation,
automatic tools; Semantic analysis: declaration processing, type checking,
symbol tables, error recovery; Intermediate code generation: run-time
environments, translation of language constructs; Code generation:
flow-graphs, register allocation, code-generation 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, 2nd
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 (0-0-3-3) Programming
assignments to build a compiler for a subset of a C-like 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, 2nd Ed., O'Reilly Publications. |
CS
348 Computer Networks (3-0-0-6) Pre-requisite: 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, 4th Ed., Elsevier India, 2007. 2.A. S.
Tanenbaum, Computer Networks, 4th Ed., Pearson India, 2003.
References: 1.J. F. Kurose and K. W. Ross, Computer
Networking: A Top Down Approach, 3rd Ed., Pearson India, 2005. 2.D. E.
Comer, Internetworking with TCP/IP Vol. 1, 5th Ed.,
Prentice Hall of India, 2006. 3.S.
Keshav, An Engineering Approach to Computer Networking, 1st
Ed., Pearson India, 1999. 4.B.
Forouzan, Data Communications and Networking, 4th Ed., Tata Mcgraw Hill, 2006. |
CS
349 Networks Laboratory 0-0-3-3 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, 2nd Ed., Prentice Hall,
1998. 2.S. S. Panwar, S. Mao, J. Ryoo, and
Y. Li, TCP/IP Essentials: A
Lab-based Approach, Cambridge Press, 2004. |
CS 431
Programming Languages Laboratory
(0-1-3-5) 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, 2nd Ed., Pearson Education, 2007 2.R. W. Sebesta, Concepts of Programming
Languages, 8th Ed.,
Pearson Education, 2008. References:
1.J.
D. Ullman, Elements of ML Programming, Prentice Hall-Gale, 1994 2.W.
F. Clocksin and C. S. Mellish, Programming in Prolog, 5th
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++, Addison-Wesley, 2008 |
CS 461 Computer
Graphics (3-0-0-6) Pre-requisite: 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 Gupta-Sproull methods; Transformations: 2D
and 3D, homogeneous
coordinates, composite and window-to-viewport transformations; 3D View: projections, specification
and implementation of 3D view; Curves
and Surfaces: polygon meshes, parametric cubic curves and bicubic
surfaces, Hermite, Bezier, and B-splines 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: z-buffer, list-priority, 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 z-buffer algorithms), transparency,
global illumination model; Introduction to GPU and animation. Texts: 1.D.
Hearn and M. P. Baker, Computer
Graphics with OpenGL, 3rd Ed., Pearson Education, 2009.
References: 1.E. Angel, Interactive Computer Graphics: A Top-Down Approach using OpenGL, 5th 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, 2nd Ed., Addison-Wesley, 1995. 3.P. Shirley and S. Marschner, Computer Graphics, India Edition, Cengage Learning, 2009. 4.F. S. Hill, Computer Graphics using OpenGL, 3rd
Ed., Pearson Eduaction, 2009. |
CS 462 Graphics
Laboratory
(0-0-3-3) 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. |