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 C­­v 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:

  1. D. J. Griffiths, Introduction to Electrodynamics, 3rd Ed., Prentice-Hall of India, 2005.
  2. A.K.Ghatak, Optics, Tata Mcgraw Hill, 2007.

 

References:

  1. N. Ida, Engineering Electromagnetics, Springer, 2005.
  2. M. N. O. Sadiku, Elements of Electromagnetics, Oxford, 2006.
  3. R. P. Feynman, R. B. Leighton and M. Sands, The Feynman Lectures on Physics, Vol.II, Norosa Publishing House, 1998.
  4. I. S. Grant and W. R. Phillips, Electromagnetism, John Wiley, 1990.

 

 

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.

References:

 

  1. A. P. Malvino, Electronic Principles, Tata McGraw-Hill, New Delhi, 1993.
  2. R. A. Gayakwad, Op-Amps and Linear Integrated Circuits, PHI, New Delhi,  2002.

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.