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 (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. |