Sei sulla pagina 1di 14

Sem. Course No.

Course Title

1 MA1101 Functions of Several Variables

1 PH1010 Physics 1

1 CY1001 Chemistry 1

1 CS1100 Introduction to Programming

1 PH1030 Physics Lab 1

1 AM1100 Engineering Mechanics

1 Life Skills

1 NSS/NSO/NCC

Semester 1 : Total

Winter Workshop (winter)

Sem. Course No. Course Title

2 MA1102 Series and Matrices

2 PH1020 Physics 2

2 CS1200 Discrete Mathematics for CS

2 ME1120 Engineering Drawing

2 EE1100 Basic Electrical Engineering

2 CY1002 Chemistry Lab

2 NSS/NSO/NCC

Semester 2 : Total

Summer Workshop (summer)

Sem. Course No. Course Title

3 MA2130 Basic Graph Theory

3 Humanities Elective 1

3 CS2700 Programming and Data Structures

3 CS2710 Programming and Data Structures Lab


3 CS2300 Foundations of Computer Systems Design

3 CS2310 Foundations of Computer Systems Design Lab

Semester 3 : Total(*)

Sem. Course No. Course Title

4 CS2200 Languages, Machines, and Computation

4 CS2800 Design and Analysis of Algorithms

4 CS2600 Computer Organization and Architecture

4 CS2610 Computer Organization and Architecture Lab

4 CS2810 Object-Oriented Algorithms Implementation & Analysis Lab

4 MA 2040 Probability, Stochastic Process and Statistics

Semester 4 : Total(*)

Sem. Course No. Course Title

5 CS3100 Paradigms of Programming

5 CS3300 Compiler Design

5 CS3500 Operating Systems

Semester 5 : Total(*)

Sem. Course No. Course Title

6 BT1010 Life Sciences

Semester 6 : Total(*)

Summer CS3660 Industrial Training

Sem. Course No. Course Title

7 Humanities Elective 2

7 ID1200 Ecology and Environment

Semester 7 : Total(*)
Sem. Course No. Course Title

8 HS3050 Professional Ethics

8 Humanities Elective 3

MA1101 Functions of Several Variables

Functions of two and three variables:

Regions in plane, level curves and level surfaces, limit, continuity, partial derivatives,
directional derivatives and gradient, normal to level curves and tangents, extreme values,
Lagrange multipliers, double integral and iterated integral, volume of solids of
revolution, approximation of volume, triple integral, change of variables, multiple
integrals in cylindrical and spherical coordinates.

Vector calculus:

Gradient, Divergence, Curl, Line integral, conservative fields, Green's theorem, surface
area of solids of revolution, surface area, surface integral, Triple integrals and Gauss
Divergence theorem, Stokes' theorem.

Text:

G.B. Thomas Jr., M.D. Weir and J.R. Hass, Thomas Calculus, Pearson Education,
2009..

REFERENCES:

1. E. Kreyszig, Advanced Engineering Mathematics, 10th Ed., John Willey & Sons,
2010.

2. N. Piskunov, Differential and Integral Calculus Vol. 1-2, Mir Publishers, 1974.

3. G. Strang,Calculus, Wellesley-Cambridge Press, 2010.

4. J.E. Marsden, A.J. Tromba, A. Weinstein, Basic Multivariable Calculus,


Springer Verlag, 1993.
CS1100 – Introduction to Programming

Syllabus (4 modules):

 Module 1 : (Introduction to Computing) - 6 lectures


Fundamentals of Computing, Historical perspective, Early computers. Computing machine. Problems,
Pseudo-code and flowcharts. Memory, Variables, Values, Instructions, Programs.
 Module 2 : (Introduction to C) 10 lectures
o The language of C : Phases of developing a running computer program in C.
o Data concepts in C :Constants, Variables, Expressions, Operators, and operator precedence in
C.
o Statements : Declarations, Input-Output Statements, Compound statements, Selection
Statements. Conditions, Logical operators, Precedences. Repetitive statements, While
construct, Do-while Construct, For construct.
o Data types, size and values. Char, Unsigned and Signed data types. Number systems and
representations. Constants, Overflow.
o Arrays. Strings. Multidimensional arrays and matrices.
 Module 3 : (Modular Programming and Example Problems) : 10 lecture
o Functions :The prototype declaration, Function definition.
o Function call : Passing arguments to a function, by value, by reference. Scope of variable
names. Recursive function calls, Tail recursion. Analysing recursion, Tree of recursion, linear
recursion.
o Sorting problem : Selection Sort, Insertion Sort, Comparison between sorting algorithms.
Sorting in multidimensional arrays. Sorting in strings.
o Search problem : Linear search and binary search. Comparison between search procedures.
Recursive and Iterative formulations.
 Module 4 : (More Data Types in C) 14 lectures
o Pointers : Pointer variables. Declaring and dereferencing pointer variables. Pointer
Arithmetic. Examples. Accessing arrays through pointers. Pointer types, Pointers and strings.
String operations in C.
o Structures in C : Motivation, examples, declaration, and use. Operations on structures.
Passing structures as function arguments. type defining structures.
o Self-referential structures. Dynamic Data Structures. Linked Lists. Examples.
o File input-output in C. Streams. Input, output and error streams. Opening, closing and reading
from files. Programming for command line arguments.
o Numerical errors due to data representations and machine precision. Approximation and error
analysis. Illustration through examples.

Course Textbooks :

C: How to program, H. M. Deitel, P. J. Deitel, 7th edition, Pearson Education, 2010.


References Textbooks :

 R. G. Dromey, "How to Solve It By Computer", Pearson, 1982


 A.R. Bradley, "Programming for Engineers", Springer, 2011
 Kernighan and Ritchie, "The C Programming Language", (2nd ed.) Prentice Hall, 1988
 MA1102 Series and Matrices
 Series: Sequences of real numbers, Series, ratio and root test, improper integral,
integral test, alternating series, absolute and conditional convergence, power
series, radius and interval of convergence of power series, term by term
differentiation and integration of power series, Taylor?s formulas, Taylor series,
periodic functions and Fourier series, convergence of Fourier series, functions of
any period, even and odd functions, half-range expansions.
 Matrices: Matrix operations, special types of matrices, matrices as linear
transformations, linear independence, basis and dimension, rank of a matrix,
nullity of a matrix, elementary operations, inverse of a matrix, orthogonalization,
determinant, existence- uniqueness of solutions of a linear system, Gaussian
elimination, Gauss-Jordan elimination, Eigenvalues, eigenvectors, eigenvalues of
special types of matrices, similarity of matrices, basis of eigenvectors,
diagonalization.
 Texts:
 1. G.B. Thomas Jr., M.D. Weir and J.R. Hass, Thomas Calculus, Pearson
Education, 2009.
 2. E. Kreyszig, Advanced Engineering Mathematics, 10th Ed., John Willey
& Sons, 2010.
 REFERENCES:
 1. J. Hefferon, Linear Algebra, http://joshua.smcvt.edu/linearalgebra, 2014.
 2. S. Lang, Introduction to Linear Algebra, 2nd Ed., Springer-Verlag, 1986.
 3. M.T. Nair, Calculus of One Variable, Ane Books, 2014.
 4. N. Piskunov, Differential and Integral Calculus Vol. 1-2, Mir Publishers,
1974.
 5. G. Strang, Linear Algebra and its Applications, Cengage Learning, 4th
Ed., 2006.

CS1200 - Discrete Mathematics for Computer Science


Syllabus:

 Sets and Sequences : Data Models. - 3L+1T


Finite Sets, Power Set, Cardinality of finite sets, Cartesian Product, Properties of Sets,
Vector Implementations of Sets.
 Describing Sets : Logic & Proofs - 15L + 3T
Introduction to Logic. Propositional Logic, Truth tables, Deduction, Resolution,
Predicates and Quantifiers, Mathematical Proofs. Infinite sets, well-ordering. Countable
and Uncountable sets, Cantor's diagonalization. Mathematical Induction - weak and
strong induction.
 Relational Structures on Sets : Relations & Graphs - 9L + 2T
Relations, Equivalence Relations. Functions, Bijections. Binary relations and Graphs.
Trees (Basics). Posets and Lattices, Hasse Diagrams. Boolean Algebra.
 Sizes of Sets : Counting & Combinatorics - 12L + 3T
Counting, Sum and product rule, Principle of Inclusion Exclusion. Pigeon Hole Principle,
Counting by Bijections. Double Counting. Linear Recurrence relations - methods of
solutions. Generating Functions. Permutations and counting.
 Structured Sets : Algebraic Structures - 6L + 2T
Structured sets with respect to binary operations. Groups, Semigroups, Monoids. Rings,
and Fields. Vector Spaces, Basis.

Textbook:

 Discrete Mathematics and its Applications - Kenneth H. Rosen 7th Edition -Tata McGraw
Hill Publishers - 2007

References:

 Elements of Discrete Mathematics, C. L Liu, McGraw-Hill Inc, 1985. Applied


Combinatorics, Alan Tucker, 2007.
 Concrete Mathematics, Ronald Graham, Donald Knuth, and Oren Patashnik, 2nd Edition
- Pearson Education Publishers - 1996.
 Combinatorics: Topics, Techniques, Algorithms by Peter J. Cameron, Cambridge
University Press, 1994 (reprinted 1996).
 Topics in Algebra, I.N. Herstein, Wiley, 1975.

MA2130 Basic Graph Theory

Basics: Graphs, subgraphs, isomorphism, representation of graphs, degrees and


graphicalsequences, walks, trails, paths, cycles, Connectivity, bipartite graphs.

Trees and connectivity: Characterizations of trees, minimum-spanning-trees,


number of trees, Cayley's formula, shortest path algorithms, cut-sets,
Characterization of blocks.

Eulerian and Hamiltonian graphs: Characterizations, Necessary/sufficient


conditions. Coverings and independent sets: Basic relations, matchings in bipartite
graphs, Tutte's Perfectmatching theorem and consequences.
Colorings: Edge-colorings of bipartite graphs, Gupta Vizing's theorem, greedy
algorithm for vertex-colorings, Brook's theorem, clique-number and vertex
chromatic number. Planar graphs: Euler's formula and its consequences,
Kuratowski's Characterization. Directed graphs: Basics, various connectivities and
tournaments.

TEXT:

J.A Bondy and U.S.R Murthy, Graph Theory with Applications, Macmillan, 1976.

REFERENCES:

D.B. West, Introduction to Graph Theory, P.H.I 1999.

CS2700 - Programming and Data Structures

Topics:

 Review of Problem Solving using computers, Abstraction, Elementary Data Types:


Algorithm design- Correctness via Loop invariants as a way of arguing correctness of
programs, preconditions, post conditions associated with a statement. (3 lectures)
Complexity and Efficiency via model of computation (notion of time and space),
mathematical preliminaries, Elementary asymptotics (big-oh, big-omega, and theta
notations). (3 lectures)
 ADT Array -- searching and sorting on arrays: Linear search, binary search on a sorted
array. Bubble sort, Insertion sort, Merge Sort and analysis; Emphasis on the comparison
based sorting model. Counting sort, Radix sort, bucket sort. (6 lectures)
 ADT Linked Lists, Stacks, Queues: List manipulation, insertion, deletion, searching a key,
reversal of a list, use of recursion to reverse/search. Doubly linked lists and circular
linked lists. (3 lectures) Stacks and queues as dynamic data structures implemented
using linked lists. Analyse the ADT operations when implemented using arrays. (3
lectures)
 ADT Binary Trees: Tree representation, traversal, application of binary trees in Huffman
coding. Introduction to expression trees: traversal vs post/pre/infix notation. Recursive
traversal and other tree parameters (depth, height, number of nodes etc.) (4 lectures)
 ADT Dictionary: Binary search trees, balanced binary search trees - AVL Trees. Hashing -
collisions, open and closed hashing, properties of good hash functions. (3+3 lectures)
 ADT Priority queues: Binary heaps with application to in-place sorting (5 lectures)
 Graphs: Representations (Matrix and Adjacency List), basic traversal techniques: Depth
First Search + Breadth First Search (Stacks and Queues) (5 lectures)
 The laboratory component will require the student to write computer programs using a
careful choice of data structures (in C language) from scratch, based on the concepts
learnt in the theory course.

Textbooks:

 Data Structures and Algorithm Analysis in C, by Mark Allen Weiss, Addison-Wesley, (1997).

References:

 Data structures and Algorithms in C, by Adam Drozdek (1994).

 How to solve it by Computer, by R G Dromey (PHI -- 1982, Paperback 2008).

 Fundamentals of Data Structures in C -- by Horowitz, Sahni and Anderson-Freed, Silicon Press, (2007).

CS2300 - Foundations of Computer Systems Design

Syllabus Outline:

Basics of Boolean Logic � Boolean Arithmetic and number representation �


Combinational and Sequential Logic � Microarchitectures and Application Binary
Interface � Assemblers � Syntax Analysis of Programs � Code generation �
fundamentals of operating Systems.

In the lab part � the components taught in the course shall be described using a
suitable description language and integrated to form a system; the assembler,
compiler and OS concepts shall be ported on the system built above.

Text Book

The Elements of Computing Systems: Building a Modern Computer from First Principles, Noam Nison and
Shimon Schocken, MIT Press, 2005.

References
 C. H. Roth, Fundamentals of Logic design, Jaico Publishers, 1998.
 V. P. Nelson, H.T. Nagle, E.D. Caroll and J.D. Irwin, Digital Logic Circuit Analysis and Design, Prentice
Hall International, 1995
 S. Brown and Z Vranesic, Fundamentals of Logic Design with VHDL Design, Tata McGraw-Hill , 2000
 F.J. Hill and G.R.Peterson, Computer Aided Logical Design with Emphasis on VLSI, John Wiley & Sons,
1993
 C.Hamacher, Z.Vranesic, S.Zaky and N.Manjikian, Computer Organization and Embedded Systems,
6th Edition, McGraw-Hill, 2012

CS2200 - Languages, Machines and Computation

Syllabus

Four basic themes (but related in a flow) : 44L + 12T

 Finite Automata & Regular Languages - 13L + 3T


Languages vs Problems. Finite State Automata, Regular Languages. Closure properties,
Limitations, Pumping Lemma, Myhill-Nerode relations, Quotient Construction.
Minimization Algorithm.
 Non-determinism & Regular Expressions - 8L + 2T
Notion of non-determinism. Acceptance condition. Subset construction. Pattern
matching and regular expressions. Regular Expressions and Regular languages. More
closure properties of regular languages.
 Grammars & Context-free Languages(CFLs) - 15L + 5T
Grammars and Chomsky Hierarchy, CFLs, Regular Grammars, Chomsky Normal Form,
Pumping Lemma for CFLs, Inherent Ambiguity of Context-Free Languages, Cock-
Younger-Kasami Algorithm, Applications to Parsing. Pushdown Automata(PDA), PDA vs
CFLs. Deterministic CFLs.
 Turing Machines & Computability - 9L + 2T
Introduction to Turing Machines, Configurations, Halting vs Looping. Multi-tape Turing
machines. Recursive and Recursively enumerable languages. Undecidability of Halting
Problem. Reductions. Introduction to Theory of NP-completeness.

Textbooks

 Automata and Computability, Dexter C. Kozen, Springer Publishers, 2007.


 Introduction to Automata Theory, Languages and Computation, Hopcroft, Motwani, and Ullman,
Pearson Publishers, Third Edition, 2006.
References:

 Elements of the Theory of Computation, H. R. Lewis and C.H. Papadimitriou, Prentice Hall Publishers,
1981
 Introduction to Languages and the Theory of Computation, John. C. Martin, Tata McGraw-Hill, 2003.

CS2800 - Design and Analysis of Algorithms


Syllabus

 Introduction: Problem solving -- adding 2 n-bit numbers, multiplication as repeated


addition. Running time analysis -- recall of asymptotic notation, big-oh, theta, big-
omega, and introduce little-oh and little-omega. Worst case and average case
complexity (3 lectures + 1 tutorial).
 Basic paradigms with illustrative examples -- incremental design (e.g., incremental
sorting, interpolating polynomials), decremental design (e.g., GCD with discussion on
input size, factorial), and pruning (e.g., order statistics). Divide and Conquer: Integer
multiplication revisited with an efficient algorithm that motivates and leads into
recurrences. Solving recurrences using recurrence trees, repeated substitution,
statement of master theorem. Brief recall of merge sort and its recurrence. Median in
worst case linear time. (7+2)
 Application of Graph Traversal Techniques: Recall representation of graphs, BFS (as a
method for SSSP on unweighted graphs), DFS, connected components, topological
sorting of DAGs, biconnected components, and strongly connected components in
directed graphs. (4+1)
 Greedy Algorithms: Greedy choice, optimal substructure property, minimum spanning
trees -- Prims and Kruskals, Dijkstra�s shortest path using arrays and heaps, fractional
knapsack, and Huffman coding (use of priority queue). (9+3) Dynamic Programming:
Integral knapsack (contrasted with the fractional variant), longest increasing
subsequence, edit distance, matrix chain multiplication, and independent sets in trees.
(The instructor may choose a subset that fits within the time frame.) (6+2)
 String Matching: Boyer Moore algorithm. (3).
 NP-completeness: reduction amongst problems, classes NP, P, NP-complete, and
polynomial time reductions (3+1)

Textbooks

 Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein, MIT Press, Third Edition, 2009.

References
 Algorithms, by Dasgupta, Papadimitrou and Vazirani, McGraw-Hill Education, 2006.
 Computer Algorithms, by Horowitz, Sahni, and Rajasekaran, Silicon Press, 2007.
 Algorithm Design, by Kleinberg and Tardos, Pearson, 2005.
 Algorithm Design, by Goodrich and Tamassia, Wiley, 2001.

CS2600 - Computer Organization and Architecture


Syllabus Outline

Hardware support for segmentation, paging, interrupt service, task switching, instruction set
architecture and addressing modes, performance enhancement through Instruction level
parallelism, branch prediction, pipelined arithmetic units, caches, translation look-aside buffers
and multi core. Advanced techniques for cache-coherency in multi-core architecture.

The Lab part shall include assembly language programming to demonstrate translation of
standard programming language constructs, setting up hardware assisted structures to
demonstrate segmentation, interrupt service, task context maintenance and paging.

Text Books

 Computer Architecture and Organization � Designing for Performance, William Stallings, Ninth
edition, Pearson Education series, 2014.
 Computer Organization and Design � The Hardware/Software Interface, David A. Patterson and
John L. Hennessy, Fifth Edition, Morgan Kaufmann, 2013

CS2810 - Object Oriented Algorithms Implementation and Analysis


Topics

 Object Oriented Programming -- Objects, Operator Overloading, Function and Object Polymorphism,
Inheritance, Abstraction, Function Pointers, File I/O.
 Data Structures and Algorithms Implementation and Analysis based on topics covered in CS2800. The
following list is not exhaustive --
 Stacks, Queues, Searching and Sorting (Internal and External), Graph Algorithms, Trees (including
Balanced and In-Memory/In-Disk Storage), Hash Tables, Dynamic Programming, Matrix Operations
(including Multiplication, Transpose, Inverse, Gaussian Elimination).
References:

 Data Structures and Algorithm Analysis in C++ Hardcover, by Mark A. Weiss, Jun 2013, Publisher: PHI;
4 edition, ISBN-10: 013284737X ISBN-13: 978-0132847377.
 Algorithms in C++ : Fundamentals, Data Structures, Sorting, Searching, Parts 1-4, 3rd Edition
(Paperback), Pearson India, ISBN-10 8131713059, 2009, ISBN-13 9788131713051.

MA2040 Probability, Stochastic Process and Statistics

Probability: Probability models and axioms, conditioning and Bayes' rule,


independence discrete random variables; probability mass functions; expectations,
examples, multiple discrete random variables: joint PMFs, expectations, conditioning,
independence, continuous random variables, probability density functions, expectations,
examples, multiple continuous random variables, continuous Bayes rule, derived
distributions; convolution; covariance and correlation, iterated expectations, sum of a
random number of random variables.

Stochastic process: Bernoulli process, Poisson process, Markov chains. Weak law of
large umbers, central limit theorem.

Statistics: Bayesian statistical inference, point estimators, parameter estimators, test of


hypotheses, tests of significance. .

TEXT:

D. Bertsekas and J. Tsitsiklis, Introduction to Probability, 2nd ed, Athena


Scientific, 2008.

REFERENCES:

1. K.L. Chung, Elementary Probability Theory with Stochastic Process, Springer


Verlag, 1974.

2. A. Drake, Fundamentals of Applied Probability Theory. McGraw-Hill, 1967.

3. O. Ibe, Fundamentals of Applied Probability and Random Processes.Academic


Press, 2005.

4. S. Ross, A First Course in Probability. 8th ed. Prentice Hall, 2009.


CS3300 - Compiler Design

Topics:

 Introduction to language translators and overview of the compilation process.


 Lexical analysis: specification of tokens, token recognition, conflict resolution.
 Parsing: Overview of CFG, Parse trees and derivations, left recursion, left factoring, top-
down parsing, LALR parsing, conflict resolution, dangling-else.
 Syntax directed translation. Semantic analysis, Type checking, intermediate code
generation.
 Runtime environments: activation records, heap management
 Code optimization: basic blocks, liveness, register allocation.
 Advanced topics: Overview of machine dependent and independent optimizations.

Textbook(s)

 Compilers: Principles, Techniques, and Tools, Alfred Aho, Monica Lam, Ravi Sethi, Jeffrey D. Ullman,
Addison-Wesley, 2007
 Modern compiler implementation in Java, Second Edition, Andrew W. Appel, Jens Palsberg,
Cambridge University Press, 2002.

CS3500 - Operating Systems

Syllabus Outline

 Process Management � Scheduling (essential topics: context-switch, unix fork,


scheduling algorithms representing fairness, infinite wait, optimal scheduling, priority
inversion)
 Synchronization Primitives and Problems, Deadlocks (essential topics: Peterson's
algorithm, monitors)
 Memory Management � Virtual Memory, Demand Paging (essential topics:
fragmentation, pinning, Belady's anomaly, thrashing)
 File systems; I/O Management (essential topics: DMA, delayed writes, elevator
algorithm). Security.

The Lab part shall include experiments that shall illustrate booting of a system,
implementation of process, memory, file and I/O management concepts, preferably
using a popular operating system as a case study.
Text Books

o Operating Systems Concepts, Abraham Silberschatz, Peter B. Galvin and Greg Gagne, Wiley,
2012.
o The Design of the Unix Operating System � Maurice Bach, Prentice Hall, 1988.

References

o Modern Operating Systems, Andrew S Tanenbaum and Herbert Bos, Fourth Edition, Pearson
Education, 2014.
o Operating Systems: Principles and Practice, Thomas Anderson and Michael Dahlin, Recursive
Books, 2014.

Potrebbero piacerti anche