[go: up one dir, main page]

0% found this document useful (0 votes)
47 views56 pages

Btech CS

The document outlines the curriculum and course structure for a Bachelor of Technology in Computer Science and Engineering program over 8 semesters. It lists the courses, credits, lectures, tutorials, and practicals for each semester. The courses cover topics such as data structures, algorithms, programming, operating systems, databases, computer architecture, networks, and electives. Laboratories are included for hands-on learning to accompany technical courses.

Uploaded by

Kunal Dixit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views56 pages

Btech CS

The document outlines the curriculum and course structure for a Bachelor of Technology in Computer Science and Engineering program over 8 semesters. It lists the courses, credits, lectures, tutorials, and practicals for each semester. The courses cover topics such as data structures, algorithms, programming, operating systems, databases, computer architecture, networks, and electives. Laboratories are included for hands-on learning to accompany technical courses.

Uploaded by

Kunal Dixit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Course Structure & Curriculum

For
B. Tech. Programme

in

Computer Science & Engineering

Motilal Nehru National Institute of Technology Allahabad

1
Curriculum and Syllabus for
Bachelor of Technology in
Computer Science & Engineering
3rd Semester (Computer Science & Engineering)
Sub.
Subject Lectures Tutorials Practical Credits
Code
CS-13101 Data Structures 4 - - 4
MS-13101 Management of IT Industries 3 - - 3
EC-13103 Analog & Digital Electronics 4 - - 4
CS-13104 Foundations of Logical Thought 4 - - 4
CS-13105 Object Oriented Programming 3 - - 3
CS-13201 Object Oriented Programming (Lab.) - - 3 2
CS-13202 Data Structures (Lab) - - 3 2
EC-13203 Analog & Digital Electronics (Lab) - - 3 2
Total 18 9 24

Total Hr. = 27 Total Credits = 24

4th Semester (Computer Science & Engineering)


Sub. Code Subject Lectures Tutorials Practical Credits
CS-14101 Analysis of Algorithms 3 - - 3
CS-14102 Graph Theory & Combinatorics 3 - - 3
CS-14103 Computer Organization 3 - - 3
CS-14104 Automata Theory 4 - - 4
EC-14105 Communication Foundations 3 - - 3
CS-14105 Scientific Computing 2 - - 2
CS-14201 Programming Tools–I (Shell) (Lab.) - - 3 2
CS-14202 Analysis of Algorithms (Lab) - - 3 2
CS-14203 Automata & Compilers (Lab) - - 3 2
EC-14201 Communication Foundations (Lab) - - 3 2
Total 18 12 26
Total Hr. = 30 Total Credits = 26

2
5th Semester (Computer Science & Engineering)

Sub. Subject Lecture Tutorials Practical Credits


Code s
CS-15101 Microprocessor and its Application 3 - - 3
CS-15102 Operating Systems 4 - - 4
CS-15103 Database Management System 4 - - 4

CS-15104 Object Oriented Modeling 4 - - 4


CS-15105 Operation Research 3 - - 3
CS-15106 Computer Architecture 3 - - 3

CS-15201 Programming Tools–II (Systems Calls - - 3 2


Lab)

CS-15202 Microprocessor (Lab) - - 3 2


CS-15203 Operating Systems (Lab) - - 3 2
CS-15204 Database System (Lab) - - 3 2
(Lab)
Total 21 12 29

Total Hr. = 33 Total Credits= 29

6th Semester (Computer Science & Engineering)

Sub.
Subject Lectures Tutorials Practical Credits
Code
CS-16101 Embedded Systems 3 - - 3
Compiler Construction
CS-16102 3 - - 3
CS-16103 Data Mining 3 - - 3
CS-16104 Cryptography & Network Security 3 - - 3
Computer Networks
CS-16105 4 - - 4
CS-16106 Software Engineering 3 - - 3
Data Mining
CS-16202 - - 3 2
(Lab)
CS-16203 Embedded Systems (Lab) - - 3 2
Computer Networks (Lab)
CS-16204 - - 3 2
CS-16201 Mini Project - - 3 2
Total 19 12 27

Total Hr. = 31 Total Credits= 27


3
7th Semester (Computer Science & Engineering)

Sub. Subject Lectures Tutorials Practical Credits


Code
CS-17101 Distributed System 4 - - 4
CS-17102 Wireless & Mobile Networks 3 - - 3

CS-17501 Open Elective – I 3 - - 3


To CS-
17599
CS-17301 to Professional Elective – I 3 - - 3
CS-17310
CS-17301 to Professional Elective – II 3 - - 3
CS-17310
CS-17201 Distributed System (Lab) - - 3 2
CS-17601 Project - 6 - 6
Total 16 6 3 24

Total Hr. = 25 Total Credits= 24

8th Semester (Computer Science & Engineering)

Sub. Subject Lectures Tutorials Practical Credits


Code
CS-18101 Formal Methods 4 - - 4
CS-18201 Formal Methods (Lab)
- - 3 2
CS-18501 to Open Elective – II
3 - - 3
CS-18599
CS-18301 to Professional Elective – III
CS-18310
3 - - 3
CS-18301 to Professional Elective – IV
CS-18310
3 - - 3
CS-18601 Project - 6 - 6
Total 13 6 3 21

Total Hr. = 22 Total Credits= 21

4
List of Elective (Computer Science & Engineering)

Professional Elective I & II (Pool – 1)

Sno. Subject Name Subject Code


1 Artificial Intelligence CS17301
2 Data Compression CS17302
3 Data Warehousing and Mining CS17303
4 Design Pattern CS17304
5 Functional Programming CS17305
6 Genetic Algorithm CS17306
7 Network Administration CS17307
8 Neural Network CS17308
9 SOSE(Service Oriented Software CS17309
Engg.)
10 XMl Based Applications CS17310

Professional Elective III & IV (Pool 2)

Sno. Subject Name Subject Code


1 Distributed & Parallel Algorithms CS18301
2 E-Commerce CS18302
3 Gaming and Animation CS18303
4 Information Retrieval CS18304
5 Pattern Recognition CS18305
6 Semantic Web (Web Ontology) CS18306
7 Software Metrics & Quality Assurance CS18307
8 Software Testing CS18308
9 Theory of Virtualization CS18309
10 Web Mining CS18310

Note : The list of Professional Electives would be enriched further.

5
Curriculum for
Bachelor of Technology in
Computer Science & Engineering

Summery Sheet (Semester Wise)

3rd Semester (Computer Science & Engineering)

Total Hr. = 27 Total Credits = 24

4th Semester (Computer Science & Engineering)


Total Hr. = 30 Total Credits = 26

5th Semester (Computer Science & Engineering)


Total Hr. = 33 Total Credits= 29

6th Semester (Computer Science & Engineering)


Total Hr. = 31 Total Credits= 27

7th Semester (Computer Science & Engineering)


Total Hr. = 25 Total Credits= 24

8th Semester (Computer Science & Engineering)


Total Hr. = 21 Total Credits= 21

Total Credits (from 3rd to 8th Semester) = 151

6
Data Structures (III Semester CSE & IT 4L)
Syllabus

Data Structures
Prerequisite: C Programming, Basic Mathematics.
Objective: Implementation of databases, designing efficient algorithms, memory management etc.
Data structures provide the necessary data abstraction for the development of large
software systems and their central role in software engineering. Data structure covers include sets,
linked lists, stacks, queues, hash tables, trees, heaps, and graphs. Students are introduced to
algorithms for searching, sorting, and data structure manipulation and learn the techniques to
analyze program efficiency. Programming using recursion and dynamic data structures are
covered.

Course Description
This course introduces the students fundamentals of data structures and takes them forward to
software design along with the course on Algorithms. It details how the choice of data structures
impacts the performance of programs for given software application. This is a precursor to DBMS
and Operating Systems. A lab course is associated with it to strengthen the concepts.

Course Outline (To be covered in 40 lectures)


1. Introduction, Elementary Data Organization, Data Structure Operations, Algorithms
Complexity, Time-Space Trade off (6)
2. Arrays, Linked List, stacks and Queues (10)
3. Tree, Binary tree, Search tree, Heap, B+ tree (10)
4. Sorting methods, External Sorting/Searching, Hashing (8)
5. Graphs (6)

Text Books
1. The Art of Computer Programming (Volume 1 and Volume 3) - D E Knuth,
2. Data Structures Using C & C++, Langsam, Augenstein & Tenenbaum,
3. Data Structures – A Programming Approach with C, Kushwaha & Mishra,
4. R.L. Kruse, B.P. Leary, C.L. Tondo, “Data structure and program design in C”
5. Fundamentals of Data Structures in C, by Ellis Horowitz, Sartaj Sahni, and Susan
Anderson-Freed

7
Management of IT Industries (III Sem CSE & IT 3L)
Syllabus

Management of IT Industries
Prerequisite: None
Objective: Competently employ broad-based analytical tools and computers for decision-making
and system design, analysis and performance. Assume managerial and leadership roles in their
chosen professional careers while working in multidisciplinary teams. Engage in continuous
learning by seeking out opportunities for higher education or ongoing training related to their
employment.
Effectively adapt to the changing demands in workplace and are able to perform increasingly
complex tasks, and tasks outside their field of expertise.
Course Description
This course introduces students the working and management of IT industries. The emphasis of
the course will be on the skills and knowledge needed to understand and successfully manage an
IT based organization. A central concept of the course is that there is a general framework for
understanding management that applies to managers in all organizations-large or small, public or
private, product-oriented or service-oriented.

Course Outline (To be covered in 30 lectures)


1. Introduction, Nature & Concept of Management; Managerial skills; Evolution of
management thought; Concept of functional management; Management styles,
Productivity measurement, productivity index, types of production system. (3)
2. Human Resource Management: Definition and theories of Managing People for IT Industry,
Human Resource Planning, responsibility assignment matrix, resource management,
developing and managing the project team, Case Studies (6)
3. IT Industry Supply Chain Management: Types, Business processes, Strategic, tactical, and
operational decisions in supply chains, performance measures, inventory management,
bullwhip effect, e-marketplaces, e-procurement, e-logistics, e-fulfillment, customer
relationship management, web services, ERP and supply chains, Case Studies (6)
4. IT Project Quality Management: Tools and techniques for quality control (Pareto Analysis,
Statistical sampling, testing), process control, SQC control charts, single, double and
sequential sampling, TQM. Case Studies (6)
5. Environmental Issues, Pollution Control Acts, Green IT Practices, Establishing a Green IT
Action Plan, techniques and technologies available to enable Green IT Case Studies
6. Comprehensive Case studies: Any three from TCS, Cisco, Infosys, Wipro, Facebook,
Accenture, Google, IBM, Microsoft etc (3)

Text Books
1. Managemenet :Global Perspectives, by Koontz and Weihrich
2. Principles of Management by Prasad, L.M.,
3. Environmental and Pollution Awareness by Sharma B.R.

8
Analog and Digital Electronics (III Semester CSE & IT 4L)
Syllabus

Analog & Digital Electronics


Prerequisite: Basic circuits, Semiconductor devices, digital logic.
Objective:
Analog and Digital Circuits is an introductory course on circuit design that aims to develop
a combination of design, analysis and experimental skills among the students. In addition, the
course will help students to understand mechanisms of sensing and actuation that are commonly
used. The laboratory component will expose the student to topics in measurement and
instrumentation.
Course Description
This course introduces the students fundamentals of basic electronics and takes them forward to
digital circuits. The course provides introduction to (semiconductor) electronic devices. Conduction
of electric currents in semiconductors, the semiconductor p-n junction, the transistor. Analysis and
synthesis of linear and nonlinear electronic circuits containing diodes and transistors. Biasing,
small signal models, frequency response, and feedback. Operational amplifiers. Further, this
course covers combinational and sequential logic circuits. Topics include Boolean algebra, logic
families, MSI and LSI circuits. This is an precursor to Computer Organization course. A lab course
is associated with it to strengthen the concepts.

Course Outline (To be covered in 40 lectures)


1. Introduction to semiconductor physics. Diode, Zener Diode, Diode as a switch, Rectifier,
Clipping and Clamping Circuits (6)
2. Bipolar Junction Transistor, Biasing of Transistor, Transistor configurations, Transistor as
an Amplifier, Transistor as a Switch. (8)
3. Introduction to FET, MOSFET, Operational Amplifier, SCR, UJT and other devices (6)
4. Introduction to Boolean Algebra and fundamental theorems, Basic Logic Gates, Realization
of combinational circuits using universal gates, Gate level minimization (8)
5. Important Digital Circuits Decoder, Multiplexer, PLA, ROM, RAM (4)
6. Flip Flops, Design of Sequential Circuits, Registers, Counters (8)

Text Books
1. Digital Design by M Morris Mano, M D Ciletti
2. Integrated Electronics by Millman & Halkias
3. Electronic Principles by Malvino
4. Foundations of Analog and Digital Electronic Circuits by Anant Agarwal and Jeffrey
Lang

9
Foundations of Logical Thought (III Semester CSE & IT 4L)
Syllabus

Foundations of Logical Thought


Prerequisite: None
Objective:
This course is aimed at Computer Science majors who have never taken any type of
mathematical theory courses before, though it is also a useful course for developing general
reasoning and problem solving skills. For those that continue studying Computer Science, this
course serves as excellent preparation for the required course Discrete Math For Computer
Scientists. However, all students taking this course should benefit by improving their reasoning and
abstract thinking skills, learning how to construct sound, logical arguments, and by learning to
detect flaws in unsound arguments.
Course Description
This course offers a presentation of fundamental tools required in advanced computer science. The
main topics covered in this subject include propositional and first-order logic, recursion, proofs,
other kinds of logic. This forms the basis for the subjects like Automata theory and formal methods.

Course Outline (to be covered in 40 lectures)


1. Introduction, Set theory, Notion of proofs , Linear congruence (8)
2. Formal logic: Propositional Logic, Relational logic, First order logic, and related issues (8)
3. Lattices and related issues (8)
4. Group Theory and related issues (6)
5. Finite Fields and related issues (6)
6. Generating Functions and related issues (4)

Text Books
1. The Essence of Logic, by John Kelly, Ed.
2. Logic for Applications, Anil Nerode and Richard A. Shore, Ed.
3. Logic, Sets, and Recursion, by Robert L. Causey, Ed.
4. Concrete mathematics: a foundation for computer science, by R. Graham, D. Knuth, O.
Patashnik,
5. A Mathematical Introduction to Logic, Enderton, H
6. Discrete Mathematical Structure with Application to Computer Science”, J.P Trembley,.
& R. Manohar

10
Object Oriented Programming (III Semester CSE & IT 3L)
Syllabus

Course Description
This is an introductory course, where students learn and practice essential programming skills
using the Java programming language. This course provides an overview of Object Oriented
Programming (OOP) concepts using Java/C++. It helps to understand basic OOP concepts and
assist in applying these concepts. The principles behind OOP discussed. It covers object-oriented
principles such as classes, objects, abstraction, composition, Inheritance, polymorphism, and
interfaces. These concepts can be implemented in the Java language. Along the way, many of the
Java library classes are seen that can be organized to solve a variety of problems. The Java
collection classes are studied. Additional topics include exception handling, database connectivity
with JDBC, and multi-threading. The course is programming intensive. By the end of this course
student will able to understand the basics of OOP and be prepared to take on more complex
challenges. A lab course is associated with it to strengthen the concepts.

Course Outline (To be covered in 30 lectures)


1. Core Java: Introduction to Object Oriented Software development through Java. Classes and
Objects. (6)
2. Inheritance, Polymorphism, Nested classes and interfaces, Exceptions, Strings, Packages,
The I/O Package.(10)
3. Advanced Java: Event Handling, AWT, Swing, Applets, Multi-Threading, Generic, The
collection frameworks.(8)
4. Networking, Java Server Pages (JSP), Java Servlet, Enterprise Java Beans (EJB), Java
Messaging Service (JMS), Java Database connectivity (JDBC).(6)

Text Books
1. Kathy Sierra and Bert Bates, “Head First Java”, 2nd edition, O’Reilly
2. Herbert Schildt , “Java : The Complete Reference”, 9th edition, Oracle Press
3. Cay S. Horstmann and Gary Cornell , “Core Java Volume I & II”, 10th edition, Prentice-Hall
4. Tony Gaddis, “Starting Out with Java: From Control Structures through Objects”, 6 th edition,
Pearson
5. David Flanagan, “Java in a Nutshell”, 5th edition, O’Reilly

11
Analysis of Algorithms (IV Semester CSE & IT 3L)
Syllabus

Analysis of Algorithms
Prerequisites: Discrete Mathematics (counting arguments, induction, recurrence relations and
discrete probability)
Objectives:
This is an introductory course in the analysis and design of combinatorial algorithms. Emphasis is
given on (i) familiarizing the students with fundamental algorithmic paradigms and (ii) rigorous
analysis of combinatorial algorithms. This is a modern introduction to combinatorial algorithms and
it maintains some consistency with previous courses.
Course Description
This course teaches techniques for the analysis of efficient algorithms, emphasizing methods
useful in practice. Algorithms are recipes for solving computational problems. In this course we will
study fundamental algorithms for solving a variety of problems, including sorting, searching, divide-
and-conquer, dynamic programming, greediness, and probabilistic approaches. Algorithms are
judged not only by how well they solve a problem, but also by how effectively they use resources
like time and space. Techniques for analyzing time and space complexity of algorithms and to
evaluate tradeoffs between different algorithms. Analysis of algorithms is studied - worst case,
average case, and amortized - with an emphasis on the close connection between the time
complexity of an algorithm and the underlying data structures. NP-Completeness theory is
examined along with methods of coping with intractability, such as approximation and probabilistic
algorithms. A basic understanding of mathematical functions and data structures is a prerequisite
for the subject. A lab course is associated with it to strengthen the concepts.

Course Outline (To be covered in 30 lectures)


1. Introduction, Review of basic concepts, advanced data structures like Binomial Heaps,
Fibonacci Heaps (5)
2. Divide and Conquer with examples such as Sorting, Matrix Multiplication, Convex hull
etc(6)
3. Dynamic programming with examples such as Kanpsack, All pair shortest paths etc (4)
4. Backtracking, Branch and Bound with examples such as Travelling Salesman Problem etc
(6)
5. Algorithms involving Computational Geometry (4)
6. Selected topics such as NP-completeness, Approximation algorithms, Randomized
algorithms, String Matching (5)

Text Books
1. Introduction to Algorithms by Thomas H. Coreman, Charles E. Leiserson and
Ronald L. Rivest
2. Fundamentals of Computer Algorithms by E. Horowitz & S Sahni
3. The Design and Analysis of Computer Algorithms by Aho, Hopcraft, Ullman,

12
Graph Theory and Combinatorics (IV Semester CSE & IT 3L)
Syllabus

Graph Theory & Combinatorics


Prerequisites: Discrete Mathematics, Computer Algorithms and Programming
Objectives: The course aims to introduce the students about topics and techniques of Graph
Theory and Combinatorial analysis. The course provides a large variety of applications and,
through some of them, the algorithmic approach to the solution of problems in computer science
and related areas. This helps in developing mathematical maturity skills of students. To present a
survey of essential topics for computer science students who will encounter some of them again in
more advanced courses.
Course Description
The course provides an introduction to graph theory and combinatorics, the two cornerstones of
discrete mathematics. The student will gain an insight into the basic definitions of relevant
vocabulary from graph theory and combinatorics, and know the statements and proofs of many of
the important theorems in the subject. It helps to simulate real world problems, with applications in
communication and networks, operating systems, robotics, wireless and sensor networks, VLSI
and many more. Topics that will be discussed include Euler formula, Hamilton paths, planar graphs
and coloring problem; the use of trees in sorting and prefix codes; useful algorithms on networks
such as shortest path algorithm, minimal spanning tree algorithm and min-flow max-cut algorithm.
The Prerequisite is basic knowledge of set and matrix theory

Course Outline (To be covered in 30 lectures)


1. Combinatorics Basic counting techniques, pigeon-hole principle, recurrence relations,
Polya's counting theorem. Introduction to probabilistic method in combinatorics (6)
2. Fundamental concepts of graphs and digraphs, (4)
3. Spanning tree, connectivity, optimal graph traversals (5)
4. Planarity of Graphs, Drawing graphs and maps, graph coloring (5)
5. Special digraph models, network flow and applications (6)
6. Algebraic specifications of Graphs, Non planar layouts (4)

Text Books
1. Introduction to Enumerate Combinatorics, M. Bona,
2. Introduction to Graph Theory, D.B.West
3. Graph Theory and Applications J.A. Bondy and U.S.R.Murty: (Freely downloadable
from Bondy's website; Google-Bondy)
4. Graph Theory: Modeling, Applications, and Algorithms, by Geir Agnarsson and
Raymond Greenlaw
5. Introductory Combinatorics by R A Brualdi,

13
Computer Organization (IV Semester CSE & IT 3L)
Syllabus

Computer Organization

Prerequisites: Discrete Structures and Digital Logic


Objectives: The objective of this course is to master the basic hardware and software issues of
computer organization. The students are expected to know the inner workings of a computer and
have the ability to analyze the hardware and software issues related to computers and the interface
between the two. This allows the students to work out the trades off involved in designing a modern
computer.
Course Description
This is a first course dealing with layout and design principles of a computing system and its
peripherals. It requires understanding of digital electronics. It prepares foundations for the
operating system, microprocessor and embedded systems courses.

Course Outline (To be covered in 30 lectures)


1. Introduction, Register Transfer Language, Bus and Memory Transfers, Bus Architecture,
Arithmetic Logic Unit (6)
2. Fundamental concepts of controller design. (6)
3. Processor design and related issues (8)
4. Input/Output Organization and related concepts(4)
5. Optical, magnetic and semiconductor memory devices, Memory organization (6)

Text Books
1. Computer Organization and Design: The Hardware-Software Interface, by David
Patterson and John Hennessy.
2. Computer Organization, by Vravice, Zaky & Hamatcher
3. Structured Computer Organization, by Tannenbaum
4. Computer System Architecture, by M. Mano

14
Automata Theory (IV Semester CSE & IT 4L)
Syllabus

Automata Theory

Prerequisites: Knowledge corresponding to the Formal languages and automata, Computability


and complexity.
Objectives: At the end of the course students should be able to understand and explain selected
advanced parts of automata theory, including parsing techniques for deterministic context-free
languages, relationship between finite-state automata and MSO logic, automata on infinite words,
and process specifications. Further, students should be able to make reasoned decisions about
computational models appropriate for the respective area and to understand methods and
techniques of their applications.
Course Description
Automata theory is the study of abstract computational devices. They have applications in
modelling hardware, lexical analysis, machine design, syntax analysis, parser generation, program
verification, text editing and so on. The class of formal languages, context free grammar, DFA,
NFA and PDA are being covered up in the course. The knowledge of these concepts form the
foundations of computer science and continues towards the development of the student's skills in
understanding mathematical models. The prerequisite is basic knowledge of mathematics. A lab
course is associated with it to strengthen the concepts.

Course Outline (To be covered in 40 lectures)


1. Introduction, inductive Proofs Relations and Functions (4)
2. Regular Languages DFA, NFA Machines and their equivalence, Regular Expressions,
Equivalence of Regular Expressions and Finite State Machines, Closure Properties of
Regular Languages Proving Non-Regularity (8)
3. Context-free Languages Context-free Grammars, Derivations, Leftmost, Rightmost,
Inherent Ambiguity, Parse Trees, Normal Forms, Proof of Containment of the Regular
Languages Pushdown Automata, Equivalence of PDAs and Context-free Grammars
Closure Properties of Context-free Languages (12)
4. Pumping Lemma for both Regular & Context-free Languages, Proving Some Languages
are not Context-free. (6)
5. Recursive and Recursively Enumerable Languages, Turing Machines Definition of
Recursive and Recursively Enumerable, Church's Hypothesis, Computable Functions,
Methods for Turing Machine Construction (10)
Text Books
1. Introduction to the Theory of Computation, by Michael Sipser
2. Introduction to Automata Theory, Languages, and Computation, by Hopcroft,
Motwani, and Ullman (ISBN 0-321-45536-3)
3. Theory of Computer Sciences Korral,
4. Automata, Computability and Complexity: Theory and Applications. by E Rich

15
Communication Foundations (IV Semester CSE & IT 3L)
Syllabus

Communication Foundations

Prerequisites: Fourier Transformation, Basic Calculus.


Objectives: After completing this course students must be able to understand about different types
of antennas, different modulation demodulation techniques, signal detection and system
performance in the presence of noise.
Course Description
In this course students will study fundamentals of analog and digital communication. The course
includes the basics of Electromagnetic waves, antennas, modulation, information theory, sampling
and quantization, coding, signal detection and system performance in the presence of noise. This
is a prerequisite for the course on Computer Networks. A lab course is also associated with it.

Course Outline (To be covered in 30 lectures)


1. Introduction, Elements of communication systems, review of signal representations in time
and frequency domain, bandwidth, filters, Electromagnetic spectrum (6)
2. Sky waves, ground waves and space waves, Antenna fundamentals and types of antennas
(4)
3. Amplitude Modulation, Frequency modulation, Radio receivers (4)
4. Sampling theorem, quantization and pulse code modulation, digital modulation techniques
(6)
5. Fundamentals of guided waves, wave guides, coaxial cables, fiber optic cables, cable
types and specifications. (6)
6. Case studies: FM Broadcast, satellite communication, telephone systems, mobile
telephony

Text Books
1. Communication Systems Engineering by Proakis, John, and Masoud Salehi
2. Electronic Communication Systems by Kennedy D
3. Computer Networks by Tanenbaum, Andrew
4. Communication Systems by Haykin, Simon.

16
Scientific Computing (IV Semester CSE & IT 2L)
Syllabus

Scientific Computing

Prerequisites: Calculus, Algebra, The ability to write and run programs under a UNIX operating
system, in one of the languages C, C++, or Fortran.The ability to create executables involving
multiple files and libraries either by a script or a makefile .Write programs that read and write
formatted data from and to files.
Objective: The goal of this course is to introduce students to the fundamental concepts of
Scientific Programming using Matlab/Octave and similar programming languages (e.g. sage math)
and we will introduce the necessary mathematical concepts as we go (including linear algebra,
differential equations, probability and statistics). The course will cover the syntax and semantics of
Matlab/Octave including data types, control structures, comments, variables, functions, and other
abstraction mechanisms.
Course Description
Scientific computing has become an indispensable tool in many branches of research, and is vitally
important for studying a wide range of physical and social phenomena.
This course will examine the mathematical foundations of well-established numerical algorithms
and explore their use through practical examples drawn from a range of scientific and engineering
disciplines. It gives the computational algorithms for analyzing and solving mathematical problems
such as model fitting, calculus operations, finding roots for equations and other statistical
computation. The prerequisites for this course are linear algebra, calculus, and elementary
probability theory along with computer programming.

Course Outline (To be covered in 20 lectures)


1. Introduction, Algebraic and Transcendental Equations and related issues (4)
2. Discussion on different Interpolation concepts and methods (4)
3. Curve Fitting, Cubic Spline & Approximation(4)
4. Numerical Integration and Differentiation. (4)
5. Numerical Linear Algebra (2)
6. Statistical Computations (2)

Text Books
1. Numerical Recipes in C The Art of Scientific Computing by W H Press, S A
Teukolesky, W T Vellerling and B P Flannery
2. Numerical Methods for Scientific and Engineering by M.K.Jain, S.R.K.Iyenger and
R.K.Jain
3. Numerical Methods and Analysis by James I. Buchman and Peter R.Turner
4. Applied Numerical Analysis by C.F.Gerald and P.O.Wheatley

17
Microprocessor and its Applications (V Semester CSE 3L)
Syllabus

Microprocessor and its Application

Prerequisite: Digital Design


Objective: The objective of this course is to provide extensive knowledge of microprocessor based
systems and interfacing techniques.
Course Description
In this course students will study microprocessor over the foundations of Analog and Digital
Electronics and Computer organization. This course will introduce students to current state-of-the-
art hardware, architecture and elementary programming of microprocessor and microcontrollers.
Among the various topics covered include instruction sets, fundamental software concepts,
interfacing microprocessors to external devices (sensors and actuators) and analog and digital
circuits, and microprocessors in control systems. This course forms the basis for the course on
Embedded Systems. This course has a lab course associated with it.

Course Outline (To be covered in 30 lectures)


1. Introduction, Overview of microprocessors (3)
2. Microprocessor Programming Concepts with case study of 8086 and other
microprocessors (7)
3. Memory interfacing and related issues (4)
4. Interrupts and Interrupt Applications with case study of 8086 and other microprocessors
(6)
5. Peripheral device control and interfacing (10)

Text Books
1. Microprocessors and Interfacing by Douglas V. Hall
2. Microprocessor Architecture, Programming and Applications by R. Gaonkar
3. Microprocessors Theory and Applications: Intel and Motorola by M. Rafi
Quazzaman

18
Operating System (V Semester CSE & IT 4L)
Syllabus

Operating Systems

Prerequisite: C, Java, and data structures.


Objective: - gain extensive knowledge on principles and modules of operating systems
- understand key mechanisms in design of operating systems modules
- understand process management, concurrent processes and threads, memory management,
virtual memory concepts, deadlocks
- compare performance of processor scheduling algorithms
- produce algorithmic solutions to process synchronization problems
- use modern operating system calls such as Linux process and synchronization libraries
Course Description
In this course students will study the basic facilities provided in modern operating systems. The
emphasis will be on understanding general concepts that are applicable to a wide range of
operating systems, rather than a discussion of the features of any one specific system. Topics that
will be covered in the course include: protected kernels, processes and threads, concurrency and
synchronization, memory management, virtual memory, file systems, secondary storage,
protection, and security. This course requires as prerequisite the course on computer
programming, data structures and computer organization. This course has an associated lab with
it.

Course Outline (To be covered in 40 lectures)


1. Introduction and Overview (2)
2. Process fundamentals, scheduling, synchronization (12)
3. Inter-process communication, Deadlock (8)
4. Memory management and virtual memory (7)
5. File system and secondary storage (5)
6. Protection and security issues, Case studies e.g. Linux, Solaris and Android (6)

Text Books
1. Operating Systems, by William Stallings
2. Operating Systems Concepts by Silberschatz, Galvin, and Gagne
3. The Design of the UNIX Operating System, by Maurice J. Bach
4. Advanced Programming in the UNIX Environment, by W. R. Stevens & S. A.
Rago.
5. The Design and implementation of the 4.4 BSD UNIX operating system by
Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman.

19
Database Management System (V Semester CSE & IT 4L)
Syllabus

Database Management System


Prerequisites: Elementary knowledge about computers including some experience using Unix or
Windows. Knowledge of programming in some common programming language. Understanding of
data structures and algorithms are required.
Objective: This course will give principles and practical solutions for storage and retrieval of
information using a computer system, particularly for large quantities of data, and with an emphasis
both on the use of relational database management systems.
Course Description
In this course students will study the basic functions and capabilities of database management
systems (DBMS). Emphasis is placed on the use of DBMS in solving information processing
problems which will include database design case studies as well as SQL programming
assignments along with transactions. A lab course is associated with it to strengthen the concepts.

Course Outline (To be covered in 40 lectures)


1. Database system concept and architecture, Entity Relationship and Enhanced E-R (5)
2. Relational Data Model and Relational Algebra, SQL, Indexing, Query Optimization (10)
3. Relational Database Design, Normalization principles and normal forms (8)
4. Transaction concept and concurrency control (8)
5. Web Interface to DBMS, Semi-structured databases, Object oriented databases (6)
6. DBMS Case studies (3)

Text Books
1. Database system concepts, by Korth, Silberschatz, and Sudarshan
2. Fundamentals of Database Systems by Elmasari and Nawathe
3. Databases by O Neil,
4. Database Systems The Complete Book by Garcia-Molina, Ullman, & Widom
5. Database Management System by Ramakrishnan and Gehrke

20
Object Oriented Modeling (V Semester CSE & IT 4L)
Syllabus

Object Oriented Modeling


Prerequisite : Basic Concepts of Object Oriented Programming, Software Engineering.
Objective:
 Analyze and Design a real – world problem into Object- Oriented form.
 Create a requirements model using UML class notations and use-cases based on
statements of user requirements, and to analyze requirements models given to them for
correctness and quality.
 Create the OO design of a system from the requirements model in terms of a high-level
architecture description, and low-level models of structural organization and dynamic behavior
using UML class, object, and sequence diagrams.
 Comprehend enough Java to see how to create software that implements the OO designs
modeled using UML.
 Comprehend the nature of design patterns by understanding a small number of examples from
different pattern categories, and to be able to apply these patterns in creating an OO design.
 Given OO design heuristics, patterns or published guidance, evaluate a design for applicability,
reasonableness, and relation to other design criteria.

Course Description
In this course students will study the fundamental principles of object-oriented
approaches to modeling software requirements and design. Topics include strategies for identifying
objects and classes of objects, specification of software requirements and design, the design of
class hierarchies, software reuse considerations, graphical notations, system implementation using
object-oriented and object-based programming languages, and comparison of object-oriented
approaches to more traditional approaches based on functional decomposition.

Course Outline (To be covered in 40 lectures)


1. Introduction, Need for formal and semi-formal modeling, UML-2 Meta-model (7)
2. UML-2 Concepts and Examples: Object, Class, Relationship, Interface, Types, roles, Use
Case, Interaction and Activity Diagrams, State Machine and State-chart Diagram, Events,
signals, Process and threads (10)
3. Software System Design, Design Patterns, Pattern Classification, Creational, Structural
and Behavioral patterns, Idoms (15)
4. Agents and Agent Modeling, Multi-Agent Systems Modeling, Case Study (8)
Text Books
1. Object-Oriented Modeling and Design with UML - Michael Blaha, James
Rumbaugh
2. Pattern-Oriented Software Architecture A System of Patterns, Volume 1 - Frank
Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal
3. Object-Oriented Analysis and Design with Applications - Grady Booch et al
4. Object-Oriented Design with UML and JAVA - K. Barclay, J. Savage
5. Practical Object-Oriented Design with UML - Mark Priestley

21
Operations Research (V Semester CSE & IT 3L)
Syllabus

Operation Research

Prerequisite: Basic Engineering Mathematics.


Objective: This module aims to introduce students to use quantitative methods and techniques for
effective decisions–making; model formulation and applications that are used in solving business
decision problems.
Course Description
In this course students will study some common operations research models and algorithms.
Operations Research (OR) refers to the science of informed decision making. The goal is to
provide rational basis for decision-making by analyzing and modeling complex situations, and to
utilize this understanding to predict system behaviour and improve system performance. The
application of OR involves problem formalization, model construction and validation; other activities
include a computational part, analysis of solutions, arriving at conclusions, and implementation of
the decision. It extensively uses the concepts of mathematical modeling, statistical analysis and
optimization techniques. The emphasis is on applications rather than the details of methodology.
This would act as a tool to the courses namely data mining, business intelligence and decision
support systems.

Course Outline (To be covered in 30 lectures)


1. Introduction, Linear programming (LP) models (4)
2. Simplex & revised simplex algorithms, Duality and sensitivity analysis in LP (6)
3. Basics of Game theory, Transportation and assignment problems, Project scheduling
(critical path method & PERT) (10)
4. Integer programming models, Stochastic processes: Markov chains and birth/death
processes, Queuing theory (6)
5. Network Analysis and Inventory Control(4)

Text Books
1. Operations Research Models and Methods, by Paul A. Jensen and Jonathan F.
Bardto
2. Operation Research by Hamdy.A Taha
3. Introduction to Operations Research, by Frederick Hillier & Gerald Lieberman
4. Linear Programming by Hadely G.

22
Computer Architecture (V Semester CSE 3L)
Syllabus

Computer Architecture
Prerequisites: Course assumes significant prior knowledge of computer organization and
architecture. You should already be familiar with hardware caches, instruction execution pipelines,
basic logic design, and some assembly-level programming.
Objective: The course covers the fundamentals of classical and modern processor design:
performance and cost issues, instruction sets, pipelining, caches, physical memory, virtual
memory, I/O superscalar and out-of-order instruction execution, speculative execution, long (SIMD)
and short (multimedia) vector execution, multithreading, and an introduction to shared memory
multiprocessors.
Course Description
In this course students will study computer architecture with an emphasis on a quantitative
approach to cost/performance design tradeoffs. The course covers the performance and cost
issues, instruction sets, pipelining, caches, physical memory, virtual memory, I/O superscalar and
out-of-order instruction execution, speculative execution, vector execution, and multithreading in
the context of classical and modern processor design.

Course Outline (To be covered in 30 lectures)


1. Introduction, History of Computing, (3)
2. Fundamentals of computer Design,Performance related issues- Performance Parameters-
Measuring Performance- Instruction Set Architecture Design – compiler related issues. (7)
3. Instruction Pipelining- Pipeline hazards- Overcoming hazards- Instruction set design and
pipelining- Parallelism Concepts – Dynamic Scheduling – Dynamic hardware branch
prediction. (7)
4. Multi-core, Super scalar, VLIW and vector processors – compiler support for ILP –
extracting parallelism – speculation – performance. (6)
5. Centralized shared memory architectures, Distributed shared memory architectures –
synchronization – memory organisation and cache coherence issues (7)

Text Books
1. Advanced Computer Architecture: Parallelism, Scalability and Programmability by
Kai Hwang
2. Computer Organization and Design, The Hardware/Software Interface by
Patterson and Hennessey,
3. Advanced Computer Architecture: A System Design Approach by Richard Y. Kain
4. Microprocessor Architecture: From Simple Pipelines to Chip Multiprocessors by
Jean-Loup Baer

23
Cryptography & Network Security (VI Semester CSE & IT 3L)
Syllabus

Cryptography

Prerequisite: Coding Theory, Information Security.


Objective:
Appreciate the core techniques of cryptography and how they can be applied to meet various
security objectives. Understand both the importance of cryptographic key management, and the
different key management requirements and practices associated with the use of different security
techniques. Appreciate how the techniques described are employed in practice in a variety of
security applications, from SSL enabled websites through to disk encryption.
Course Description
In this course students will study the essential mathematical foundations for Information Security.
This course features a rigorous introduction to modern cryptography, with an emphasis on the
fundamental cryptographic primitives of public-key encryption, digital signatures, pseudo-random
number generation, and basic protocols and their computational complexity requirements. After
crediting this course students can look forward to wireless network security and E-commerce
courses.

Course Outline (To be covered in 30 lectures)


1. Introduction, Prime Number Generation, Shannon's Theory of Perfect Secrecy (5)
2. Asymmetric Key Cryptosystem and related issues (3)
3. Public Key Cryptography and related concepts/methodologies (4)
4. Cryptographic Hash Functions design and implementation issues. (4)
5. Digital Signatures and related issues (5)
6. E-Mail, IP and Web security (6)
7. Malicious Programs & Firewall(3)

Text Books
1. Modern Cryptography : Theory and Practice by W Mao
2. Applied cryptography by Bruce Schiener
3. “Cryptography: Theory & Practice” D R Stinson,
4. Introduction to cryptography by Johannes A Buchmann
5. Network Security and Cryptography by Bernard Menezes

24
Embedded Systems (VI Semester CSE 3L)
Syllabus

Embedded Systems

Prerequisites: Knowledge of microprocessor architecture and assembly language, microprocessor


peripherals, digital design, and the C programming language is a prerequisite for this course.
Although not listed as formal prerequisites computer organization is highly recommended. An
understanding of compilers, assemblers, linkers, operating systems, analog design, diodes,
transistors, and electromagnetic fields and waves will be useful.
Objective:In this course, the fundamentals of embedded system hardware and firmware design
will be explored. Issues such as embedded processor selection, hardware/firmware partitioning,
glue logic, circuit design, circuit layout, circuit debugging, development tools, firmware architecture,
firmware design, and firmware debugging will be discussed. The Intel 8051, a very popular
microcontroller, could be studied. The architecture and instruction set of the microcontroller will be
discussed.
Course Description
In this course students will study basic concepts pertaining embedded systems. Embedded
systems are employed in consumer electronics such as cameras, DVD players and cable
descramblers, in cars, airplanes, factories, offices and hospitals. Their large numbers and ever
growing complexity call for research oriented approach to their design. Knowledge of
microprocessor architecture and assembly language, microprocessor peripherals, digital design,
and the C programming language is a prerequisite for this course. A lab course is associated with it
to strengthen the concepts.

Course Outline (To be covered in 30 lectures)


1. Introduction, Different perspectives of embedded systems (4)
2. Design considerations for Processors (4)
3. Microcontroller programming concepts in Assembly language and C (5)
4. Processors and peripherals for embedded systems (7)
5. Serial port programming and interrupts (4)
6. Microcontrollar interfacing with a case study of 8051 (6)

Text Books
1. Embedded System Design: A Unified Hardware/Software Introduction by Frank
Vahid and Tony Givargis.
2. 8051 Microcontroller and Embedded Systems by Muhammad Ali Mazidi, Janice
Mazidi and Janice Gillispie Mazidi.
3. Fundamentals of Embedded Software Where C and Assembly Meet by D W Lewis

25
Computer Networks (VI Semester CSE & IT 4L)
Syllabus

Computer Networks

Prerequisite: C or Java programming, Course in algorithms, Course in probability.


Objective:
1. Build an understanding of the fundamental concepts of computer networking.
2. Familiarize the student with the basic taxonomy and terminology of the computer
networking area.
3. Introduce the student to advanced networking concepts, preparing the student for
entry Advanced courses in computer networking.
4. Allow the student to gain expertise in some specific areas of networking such as the design and
maintenance of individual networks.

Course Description
In this course students will study computer networks within the context of the Internet. It will build
on prior knowledge in Communication foundations, computer organization, basic algorithms, data
structures and C programming. Students will study the fundamental principles, elements, and
protocols of computer networks. Course will investigate how the different protocols work, why they
work that way, and their performance trade-offs. This course prepares foundations for wireless
networks and distributed systems. This has a lab course associated with it.

Course Outline (To be covered in 40 lectures)


1. Introduction, Fundamental requirements of network, OSI & TCP/IP model (3)
2. Physical and Link layer issues (4)
3. Medium Access protocols (IEEE 802.3 ...) and related issues (8)
4. Network layer: IP and other protocols, Routing protocols, and LAN design. (11)
5. Transport layer Protocols and related Issues (8)
6. Basic client server architecture, introduction to different application layer protocols like ftp,
telnet, mail(SMTP), HTTP, DNS, DHCP and peer to peer (6)

Text Books
1. Computer Network – Top down approach by James. F. Kurose & Keith W. Rose,
2. Compuer Network – A system approach by Larry.L.Peterson & Bruce.S.Davie
3. Data Communication & Networking by Behrouz Forouzan
4. Unix Network Programming –volume-I by W.Richard Stevens

26
Data Mining (VI Semester CSE & IT 3L)
Syllabus
Course Description
This course will offer a comprehensive coverage of well known Data Mining topics including
classification, clustering and association rules. A number of specific algorithms and techniques
under each category will be discussed. Methods for feature selection, dimensionality reduction and
performance evaluation will also be covered. Students will learn and work with appropriate
software tools and packages in the laboratory. They will be exposed to relevant Data Mining
research. A separate lab course is associated with this course.

Course Outline (to be covered in 30 lectures)


UNIT-I (8)
DATA MINING, DATA PROCESSING AND DATA WAREHOUSES
Data Mining – History – Strategies – Techniques – Applications – Challenges – Future- Types of Data –
Data Warehouses – Data Processing - Quality Measure – OLAP – Sampling.

DATA TYPES, INPUT AND OUTPUT OF DATA MINING ALGORITHMS


Different Types of features – Concept Learning – Output of Data Mining Algorithms.

PREPROCESSING IN DATA MINING


– Steps – Discretization – Feature Extraction, Selection and construction – Missing Data and Techniques for
dealing it.

UNIT-II CLASSIFICATION TASK: (8)


Introduction – Decision trees – Naïve Bayes’ classification- Artificial Neural Networks and Support Vector
Machines.

UNIT-III MODEL EVALUATION TECHNIQUES (6)


Accuracy Estimation- ROC-Lift Charts- Cost –Bagging and Boosting- Model Ranking Approach.

ASSOCIATION RULE MINING:


Concepts, Relevance, Functions of Association rule Mining – Apriori Algorithm- Strengths and Weak
nesses of ARM- Applications.

UNIT IV - CLUSTERING AND ESTIMATION (8)


CLUSTERING TASK:
Introduction- Distance Measure – Types – KNN for clustering – validation -Strengths and Weaknesses of
Algorithms – Applications.

ESTIMATION TASK:
Scatter Plots and Correlation – Linear regression Models – Logistic regression – Regression
Analysis - Strengths and Weaknesses of Estimation- Applications.
Text Books
1. Shawkat Ali A B M, Saleh A. Wasimi “Data Mining: Methods and Techniques” Third
Indian Reprint, Cengage Learning, 2015
2. Soman K. P., Shyam Diwakar, Ajay V. “Insight into Data Mining Theory and Practice”
,Fifth Printing, PHI Learning, 2011.

27
Software Engineering (VI Semester CSE & IT 3L)
Syllabus

Software Engineering

Prerequisites: Data Structures & Algorithms, Programming Language abstract and Concrete
Syntax, Logic Propositional and Predicate Logic, Proofs - Inference Rules, Proof Methods.
Objective: The course assists to understand the basic theory of software engineering, and to apply
these basic theoretical principles to a group software development project.
Course Description
In this course students will study the fundamentals of software engineering, including
understanding system requirements, finding appropriate engineering compromises, effective
methods of design, coding, and testing, team software development, and the application of
engineering tools. The course will combine a strong technical focus with a mini project (offered
alongside), providing the opportunity to practice engineering knowledge, skills, and practices in a
realistic development setting.
Course Outline (To be covered in 30 lectures)
1. Introduction, Software life-cycle models (4)
2. Software requirements, Requirements Specification (6)
3. Software design and Software user interface design(7)
4. Coding Issues, Software integration and testing. (6)
5. Software support processes and Quality Assurance, IEEE Software Engineering Standards
(4)
6. Software maintenance, Software reuse, (3)

Text Books
1. Software Engineering – A Practitioner’s Approach, by Pressman R. S. and Ince D
2. Software Engineering by Sommerville
3. Software Engineering, Volume 1 and Volume 2, by Thayer, and Christiansen,
4. Fundamentals of Software Engineering by Rajib Mall

28
Compiler Construction (VI Semester CSE & IT 3L)
Syllabus

Compiler Construction
Course Description
The course is intended to teach the students the basic techniques that underlie the practice of
Compiler Construction. The course will introduce the theory and tools that can be standardly
employed in order to perform syntax-directed translation of a high-level programming language into
an executable code. This course explores the principles, algorithms, and data structures involved
in the design and construction of compilers. It provides the student with an experience of the
design and construction of a working compiler. The course emphasizes techniques that have direct
application to the construction of compilers and optimization. In addition to the exposition of
techniques for compilation, the course will also discuss various aspects of the run-time
environment into which the high-level code is translated. The only meaningful way to learn about
compilers is to build them. This has a lab course associated with it.

Course Outline (To be covered in 30 lectures)


1. Introduction to Compiler
2. Lexical Analysis, Grammars, Top-down parsing, Bottom-up parsing
3. Syntax Directed Translation, Semantic Analysis
4. Symbol Table Design
5. Intermediate Code Generation, Code Generation & Optimization

Reference Books
1. Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman, “Compilers: Principles,
Techniques and Tools”, 2nd edition, Pearson
2. K.D. Cooper, and L. Torczon, “Engineering a Compiler”, 2nd edition, Elsevier
3. Andrew W. Appel, “Modern Compiler Implementation in ML”, Cambridge University Press

29
Distributed Systems (VII Semester CSE 4L)
Syllabus

Distributed System

Prerequisites: Knowledge of Operating Systems is required.


Objective: To layout foundations of Distributed Systems.
• To introduce the idea of middleware and related issues.
• To understand in detail the system level and support required.
• To understand the issues involves in studying data and design-distributed algorithms
Course Description
In this course students will study the foundational concepts of distributed systems. The course
takes up design and implementation of efficient tools, protocols and systems in a distributed
environment. Topics such as communication, naming, synchronization, replication, and security are
covered. Students may note that the courses namely web services, cloud computing, virtualization,
peer-to-peer and Internet computing all have distributed systems concepts at their foundation. A
lab course is associated with it to strengthen the concepts.

Course Outline (To be covered in 40 lectures)


1. Introduction, System Models, Network & Inter-networking, Architectures, Challenges (6)
2. Distributed Communication Paradigms (8)
3. Distributed Resource Management (8)
4. Distributed File Management. (8)
5. Distributed system case studies (at least 5) (10)

Text Books
1. Distributed Operating System, by Pradeep K.Sinha,
2. Distributed Systems – Concepts & Design, by Coulouris, Dollimore & Kindberg
3. Distributed Systems – Principles & Paradigms, by Tanenbaum & Steen,

30
Wireless and Mobile Networks
(VII Semester CS & IT 3L)
Syllabus

Course Description
This course will cover the area of mobile and wireless networking, looking at the unique network
protocol challenges and opportunities presented by wireless communication and host or router
mobility. Although the course will touch on some of the important physical layer properties of
wireless communications, the focus will be on network protocols above the physical layer, with an
emphasis on the media access control, network, and transport protocol layers.

Course Outline (to be covered in 30 lectures)


1. Wireless medium access control (MAC) protocols, including MACA, MA CAW, and IEEE
802.11. (6).
2. Routing techniques for mobile nodes in the Internet, particularly Mobile IP. Network Mobility
(6)
3. Routing techniques in multi-hop wireless ad hoc networks.(6)
4. Effects of mobility and wireless transmissions on reliable transport protocols such as
TCP.(6)
5. Application layer for mobile networks. Mobile P2P networks. Context aware mobile
networking (6)

Text Books
1. Mobile Communications 2ndEdition by Jochen Schiller, Pearson 2010.2.
2. Adhoc Networking by Charles Perkins, Pearson , 2008

31
Formal Methods (VIII Semester CSE )
Syllabus

Formal Methods

Prerequisites: Automata, Discrete structure and any Programming language.


Objectives: Understanding mechanism and principle involved in the use of formal method for the
design and development of high intensity concurrent and distributed system. Objective of this
course to specification, verification, automated theorem proving, model checking and correctness
of system design.
Course Description
In this course students will understand mechanisms and principles involved in the use of formal
methods for the design and development of high intensity concurrent and distributed systems. It is
based on the application of formal logic, process algebra, mathematical models and Model
Checking for the automated verification. After crediting the course it is expected that the students
will acquire an understanding of logical concepts and their application to the analysis of software
design. A lab course is associated with this course.

Course Outline (To be covered in 40 lectures)


1. Introduction, Hardware and Software verification, Model Checking, Reactive systems,
Process algebras. (7)
2. Modeling Systems, The language CCS, CCS process constructions, CCS formally,
Introduction to Pi-calculus, Concurrency Work Bench. (9)
3. Theory of fixed points and bisimulation equivalence, Posets and complete lattices, Tarski’s
fixed point theorem, Behavioural equivalences, Trace equivalence, Strong bisimilarity,
Weak bisimilarity, Bisimulation as a fixed point. (8)
4. Modalities and Capabilities, Safety Properties and Invariants, Liveness Properties,
Fairness, Hennessy–Milner logic, HML with recursion, Temporal Properties and Modal Mu-
Calculus. (8)
5. Verifying Temporal properties, CTL Model Checking algorithms, The fixed point
characterization of CTL. (8)

Text Books
1. Communication and Concurrency by Robin Milner,
2. Pi-calculus by Robin Milner
3. Logic in computer science by Michael Huth and Mark Ryan,
4. Model Checking by Clarke, Grumberg, Peled,
5. Modal and Temporal Properties of Processes by Colin Sterling,

32
Professional Elective I & II
(Pool – 1)

33
Artificial Intelligence (Professional Elective for CSE & IT 3L)
Syllabus

Artificial Intelligence: (OE)


Prerequisites: Basic Program, Logical Program, Probability, Discrete Mathematics.
Objective:
 Identify problems that are amenable to solution by AI methods, and which AI methods may
be suited to solving a given problem.
 Formalize a given problem in the language/framework of different AI methods (e.g., as a
search problem, as a constraint satisfaction problem, as a planning problem, as a Markov
decision process, etc).
 Implement basic AI algorithms (e.g., standard search algorithms or dynamic programming).
 Design and carry out an empirical evaluation of different algorithms on a problem
formalisation, and state the conclusions that the evaluation supports.
 Develop an expert system.
 Learn Logical Programming Skills.
Course Description
This course introduces students to the basic knowledge representation, problem solving, and
learning methods of artificial intelligence (AI). It covers basic elements of AI, such as knowledge
representation, inference, machine learning.

Course Outline (To be covered in 30 lectures)


1. Introduction, Intelligent agents, reactive, deliberative, goal-driven, utility-driven, and
learning agents, Artificial Intelligence programming (5)
2. Defining problems at state space search, Production system, Problem and production
system characteristics, Forward and backward, state-space, blind, heuristic, problem-
reduction, A, A*, AO*, minimax, constraint propagation, neural, stochastic, and evolutionary
search algorithms, sample applications. Issues in design of search programs (7)
3. foundations of knowledge representation and reasoning, issues in knowledge
representation, representing and reasoning about objects, relations, events, actions, time,
and space; predicate logic, situation calculus, description logics, reasoning with defaults,
sample applications. (6)
4. Planning as search, partial order planning, construction and use of planning graphs,
planning and acting in the real world (3)
5. Basics of utility theory, decision theory, sequential decision problems, elementary game
theory, sample applications. (4)
6. Learning from memorization, examples, explanation, and exploration. Supervised and un-
supervised learning, learning nearest neighbor, naive Bayes, and decision tree classifiers,
Q-learning for learning action policies, applications. Sample Applications of AI (5)

Text Books
1. Artificial Intelligence: A Modern Approach, by Stuart Russell and Peter Norvig,
2. Artificial Intelligence by Eliane Rich, Kevin Knight and Shivashankar B Nair,
3. Introduction to Artificial Intelligence by Charniak, McDermott.
34
Data Compression (Professional Elective for CSE & IT 3L)
Syllabus

Data Compression (OE)

Prerequisites:
Basic data structures and algorithms, Fundamental concepts of computer architecture.
Objective:
Develop theoretical foundations of data compression, concepts and algorithms for lossy and
lossless data compression, signal modeling and its extension to compression with applications to
speech, image and video processing.

Course Description
The course discusses the theory and methods of data compression of signals, images, and video.
Data Compression is the computational problem of how to encode a data file (text, image, audio,
video) so that the new file has fewer bits the original file. Techniques covered include:
Quantization, Vector Quantization, Differential Schemes, Filterbanks and Subband Coding,
Wavelet Transform, JPEG 2000, and MPEG. Coverage of selected topics of recent research
issues in data compression is also taken up.

Course Outline (To be covered in 30 lectures)

1. Information theoretic foundations, Arithmetic coding (6)


2. Dictionary techniques, Context modeling (6)
3. Lossless image compression, Lossy coding preliminaries (6)
4. Scalar and vector quantization (6)
5. Differential encoding, Transform coding (6)

Text Books
1. Introduction to Data Compression by Sayood, Khalid,
2. Data Compression: The Complete Reference by M. Nelson,

35
Data Warehousing and Mining (Professional Elective for CSE & IT 3L)
Syllabus

Data Warehousing and Mining (OE)

Prerequisites: An upper-level undergraduate course(s) in algorithms and data structures, a basic


course on probability and statistics programming in Java, C++, C.
Objective:
Understand data mining principles and techniques: Introduce DM as a cutting edge business
intelligence method and acquaint the students with the DM techniques for building competitive
advantage through proactive analysis, predictive modeling, and identifying new trends and
behaviors. Learning objectives include:
a. Building basic terminology.
b. Learning how to gather and analyze large sets of data to gain useful business understanding.
c. Learning how to produce a quantitative analysis report/memo with the necessary information to
make decisions.
d. Describing and demonstrating basic data mining algorithms, methods, and tools .
e. Identifying business applications of data mining
f. Overview of the developing areas - web mining, text mining, and ethical aspects of data mining.
Develop and apply critical thinking, problem-solving, and decision-making skills.
Course Description
The course is an introduction to data mining techniques for the data stored in a data warehouse.
Data mining, or knowledge discovery in databases, has during the last few years emerged as one
of the most exciting fields in Computer Science. Data mining aims at finding useful regularities in
large data sets. Interest in the field is motivated by the growth of computerized data collections
which are routinely kept by many organizations and commercial enterprises, and by the high
potential value of patterns discovered in those collections. This course will cover data warehousing
and data cleaning, clustering, classification, and association rules mining.

Course Outline (To be covered in 30 lectures)


1. Introduction and overview of data mining processes (3)
2. Data Warehousing: Overview, Definition, Delivery Process, Multi Dimensional Data Model,
Data Cubes, Stars, Snow Flakes, Fact Constellations, Concept hierarchy, Process
Architecture, 3 Tier Architecture, Data Marting. (5)
3. Data clustering and classification techniques (9)
4. Association rule mining (5)
5. Tuning Data Warehouse, Testing Data Warehouse Data Mining interface, Historical
information, Query Facility, OLAP function and Tools. OLAP Servers, ROLAP, MOLAP,
HOLAP, Security, Backup and Recovery (5)
6. Applications and case studies (3)
Text Books
1. Data Mining: Concepts and Techniques by J. Han and M. Kamber,
2. Introduction to Data Mining by Pang-Ning Tan, Michael Steinbach and Vipin
Kumar
3. Data Warehousing in the Real World : A Practical Guide for Building Decision
Support Systems by Sam Anahory, Dennis Murray
36
Design Patterns (Professional Elective for CSE & IT 3L)
Syllabus

Design Pattern (OE)

Prerequisites: Prior knowledge of object-oriented programming is essential for this course. The
students are expected to be proficient in Java, Principle of Programming Languages.
Objective:
• Understand and be able to apply incremental/iterative development
• Understand common design patterns
• Be able to identify appropriate patterns for design problems
• Be able to evaluate the quality software source code
• Be able to refactor badly designed program properly using patterns
Course Description
This course is an introduction to software design patterns. Each pattern represents a best practice
solution to a software problem in context of some application. The course will cover both the
rationale and benefits of object-oriented software design patterns. Several example problems need
to be studied to investigate the development of good design patterns. Specific patterns, such as
Observer, State, Adapter, Strategy, Decorator and Abstract Factory would be covered.

Course Outline
1. Introduction To Design Patterns, Introduction To Java, Some OO Design Principles , The
Observer Pattern, The Template Method Pattern (6)
2. Factory Patterns: Factory Method and Abstract Factory, The Singleton Pattern, The Iterator
Pattern, The Composite Pattern, The Facade Pattern (6)
3. The State and Strategy Patterns, Functors and the Command Pattern, The Proxy Pattern
(5)
4. RMI, The Adapter Pattern, The Decorator Pattern (4)
5. Dynamic Proxies In Java, The Chain of Responsibility Pattern, Concurrency Patterns, The
Visitor Pattern, Anti Patterns (5)
6. Layer, Pipe and Filters, Black Board Broker, Case Studies (4)

Text Books
1. Design Patterns - Elements Of Reusable Object-Oriented Software, Erich Gamma,
Richard Helm, Ralph Johnson, and John Vlissides,
2. Head First Design Patterns, Eric Freeman and Elisabeth Freeman
3. Applied Java Patterns, Stephen Stelting and Olav Maassen,
4. Java Design Patterns - A Tutorial, James W. Cooper,
5. Refactoring To Patterns, Joshua Kerievsky,

37
Functional Programming (Professional Elective for CSE & IT 3L)
Syllabus

Functional Programming: (OE)

Prerequisites: Basic Mathematics.


Objective:
 master foundational techniques from the paradigm of functional programming.
 be trained in using abstraction to structure programs.
 be able to explain and use recursion in general, as well as know how to distinguish
between recursive and iterative processes.
 be able to write and use higher-order functions.
 master techniques for delayed evaluation for working with infinite data structures such as
streams.
 have insight in different models for understanding how code is evaluated.
Course Description
This course aims to make functional techniques and thought patterns part of programming skills of
the students. This course presents the functional programming paradigm, based on the idea of
functions as "first-class" values that can be computed and operated. Functional languages provide
great power of expression while maintaining simplicity, making it easier to write correct and
maintainable software. Upon successful completion of the course, students would be able to
analyze problems and apply functional programming concepts and techniques to solve the
problems.

Course Outline (To be covered in 30 lectures)


1. Introduction, Problem Solving with Functional Language, Programming with functions, List
constructors and selectors, Recursive functions, Accumulating parameters, Local
definitions, Higher Order functions, Dot notation, and example simple functional programs
(12)
2. Un-typed and Typed Lambda Calculus and Combinators, Term structure and substitution,
alpha and Beta reductions and Beta Equality, Normal Form, Combinators, Church
Numerals, Reduction Rules, Y-Combinator, Bracket Abstraction, Standard Combinator
Expressions, Typed Lambda Calculus and Reduction Rules (10)
3. Lambda Calculus Semantics: Reduction Machines SECD Machine , Graph Reduction
Machine, Lazy/delayed Evaluation, (8)

Text Books
1. Functional Programming : Application and Implementation by Peter Henderson
2. Lambda Calculus, Combinators and Functional Programming by G. Revesz
3. Lambda Calculus and Combinators : An Introduction by J. Roger Hindley and
Jonathan P. Seldin

38
Genetic Algorithm (Professional Elective for CSE & IT 3L)
Syllabus

Genetic Algorithm: (OE)

Prerequisites: Fundamentals of Artificial Intelligence, Basic Mathematics, Knowledge of a


programming language.
Objective: The aim of the course is to introduce genetic algorithms and to give students practical
experience in implementing and experimenting with them. The course will equip them to be able to
assess the suitability of genetic algorithms for specific problems.
Course Description
In this course students will study Genetic Algorithm and its application to optimization problems.
The course covers Basics of Optimization, Optimization Problems, Point to Point Algorithms,
Simulated Annealing, Population Based Algorithms, Brief Overview of Evolutionary Computation,
Genetic Algorithms (Theory and Advanced Operators), Genetic Representation, search operators,
selection schemes and selection pressure, Operators on Real-valued Representations, Niche and
fitness sharing, Particle Swarm Optimization, Memetic Algorithms and Real Life application of
Evolutionary Algorithms.

Course Outline (To be covered in 30 lectures)


1. Basics of Optimization, Optimization Problems, Point to Point Algorithms, Simulated
Annealing (3)
2. Population Based Algorithms, Brief Overview of Evolutionary Computation, Genetic
Algorithms (Theory and Advanced Operators), Genetic Representation, search operators,
selection schemes and selection pressure. (7)
3. Operators on Real-valued Representations, Niche and fitness sharing, Particle Swarm
Optimization, Memetic Algorithms (7)
4. Evolution Strategies, Genetic Programming, Evolutionary Programming, Differential
Evolution (6)
5. Constraint Handling in optimization problems , Real Life application of optimization
Algorithms, Introduction of Multi-objective Evolutionary Algorithms (7)

Text Books
1. Genetic Algorithms in Search, Optimization & Machine Learning by D E Goldberg
2. Multi-Objective Optimization Using Evolutionary Algorithms by K.Deb
3. Handbook on Evolutionary Computation by T. Baeck, D. B. Fogel, and Z.
Michalewicz (eds.)

39
Network Administration (Professional Elective for CSE & IT 3L)
Syllabus

Network Administration: (OE)

Prerequisites: Basic knowledge of Computer Networks.

Objective: To learn about the network and how the data route.

Course Description
The course is designed to provide students with essential knowledge and skills that an effective
network administrator must possess. It provides an overview of the essential TCP/IP protocols, and
discusses how to properly configure and manage the network services based on these protocols
(including DNS, DHCP, AD/LDAP directory services, print and file servers, NFS/NIS, and routing
services). The course also takes up various issues like Configuration management, accounting
management, Fault and disaster management, security management and performance
management.

Course Outline (To be covered in 30 lectures)

1. Introduction, Basic System Administration (3)


2. Windows Installation, Linux Installation and Package Management, Backup and Security,
Monitoring and Managing Processes/Daemons, Scripting basics and start-up scripts (8)
3. Unix Networking, Network Protocols - TCP, IP, UDP, NetBIOS, TCP/IP Concepts and
Configuration - the basics, Sub netting Implementation, Basic Network Trouble-Shooting
and Monitoring Tools (8)
4. Server configuration and management, DHCP, NIS, NFS, LDAP and Samba (6)
5. Apache Web Server with PHP, DNS, BIND and Sendmail, Tools like Webmin, Webalizer,
and Phpmyadmin; Security and firewall (5)

Text Books
1. TCP/IP Network Administration?, by Craig Hunt,
2. Neural Networks and Learning Machines by S. Haykin
3. Artificial Neural Networks by Robert J. Schalkoff
4. Multi-Objective Optimization Using Evolutionary Algorithms by Deb Kalyanmoy
5. Genetic Algorithms + Data Structures = Evolution Programs by Z Michalewicz

40
Neural Networks (Professional Elective for CSE & IT 3L)
Syllabus

1. Neural Network(OE)
Prerequisites: Multivariate calculus and linear algebra.
Objective:
 gain familiarity with a wide variety of neural network models and their applications
 Develop capabilities for creating and using neural network models.
 develop knowledge of the state-of-the-art in neural networks, and
 Gain some mathematical understanding of neural network models.
 Gain experience in using computational tools such as neural networks to perform
computational experiments leading to new theoretical insights.

Course Description
The course is an introduction to neural networks. Neural networks provide a model of computation
drastically different from traditional computers. Typically, neural networks are not explicitly
programmed to perform a given task; rather, they learn to do the task from examples of desired
input/output behavior. The course introduces biological information processing followed by an
overview of the most important artificial neural network architectures and algorithms such as
perceptrons, backpropagation, Hopfield and Boltzmann networks, self-organizing maps, adaptive
resonance theory, reinforcement learning, and neuroevolution.

Course Outline (To be covered in 30 lectures)


1. Introduction, Brain Physiology, Neuron Model and Network Architectures (4)
2. Nonlinear dynamical system theory (6)
3. The Hopfield Model, Spin Glasses, Stochastic Neural Networks, Boltzmann Machine (8)
4. Multilayer Feedforward Networks For Supervised Learning(6)
5. Unsupervised and Competitive Learning Algorithms, Bifurcating Neural Networks (6)

Text Books
1. Neural Networks: A Comprehensive Foundation by S. Haykin,
2. Neural Networks and Learning Machines by S. Haykin
3. Artificial Neural Networks by Robert J. Schalkoff
4. Multi-Objective Optimization Using Evolutionary Algorithms by Deb Kalyanmoy
5. Genetic Algorithms + Data Structures = Evolution Programs by Z Michalewicz

41
Service Oriented Software Engineering (Professional Elective for CSE &
IT 3L)
Syllabus

Service Oriented Software Engineering (OE)


Objective:
1. To introduce the idea of service-oriented architectures
2. To explain the notion of a reusable service, based on web service standards, that provides
a mechanism for inter-organisational computing;
3. To describe the service engineering process that is intended to produce reusable web
services.
4. To introduce service composition as a means of application development;
5. To show how business process models may be used as a basis for the design of service-
oriented systems
Prerequisites: Software Engineering, Service-oriented analysis and design, Service oriented
Modeling.
Course Description
Service oriented software development paradigm is becoming the delivery model by all major IT
companies. This course is intended to introduce the students with this paradigm. In this course
students shall study the fundamentals of Service Oriented Software Engineering. Prerequisite for
this course is course on Software Engineering.

Course Outline (To be covered in 30 lectures)

1. Concepts of Service orientation (8)


2. Service oriented Software architecture concepts (5)
3. Requirements Analysis & Design Process (7)
4. Service Testing and Estimation models (6)
5. Cloud based services models (4)

Text Books
1. Service Oriented Architecture – Concept Technology & Design by Thomas Earl
2. Enterprise SOA – Designing IT for Business Innovation by Woods & Mattem
3. Web Service Essentials, Eiban Cerami, O’Reilly

42
XML and Applications (Professional Elective for CSE & IT 3L)
Syllabus

XML Based Applications (OE)

Objective:
1. To familiarize students with various XML based applications with the help of case studies.

2. To be able to develop new applications using XML schema.

Prerequisites: Fundamental concepts of XML including document and language creation and
implementation, XML Schema

Course Description
This course introduces students to the basic concepts of the eXtensible markup language (XML).
XML has made a major impact in almost every aspect of software development. Designed as an
open, extensible, self-describing language, it has become the world-wide standard for data and
document delivery on the Web. Students will be instructed as to the purpose of an XML document
and what it consists of, in how a Document Type Definition (DTD) or schema is used to validate an
XML document and the extensible style language (XSL) to transform XML documents into
HTML/XHTML. XML-related technologies continue to develop, to enable validation, navigation,
transformation, linking, querying, description, and messaging of data. Students would be exposed
to such wide range of application domains.

Course Outline (To be covered in 30 lectures)

1. Emerging Technologies; XML Documents: Syntax, Well formed and Valid; CCS and
XHTML; Document Type Definition(DTD); XML Schema : XSD, XDR, Examples;
JavaScript (12)
2. SAX and DOM Parser and APIs, Example of API usage; XPATH, XLink, Xpointer; XSL:
XSLT (10)
3. Applications: RDF and RDFS, JENA API, Case Study (8)

Text Books

1. XML The Microsoft Way By Peter G. Aitken


2. Learning XML By Erik T. Ray and Christopher R. Maden
3. XML How to Program By Harvey M. Deitel, Paul J. Deitel, Tem R. Nieto, Ted Lin
and Praveen Sadhu

43
Professional Elective III & IV
(Pool – 2)

44
Distributed and Parallel Algorithms (Professional Elective for CSE & IT
3L-0T)
Syllabus

Distributed & Parallel Algorithms (OE)

Prerequisites: Basic Algorithms and Data Structures.


Objective: Parallel and distributed architectures appear in a wide range of areas including
networking, computer architecture, databases, image processing, artificial intelligence, numerical
computing, symbolic computing, and other areas. Distributed and parallel systems are
characterized by concurrency, large scale, peculiar demands for resources, etc. Such systems
require skills and knowledge that dicer substantially from sequential programming experience. This
course serves to introduce the students to the computational and algorithmic aspects of parallel
and distributed computing. Thus, this course is appropriate for students wishing to do research and
thesis work in a variety of areas of computer science.
Course Description
This course is an introduction to distributed and parallel algorithms design. Aim is to acquaint
students with the basic concepts of parallel and distributed computing. The course aims to look into
the general principles of parallel and distributed algorithms and their time complexity.

Course Outline (To be covered in 30 lectures)


1. Introduction, architectures and languages for parallel and distributed processing. (3)
2. Abstract models of parallel computing, PRAM (Parallel Random Access Machine).
Distributed and parallel algorithms and their complexity. Interaction between processes,
communication, synchronization. (9)
3. Topologies, synchronous and asynchronous algorithms. Algorithms for parallel sorting.
Algorithms for parallel searching. (6)
4. Parallel matrix operations. All prefix sums and their applications. Graph and list algorithms.
Synchronization algorithms and tasks. (6)
5. Mechanisms and language constructs for synchronization. Recently published
algorithms.(6)

Text Books
1. Parallel Computation, Model and Methods by Akl,
2. An Introduction to Parallel Algorithms, by J’aJ’a, J
3. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes
by Leighton,
4. Synthesis of Parallel Algorithms by J. H. Rief,
5. Introduction to Distributed Algorithms by Gerard Tel,

45
E-Commerce (Professional Elective CSE & IT 3L)
Syllabus

E-Commerce (OE)

Prerequisites: Computer Information Systems , Business Data Management , System Analysis


and Design .

Objective:
 have an understanding of essential e-Commerce concepts and technologies and skills
related to the management and application of e-Commerce and e-Business approaches .
 have an understanding of the technological, capital and social infrastructure for
commercial activities such as buying and selling, marketing and advertising, supply-chain
management etc.
 have hands on, real-life experience with electronic commerce applications .
 be able to define and explain the main issues facing businesses engaged in the planning
and implementation of e-Business strategies .
 identify and define the main e-Business models currently being adopted by organizations
 have an understanding and ability to assess the strategic relevance of e-Commerce in
shaping both inter-organisational relationships and intra-organisational structures and
processes
 critically evaluate the design of e-Business sites and discuss human, organisational and
social implications of electronic commerce
Course Description
The growth of the Internet continues to have a tremendous influence on business. Companies and
organizations of all types and sizes are rethinking their strategies and how they run their
operations. This new course in the Temple E-Marketing program challenges students to explore
the realities and implications of e-commerce from a marketer's perspective. Business-to-consumer
(B2C) and business-to-business (B2B) e-commerce markets are examined. The course introduces
students to a wide range of electronic commerce issues for marketers, as a foundation for
continual learning in the dynamic e-commerce environment.

Course Outline (To be covered in 30 lectures)


1. Introduction to e-Commerce and Network Infrastructure for e-commerce. [4]
2. E-commerce Models, e-Advertising & Marketing [6]
3. Electronic Payment Systems and Electronic Data Exchange [6]
4. E-commerce Security [4]
5. e-CRM [6]
6. Mobile Commerce [4]

Text Books
1. Introduction to E-commerce by Jeffrey F.Rayport & Bernard J.Jaworski
2. Frontiers of E-commerce by Kalakota & Winston
3. E-Commerce- Strategy technologies and Applications by David Whiteley
4. E-Commerce-Concepts, Models & Strategies by C.S.V. Murthy
5. E-Commerce by Perry
46
Gaming and Animation (Professional Elective for CSE & IT 3L)
Syllabus

Gaming and Animation (OE)

Prerequisites: This course requires general familiarity with computer concepts, an interest in and
experience with games, and a vivid imagination.
Objective: This course gives students a solid understanding of designing, modeling and
implementing a game.

Course Description
The purpose of this course is to give students a thorough understanding of computer animation
and gaming. The course introduces camera and vehicle animation, parent/child hierarchies,
character rigging, character animation, facial animation, lip syncing, physical simulations, motion
capture for gaming.

Course Outline (To be covered in 30 lectures)

1. Introduction, Fundamental Principles of Animation and gaming (6)


2. Rigging & Posing Techniques, Fundamentals of Character Animation, Facial Animation
and Lip Sync Techniques (8)
3. Fundamentals of Motion Capture, Principles of Motion Simulation (8)
4. Game design principles and processes (8)

Text Books
1. Fundamentals of Game Design. By E. Adams.
2. The Art of Game Design by J. Schell
3. Computer Animation: Algorithms and Techniques by Rick Parent

47
Information Retrieval (Professional Elective for CSE & IT 3L)
Syllabus

Information Retrival (OE)

Prerequisites:
Basic knowledge of web design, Basic Programming, data structures, Algorithms, Basic linear
algebra, Basic statistics.
Objective:
To give students a solid understanding of:
 the genesis and variety of information retrieval situations.
 the variety of information retrieval models and techniques.
 design principles for information retrieval systems.
 methods for implementing information retrieval systems.
 characteristics of operational and experimental information retrieval systems.
 methods and principles for the evaluation of information retrieval systems.
Course Description
This course will cover traditional material, as well as recent advances in Information Retrieval (IR).
The course includes the study of indexing, processing, and querying textual data basic retrieval
models, algorithms, and IR system implementations. The course will also address advanced topics
in IR, including Natural Language Processing techniques, and Web agents.

Course Outline (To be covered in 30 lectures)


1. Introduction to IR models and methods, Text analysis / Web spidering Text properties (5)
2. Vector-based model, Boolean model, Probabilistic model, other IR models; IR evaluation
and IR test collections; Relevance feedback, query expansion (8)
3. Web search: link based and content based; Query-based and content sensitive link
analysis; Search engine technologies (8)
4. Text classification and clustering; Question answering on offline and online collections (5)
5. Personalized IR, Cross-language IR, Web 2.0, (4)

Text Books
1. Introduction to Information Retrieval by Christopher D. Manning, Prabhakar
Raghavan, Hinrich Schütze (available online)
2. Information Retrieval: Algorithms and Heuristics. By D.A. Grossman, O. Frieder
3. Readings in Information Retrieval by K.Sparck Jones and P. Willett

48
Pattern Recognition (Professional Elective for CSE & IT 3L)
Syllabus

Pattern Recognition (OE)


Prerequisites: Analysis of algorithms, Calculus, Introductory Statistics, Linear Algebra.
Objective:
 Learn the fundamental concepts and applications of pattern recognition.
 Learn the concepts of Bayes decision theory.
 Understand the concepts of linear and nonlinear classifiers.
 Understand the concepts of feature selection and generation techniques.
 Understand the concepts of supervised learning and system evaluation.
 Develop some applications of pattern recognition.
Course Description
The emphasis of the course is on algorithms used for pattern recognition. Pattern Recognition is
assigning a meaningful or classifying label to the elements of the input data. It uses the concepts of
classification and clustering to separate the interclass elements. This information can then be used
to classify or recognize new data using supervised or unsupervised learning methods and
classifiers such as Support Vector Machine, Hidden Markov Model and Linear Discriminant
Analysis. Pattern recognition has several important applications in the fields of data mining,
artificial intelligence, networking and image processing. The prerequisites of the course are basic
knowledge of statistics and linear algebra along with the concepts of probability theory.

Course Outline (To be covered in 30 lectures)


1. Introduction to Pattern Recognition, Feature Detection, Classification, Decision Theory,
ROC Curves, Likelihood Ratio Test, Linear and Quadratic Discriminants, Fisher
Discriminant, Sufficient Statistics, Coping with Missing or Noisy Features, Template-based
Recognition, Feature Extraction, Eigenvector and Multilinear Analysis (10)
2. Training Methods, Maximum Likelihood and Bayesian Parameter Estimation, Linear
Discriminant/Perceptron Learning, Optimization by Gradient Descent, Support Vector
Machines, K-Nearest-Neighbor Classification (6)
3. Non-parametric Classification, Density Estimation, Parzen Estimation,Unsupervised
Learning, Clustering, Vector Quantization, K-means, Mixture Modeling, Expectation-
Maximization (6)
4. Hidden Markov Models, Viterbi Algorithm, Baum-Welch Algorithm, Linear Dynamical
Systems, Kalman Filtering, Decision Trees, Multi-layer Perceptrons, Reinforcement
Learning with Human Interaction (8)

Text Books
1. Pattern Classification by Richard O. Duda, Peter E. Hart and David G. Stork
2. Pattern Recognition and Machine Learning by C. M. Bishop
3. Pattern Recognition by S. Theodoridis and K. Koutroumbas

49
Semantic Web (Professional Elective for CSE & IT 3L)
Syllabus

Semantic Web (OE)


Prerequisites: Basic Web technology like html.

Objective: The aim of the course is to make the students familiar with the Semantic Web, with
technologies used on the Semantic Web, and with applications using Semantic Web technologies.
The course will focus on the theoretical background of various languages on the Semantic Web
such as RDF, SPARQL, OWL, and F-Logic (Programming), and the practical use of these
languages on the Semantic Web. In addition, the course will focus on important application areas
for Semantic Web technology, namely Web Services and Life Sciences.
Course Description
This course introduces techniques that are useful stand-alone and can be integrated for building a
semantic web. It will review XML with Document Type Definitions and Schemas;
transformation/inference rules in XSLT, metadata with RDF (Resource Description Framework);
metadata taxonomies with RDF Schema; description logic and the W3C ontology language OWL 2;
as well as integrating these techniques for ontology/rule-based multi-agent systems. Students may
note that besides enabling quick and accurate web search, semantic web may also allow the
development of intelligent internet agents and facilitate communication between a multitude of
heterogeneous web-accessible devices.

Course Outline (To be covered in 30 lectures)


1. Review of XML; Meta-model and Meta-data, RDF & RDFS; OWL; Ontology Engineering
and tools (12)
2. Description Logic(DL); Programming with DL; Example Application (12)
3. Knowledge Acquisition and Management System, (6)

Text Books
1. A Semantic Web Primer by Antoniou, Grigoris and Frank van Harmelen
2. The Description Logic Handbook: Theory, Implementation and Applications by
Franz Baader, Deborah L. Guinness, Daniele Nardi, and Peter F. Patel-Schneider
(Eds.)
3. An Introduction to Description Logic by Daniele Nardi and Ronald J. Brachman

50
Software Metrics & Quality Assurance (Professional Elective for CSE and
IT 3L)
Syllabus

Software Metrics & Quality Assurance (OE)

Prerequisites: Software engineering process, analysis, design etc.


Objective: This course introduces concepts, metrics, and models in software quality assurance.
The course covers components of software quality assurance systems before, during, and after
software development. It presents a framework for software quality assurance and discuss
individual components in the framework such as planning, reviews, testing, configuration
management, and so on. It also discusses metrics and models for software quality as a product, in
process, and in maintenance. The course will include case studies and hands on experiences.
Students will develop an understanding of software quality and approaches to assure software
quality.

Course Description
In this course students will study the foundational concepts of measurement of various aspects of
software during the entire course of its development. The course takes up various existing metrics
and tools that measure various activities of the software development. Topics such as Property-
oriented measurement, Meaningfulness in measurement, Measurement quality, Measurement
process, Scale, Measurement validation, Object-oriented measurement are covered. Students may
note that the course is credited only after having undergone Software Engineering.

Course Outline (To be covered in 30 lectures)


1. The state of IT project management & basics of measurement (6)
2. Measuring internal product attributes: size and structure (6)
3. Measuring cost and effort (6)
4. Measuring external product attributes: Quality & Reliability (6)
5. Software test metrics (6)

Text Books
1. Software Metrics: A Rigorous and Practical Approach by N.E. Fenton and S.L.
Pfleeger
2. Metrics and Models in Software Quality Engineering by Stephen H. Kan
3. Software Project Management in practice by Pankaj Jalote
4. Software Project Management by Bob Hughes and Mike Cotterell

51
Software Testing (Professional Elective for CSE & IT 3L)
Syllabus

Software Testing (OE)

Prerequisites: Software engineering and Software project management.


Objectives: To understand the fundamental of software testing, different approaches to testing,
managing test cases and different testing strategies.

Course Description
In this course students shall study the fundamentals of testing, various approaches to testing,
managing test cases and various testing strategies. Students may note that the course is credited
only after having undergone Software Engineering and/or Software Project Management.

Course Outline (To be covered in 30 lectures)


1. Fundamentals of Testing and its current state of art (8)
2. Various approaches to Testing (6)
3. Test planning and Management (6)
4. Test Strategies - Preventive, Reactive Approach, Analytical, Heuristic, Configuration
Management (6)
5. Mutation Testing & Testing Object Oriented Software (4)

Text Books
1. Software Testing Techniques by Borris Beizer
2. Software Testing – A Craftman’s Approach by Paul C. Jorgensen
3. Software Testing by Hambling, Samaroo & Williams.
4. Software Testing Practice: Test Management by Spillner, Rossner, Winter & Linz

52
Theory of Virtualization (Professional Elective for CSE & IT 3L)
Syllabus

Theory of Virtualization (OE)

Prerequisites: Operating system and Computer network.


Objectives: Understanding the skills and knowledge related to the concepts and principles of
virtualization, the mechanisms and techniques of building virtualized system and virtualization-
enabled processing scenario.

Course Description
This course provides description of the concepts of virtualization and the properties of virtualization
that make it a powerful technology. It contrast different forms of virtualization and focus on system
level virtualization which has become very popular lately in the computer industry. It describes
various architectures for implementing system-level virtualization. Upon completion of this course,
students will possess the skills and knowledge related to the concepts and principles of
virtualization, the mechanisms and techniques of building virtualized systems, as well as the
various virtualization-enabled computing paradigms. Further, they will also gain knowledge about
some State-of-the-art virtualization software and systems through their course projects. The basic
courses on Operating System and Computer Networks are prerequisites.

Course Outline (To be covered in 30 lectures)


1. Introduction, Overview of virtualization (8)
2. Hardware/Server virtualization (8)
3. Network virtualization (8)
4. Virtual machines (6)

Text Books
1. Virtual Machines: Versatile Platforms for Systems and Processes by James E.
Smith, Ravi Nair,
2. Virtualization: From the Desktop to the Enterprise by Chris Wolf, Erick M. Halter
3. Network virtualization by Kumar Reddy, Victor Moreno,
4. Advanced Server Virtualization: VMware and Microsoft Platform in the Virtual Data
Center by David Marshall, Wade A. Reynolds,

53
Web Mining (Professional Elective for CSE & IT 3L)
Syllabus

Web Mining (OE)

Prerequisites: Data mining, Data Base.


Objectives: Web usage mining is the process of extracting useful information from server. Web
Usage Mining is the application of data mining techniques to discover interesting usage patterns
from Web data in order to understand and better serve the needs of Web-based applications.

Course Description
The course is an introduction to web mining technologies. Though the Web is rich with information,
gathering and making sense of this data is difficult because the documents of the Web are largely
unorganized. The course will cover machine learning techniques to mine the Web and other
information networks, social networks, and social media. Applications to search, retrieval,
classification, and recommendation would be studied. Various models to explain the dynamics of
Web processes will also be emphasized.

Course Outline (To be covered in 30 lectures)


1. Introduction, Practical web mining applications overview (3)
2. Natural Language Processing methods used for web information retrieval (6)
3. Web Content Mining (5)
4. Web Structure Mining (5)
5. Web Usage Mining (6)
6. Specific applications and case studies (5)

Text Books
1. Web data mining: exploring hyperlinks, contents, and usage data by LIU, B.
2. Mining the Web - Discovering knowledge from hypertext data, by Soumen
Chakrabarti,
3. Ontology learning and population from text : algorithms, evaluation and applications by
CIMIANO, P.

54
Programming Tools I ( III Semester CSE and IT 3P)
Lab Description
This is first independent lab course in programming tools which intends to introduce shell
programming skills. UNIX is popular alternative to the Windows environment, especially in high-
performance PC Linux servers and other UNIX-based web servers. Topics include: Unix utilities
and file structure, Links and symbolic links, Data processing and process control in the Unix shell,
Shell programming, Regular expressions, Exposure to different shells like bash, csh, ksh.
Introduction to the Python/Perl programming in the Unix environment.

Programming Tools II ( IV Semester CSE and IT 3P)


Lab Description
This is second independent lab course in programming tools which intends to introduce
programming involving system calls. System calls are commands that are executed by the
operating system. System calls are the only way to access kernel facilities. In this lab course
students would learn to use these system calls as file system, multitasking mechanisms and the
interprocess communication primitives.

Note: Other labs are associated with respective theory courses and hence do not require explicit
description.

55
Computer Programming ( I/II Semester All Branches)
Syllabus

Course Description
This is a first course in programming which intends to introduce students to the foundations of
computing, programming and problem-solving. Aim is to develop basic programming skills
necessary for engineering education. Students would learn C/C++ programming in a Linux
environment. This course has an associated lab with it.

Course Outline
1. Introduction, LINUX Commands, editors, Files & Directories, Design of algorithms (4)
2. Writing a Simple Program: Learning the form of a C program, Declaring variables,
designing program flow and control, using standard terminal I/O functions. (4)
3. Fundamental Data Types and Storage Classes, Operators and Expressions Conditional
Program Execution Loops and Iteration, Introduction to Abstraction, functions, (6)
4. Arrays, Pointers, Structures (6)
5. Introduction to Object Oriented Programming concepts, Classes and Objects, Important
C++ constructs (6)
6. The Standard C/C++ Preprocessor, The Standard C/C++ Library (4)

Text Books
1. How to solve it by Computer by R. J. Dromey
2. The C Programming Language by Brian W. Kernighan, Dennis M. Ritchie
3. On to C++ by P H Winston ( also available online)
4. Structure and Interpretation of Computer Programs by Harold Abelson and Gerald
Sussman with Julie Sussman, (Also available online)
5. Herbert Schield, Complete reference in C,

56

You might also like