19 Syllabus MCASyllabus
19 Syllabus MCASyllabus
19 Syllabus MCASyllabus
Prerequisites: None
Course Contents:
Main Reading
1. Jeri R. Hanly and Eliot B. Koffman “Problem Solving and Program Design in C” Pearson Education,
VII Edition, 2012
2. R.G.Dromey "How to Solve it by Computer ", PHI , 1998
Supplementary Reading
1. S.K. Srivastava “C in Depth”, BPB, 2004
2. Deitel and Deitel "C How to Program ", Addisson Wesley , 2001
3. E.Balagurusamy " Programming in ANSI C " , Tata McGraw Hill, 2004
4. Brian W.Kernighan & Dennis Ritchie "C Programming Language", PHI, 1990
5. Byron.S.Gottfried "Schaum's Outline of Programming with C", 2nd Edition, 1996
1
CS 102 Computer Organization and Architecture
Prerequisites : None
Course content:
Pipelining (10%)
Basic Concepts, Data Hazards, Instruction Hazards, Control Hazards. Influence on Instruction Sets, Datapath
and Control Considerations, Superscalar Operation, Performance Considerations.
Main Reading
2
MT103 Probability and Statistics
Prerequisites: Standard XII Mathematics or equivalent.
Course Contents:
Probability
Experiments and sample spaces, events, algebra of events, probability axioms, conditional probability,
independence of events, mutually exclusive events. Baye's rule (10%)
One dimensional random variable:: discrete and continuous random variable, characteristics of distributions,
cumulative distribution function, functions of one random variable. (10%)
Two dimensional random variable: marginal and conditional distributions, conditional expectation
independence, covariance and correlation, distribution function. (10%)
Statistics
Sampling distributions, Parameter Estimation of mean and proportion. (10%)
Hypothesis tests about mean and proportion, Chi-square tests, analysis of variance ,least squares curve fitting,
the coefficient of Determination. (15%)
Confidence Intervals in linear Regression, correlation analysis, simple nonlinear regression, Higher dimensional
least-squares fit. (15%)
Non parametric tests: sign test, Rank test, Median test (10%)
Main Reading
1. William W. Hines and Douglas C. Montgomery, Probability and Statistics in Engineering and
Management Science, Wiley India Pvt. Ltd.
2. T.Veerarajan, Probability, Statistics and Random Processes, Tata McGraw Hill Pub. Co. Ltd.
3. P.S.Mann, Introductory Statistics, Wiley Student edition
Course Contents:
Logic, Propositional equivalences, predicates and quantifiers, nested quantifiers, methods of proof,
functions. (10%)
Mathematical induction, recursive definitions and structural induction, recursive algorithms, programme
correctness, Pigeonhole principle, permutations and combinations. (10%)
Recurrence relations, solving recurrence relations, divide and conquer algorithms and recurrence relations,
generating functions, inclusion and exclusion, applications of inclusion and exclusion. (20%)
Relations and their properties, n-ary relations and their applications, representing relations, closures of relations,
equivalence relations, partial orderings. (20%)
Introduction to graphs, graph terminology, representing graphs and graph isomorphism, connectivity, Euler and
Hamiltonian paths, shortest path problems, planar graphs. (20%)
3
Introduction to trees, applications of trees, tree traversal, spanning trees, minimum spanning trees (10%)
Boolean functions, representing Boolean functions, logic gates, minimization of circuits (10%)
Main Reading
1. Kenneth H. Rosen, Discrete Mathematics and Its Applications, Tata McGraw-Hill Pub. Co. Ltd.
2. Edgar G. Goodaire and Michael M. Parmenter, Discrete Mathematics with Graph Theory, PHI
Learning Pvt. Ltd.
Prerequisites: None
4
Programs using Pointers
18. Write a function to insert a number properly into an already sorted linked list of numbers. Use
this function repeatedly to sort a series of numbers provided at the input.
19. Define a self referential structure for representing a simple linked list of integers. Write a
function to split the list into two lists so that the first list contains all even numbered elements
and the second list contains only odd numbered elements. For example if the original list is {2,
8, 1, 14, 6, 18, 0, 17} then the resultant first list would be (8, 14, 18, 17) and the second list
would be {2,1,6,0}.
A Mini Project – Using all the features covered in ‘C’ / any programming language. The project is to be
implemented using multiple files – a header file to store all function prototypes, constants, etc., all project
related application functions code in a separate file, all functions code for data validations, etc., in another
separate file and the main function code in another file.
Lab Contents:
Concept of hard disk partitions, file system, Superblock and Inodes. General structure of Unix inode. Analyzing
the output of ls -l command. File type and permission. Significance of directory permissions. Use of chmod
command. Concept of ownership. Changing ownership. Use of chown and chgrp commands. Concept of
symbolic links. Hard and soft links. Use of ln command to create hard and soft links. Modification and access
times. Default file and directory permissions Use of umask command. Use of commands file, which.
5
Process Management
Concept of Unix process. Role of init in process creation and in spawning user shells. Process ID and exit status
of a process. Displaying process attributes using ps command, Killing processes , foreground and background
processes.. Job control commands, jobs, scheduling processes (cron).
Filters
Regular expressions, Command grep and tr.
Sed: sed command and sed scripts. Substitute, delete, insert, modify and append operations.
Awk: Selection criteria and action. Splitting a line into fields and using printf. Using regular expressions.
Relational and Boolean operations. The BEGIN and END sections. Awk system variables. Using arrays with
both numeric and nonnumeric subscript. Command line parameters and environment variables. String handling
using built-in functions. Programming constructs: if, for, while. Getline function and reading input from files.
Writing output to file and pipes.
System Administration
Adding, deleting and disabling user accounts. Changing passwords. Importance of /etc/passwd, /etc/shadow and
/etc/group files. Manging user resource usage levels. Using ulimit. Shutting system down using shutdown, halt
and reboot commands. File system maintenances : mounting and unmounting file systems. Creating and
checking file systems using mkfs and fsck commands. Using commands du, df, tar and zip
Shell Programming
Shell scripts and execution methods. The dot command, Interactive and Non Interactive execution. Internal and
external commands, Shell and environment variables. Use of export command, Aliases and command history.
Built-in shell parameters. Command line arguments. Escaping and quoting. Difference between single and
double quotes. The three standard files and redirection (>, < and >>). Connecting commands with pipes (|).
Meta characters, pattern matching, Wild card characters, command substitution, brace and tilde expansion,
Quoting, I/O using read and echo. ‘test’ command, arithmetic expressions, Control flow: For, If, While, Case.
Setting positional parameters (set command), and shift, shell functions, Redirection and file descriptors.
Variables substitution, quoting, flow control and loops, using the set and shift commands, parameters ,error
handling, debugging.
Main Reading
1. Unix Concepts and Applications – Sumitaba Das Tata MacGraw Hill.
2. Unix and Shell Programming – Graham Glass and King Ables Pearson Education
3. C and Unix Programming – Kerningham and Pike
4. man pages
Course contents:
Introduction (10%)
Introduction using the three level Approach – Application/User, Abstract/Logical and Implementation/Physical.
Three level approach to be applied to understand Arrays, Structures and Unions. Space Time trade-off concept
Linear Data Structures (25%)
Array application and representations: Polynomials, Sparse matrices, String-pattern Matching
Linked Lists: Linked list applications, Representation and Implementation, Use of Header and Trailer Nodes,
Doubly linked list, Circular linked list
Stack and Queues: Need and justification of the study, Representation and implementation, Multiple stacks and
queues, Implementation of recursion using stack.
6
Nonlinear Data Structures (30%)
Trees: Definitions, terminologies and properties, Binary tree representation, traversals and applications,
Threaded binary trees, Binary Search Trees, AVL Trees, M-way Search Trees, B-trees, B*-trees, B+-trees,
Optimum binary search trees, Multidimensional binary search trees
Graphs: Graph representations; Graph Traversals
Priority Queues, Heap Structures, Binomial Heaps, Leftist Heaps
Complexity of Sort and Search Algorithms (10%)
Heap sort, Merge sort, Quick-sort, Hashing, General radix sort, Symbol tables, Sequential search, Binary search,
Interpolation search, Tries
Main Reading
1. J. B. Dixit, Mastering Data Structures Through C Language, First Edition, University Science Press,
2010
2. Richard F.Gilberg and Behrouz A.Forouzan Data Structure - A Pseudocode Approach with C -First
Reprint -Thomson,2002
Supplementary Reading
1. Aho, Hopcroft, Ullman, Data Structures and Algorithms, Addison Wesley, 1983.
2. R. L. Kruse, Data Structures and Program Design, 3rd ed., Prentice-Hall, 1994.
3. Mary E. S. Loomis, Data Management and File Structures, 2nd ed., Prentice-Hall, 1989.
4. Clifford A. Shaffer, A practical Introduction to Data Structures and Algorithm Analysis, Prentice-Hall,
1997.
5. Kruse, Tondo and Leung, Data Structures and Program Design in C, 2nd edition, Prentice-Hall, 1997.
Introduction (4%)
What Operation Systems Do, A brief history of Operating systems, Computer-System Organization, Computer-
System Architecture, Operating-System Structure, Operating-System Operations, Process Management,
Memory Management , Storage Management, Protection and Security, Distributed Systems, Special-purpose
Systems, Computing Environments
7
Multithreaded Programming (8%)
Overview , Multithreading Models, Thread Libraries, Threading Issues, Operating system Examples
Deadlocks (8%)
System Model, Deadlock characterization, Methods for Handling Deadlocks, Deadlock Prevention, Deadlock
Avoidance, Deadlock Detection, Recovery From Deadlock
Main Reading
1. Operating systems Principles – Silberschatz ,Galvin and Gagne - 7th edition (Wiley Asia Student
Edition)
Supplementary Reading
1. Deitel H.M., “An Introduction to Operating Systems”, Addison Wesley Publishers Company, 1994
2. Milenkovic M., “Operating Systems : Concepts and Design”, McGraw Hill International Edition
Computer Science series 1992.
3. Tanenbaum A. S., Modern Operating Systems”, Prentice Hall of India Pvt. Ltd., 1995
4. Operating Systems – a modern perspective - Gary Nutt , Addison Wesley
8
MT203 Applied Operations Research
Course Contents:
Decision making in Operations Research ( 5%)
LP: Algebraic solutions, standard LP model, simplex method, special cases in simplex method (10%)
LP: duality and sensitivity analysis: Definition of dual, primal-dual relationships, economic interpretation of
duality, dual simplex method, sensitivity analysis (10%)
Revised simplex method for LPP, bounded variables, decomposition algorithm (10%)
Integer programming: cutting plane algorithm, branch and bound method. (10%)
Project scheduling by PERT-CPM: critical path calculations, construction of time chart and resource leveling,
probability and cost considerations, project control (10%)
Main Reading
1. Hamdy A.Taha, Operations Research:An Introduction, Pearson Education
2. Pradeep Prabhakar Pai, Operations Research:Principles and practice, OXFORD University Press
3. Frederick S.Hillier and Mark S.Hillier, Introduction to management science: A modeling and case
studies approach with spreadsheets,Tata McGraw-Hill.
4. Frederick S Hillier, and Gerald J. Lieberman, Introduction to Operations Research, McGraw Hill.
Course Contents:
Linear Equations in Linear Algebra: Systems of linear equations, row reduction and echelon forms, Vector
equations, matrix equation, solution sets of linear systems, linear independence, Matrix of linear transformation.
(15%)
Matrix Algebra: characteristics of invertible matrices, Partitioned matrices, matrix factorizations, application to
computer graphics, dimension and rank. (15%)
9
Vector Spaces: vector spaces and subspaces, linear transformations, Bases, coordinate systems,Dimension of a
vector space, rank, change of bases (15%)
Eigenvalues and eigenvectors: Characteristics equation, diagonalization, eigen vectors and linear
transformations, discrete dynamical systems (15%)
Orthogonality: inner product, length,and orthogonality, orthogonal sets, orthogonal projections, Gram-Schmidt
process, inner product spaces (15%)
Symmetric matrices and quadratic forms: diagonalization of symmetric matrices, quadratic forms, constrained
optimization, singular value decomposition, application to image processing and statistics. (15%)
Main Reading
1. David C. Lay, Linear Algebra and its Applications, Pearson.
2. Steven J. Leon, Linear Algebra with Applications 8th Edition, Pearson.
Supplementary Reading
1. ATLAST Computer Exercises for Linear Algebra, 2nd edition by Steven J. Leon, Eugene Herman, and
Richard Faulkenberry.
2. Student Study Guide, 8E by Steven J. Leon.
3. Visualizing Linear Algebra using Maple by Sandra Keith
4. Understanding Linear Algebra using MATLAB by Irwin and Margaret Kleinfeld
5. Linear Algebra Labs with MATLAB, 3rd ed. by David R. Hill and David E. Zitarelli
Prerequisites: PL105
10
22. Write a program to implement a circular buffer of size N using the concept of queue. The
characters should be added to the end of queue. After the buffer gets full the characters must
be removed from the beginning of the queue to make space for new character as they are
entered. Print the characters to console as they are removed.
Applications of Graphs
29. Write a program to implement minimum spanning tree algorithm.
30. Write a program to find the shortest path between any two vertices.
File Handling
31. Write a program that given two text file containing English words, would sort and merge them
into a third file.
32. Write a program to build B-tree/B+ tree for a given text file containing student records.
Student roll number may be used as key.
A Mini Project
To implement and demonstrate the use of any advanced data structure (need not be from the syllabus)
Lab Contents:
Overview of Unix
Files and Directories, processes, Signals, System calls and library functions,Unix standardization and
Implementation, system data files, types of limits(conf)
Process control
Identifiers, fork, exec, wait functions, race conditions, changing user and group ids, process accounting and
times, controlling terminals
11
Signals
Signal concept and function, unreliable signals, interrupted system calls, kill, raise, alarm, pause, sigsetjmp,
sleep, abort, system functions
IPC
Pipes, popen and pclose functions, FIFOs, CoProcesses, Message Queues, msgget and msgsnd, msgctl
functions, semaphores, semget, semctl, semop functions, shared memory, shmget, shmat, shmctl, shmdt
functions
Main Reading
1. C and Unix Programming – Kerningham and Pike, Prentice Hall
2. Advanced Programming in the UNIX environment – W R Stevens, Pearson education Manuals
Course Contents:
12
Concurrency Control (12%)
Serialization Locking Techniques Time stamp ordering Granularity of Data items.
Overview of Network Data Model, Hierarchical Data Model and their DML’s. (4%)
Main Reading
1. Korth, Silberchartz, “ Database System Concepts” McGrawhill Publication.
2. Elmasri and Navathe, “ Fundamentals of Database Systems”, Addison Wesley, New Delhi.
3. Database Management Systems –R. Ramakrishnan, J.Gehrke – T.McGraw Hill
Supplementary Reading
1. Desai B., “ An Introduction to Database Concepts”, Galgotia Publications, New Delhi.
2. Rob,Coronel, “Database Systems (Design, Implementation and Management)”
3. Date C. J. , “ An Introduction to Database Systems”, Publication House, New Delhi.
Course Contents:
Introduction (5%)
Uses of computer networks. Types of computer networks and network topologies . Layered protocols and OSI
reference model. Interfaces and services, Connection oriented and connectionless services. Service primitives,
Relationship of services to protocols. TCP/IP reference models.
13
Transport Layer (10 %)
Transport Layer Service Primitives. Connection Establishment and Connection release Management. Problem of
old duplicates. Flow control and buffering.
Main Reading
1. Andrew S. Tanenbaum., “Computer Networks”, (5th Edition) Prentice Hall of India.
Supplementary Reading
1.Stalling W., “ Data and Computer Communication” (8th edition) Prentice Hall of India.
2.Behrouz A Forouzan, “Data Communication and Networking”, (4rd edition), Tata McGraw Hill.
3.Behrouz A Forouzan, “TCP/IP Protocol Suite”, (3rd edition), Tata McGraw Hill.
Course Contents:
Introduction (20%)
The Role of Algorithm in computing, Framework for design and analysis of algorithms, Growth of functions:
asymptotic notation; Recurrences: substitution method, recursion-tree method, master method; Probabilistic
analysis and randomized algorithms, indicator random variables.
14
NP-Completeness: (10%)
Polynomial time, polynomial time verification, NP-completeness and reducibility
Main Reading
1. Cormen Thomas, L. Charles, R. Ronald, S. Clifford, “Introduction to Algorithms”, Second Edition,
EEE, PHI.
Supplementary Reading
1. Algorithm Design by Jon Kleinberg and Eva Tardos, Pearson 2006
2. Introduction to the Design & Analysis of Algorithms by Anany Levitin
3. Intoroduction to Algorithms by Udi Manber
4. Algorithms in C++ by Sedgewick
5. Algorithmics the spirit of computing by David Harel 2. Knuth Donald, “The Art of Computer
Programming vol I, II, III
Course contents:
Object Orientation:
Class The role of classes as modules and types, uniform type system. The OO style of computation;
Object: definition, basic form, object references, object identity, declaring references, self-reference, run-time
object structure, Object creation, References and calls. Operations on references, Object cloning and copying,
deep cloning. Composite objects and expanded types. Dynamic aliasing. Class level operations- static methods.
Package structure and importing;
Inheritance, Polymorphism, Typing & Binding: inheritance concepts & rules, Deferred features and classes:
deferring and effecting a feature, redeclaration, deferred classes, using the original version in a redefinition. The
meaning of inheritance: module view and type view. Extension-specialization paradox. The role of deferred
class. Multiple Inheritance, feature renaming, approaches to Multiple inheritance in OOP languages, multiple
interface inheritance, repeated inheritance, inheritance and assertions, global inheritance-Ex. Class Object in
Java, frozen features, assignment attempt, typing and redeclaration, anchored declaration, inheritance and
information hiding. Typing: typing problem. Static and dynamic typing. Why static typing. Binding. Covariance
and descendent hiding. Contravariance. Advanced Inheritance mechanisms: inheritance versus composition,
Inheritance taxonomy
Memory management: modes of object management, space reclamation, detachment, unreachable objects,
memory management in object-oriented model, approaches: casual, programmer controlled de-allocation,
automatic memory management. Algorithms: reference counting, garbage collection, requirements, case studies;
Collection Framework: Use of collection framework; Genericity: horizontal and vertical type generalization,
15
the need for type parameterization, generic classes, defining and using generic classes, type checking and rules,
operations of generic type entities, cost of genericity. Generic programming in C++, Java Collections and
Generics. Exception handling: principles, exception objects, language mechanisms in Java, C++, exception
nesting, hierarchies of exceptions. I/O & file handling: streams, i/o streams input of built-in types, unformatted
input, input of user defined type, ostream output of built-in types, output of user defined types, formatting of
output, stream state, I /O exception, file streams, string streams, stream buffers. Concurrency: Threads,
multithreading, thread synchronization; Reflection: run time type interrogation, how reflection works in
Java/C++; Persistence: persistence closure principle, schema evolution, serialization in Java, using relational
databases from OOP like Java, C++. OO databases.
OOAD: (5%)
Brief review of OO concepts. Assigning responsibilities. What is analysis and Design? What is OOAD?
UML: (5%)
Introduction.. Main UML diagrams- class diagram, sequence diagram, activity diagram, use case diagram.
Use case modeling: (5%)
Use case diagram, use case descriptions, use case realization using sequence and activity diagrams.
Generalization, includes, extends
Analysis/Domain/conceptual model: (20%)
Concepts, attributes, operations. Aggregation, composition and containment. Analysis to Design: Use case to
analysis model using boundary, control and entity stereotypes, CRC technique
Design Model: (20%)
Design class diagram, visibility, delegation versus inheritance. Association class, qualified associations,
reflexive associations, ordered associations. Sequence diagram, activity diagram, state chart diagram,
deployment diagram.
Brief introduction to other UML 2.0 diagrams (5%)
Main Reading
1. Timothy Budd, An Introduction to Object Oriented Programming, 3 rd Edition, Pearson Education
2. Khalid Mughal, A Programmer’s Guide to Java Programming Certification, 3 rd Edition, Pearson Education
3. Bertrand Meyer: Object Oriented Software Construction, second edition, PTR PrenticeHall Pearson.
4. Stanley Lippman, C++ Primer, 3rd Edition, Addison Wesley
5. Ken Arnold, James Gosling, David Holmes, The Java Programming Language, Fourth Edition, Addison-
Wesley Professional, 2005
6. Bjarne Stroustroup, The C++ Programming Language by, 4 th Edition, Addison Wesley
7. Martin Fowler, UML Distilled, 2nd Edition, Addison Wesley, 2003
8. Doug Rosenberg, Matt Stephens, Use Case Driven Object Modeling with UML: Theory and Practice.,
Apress.
Supplementary Reading
1. Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison –
Wesley Longman, 1999, ISBN 0-201-57 168 –4.
2. Rebecca Wirfs Brook, Designing Object Oriented Software, PHI
3. Ira Pohl, Object-Oriented Programming Using C++, Second Edition, Addison Wesley
16
PL305 Database Management Lab
Lab Contents:
Besides the Sessional Work to be done, the students SHOULD undertake live projects – the analysis, design
(ER diagram and normalized tables) and implementation of a real life project of their choice.
The project report that they submit consists of (i) Feasibility study (ii) ER Diagrams (iii) Tables normalized in
an appropriate normal form with integrity and domain constraints noted. (iv) User Interface Design -Form and
Report design , including triggers that may need to be written (v) User Manual
Reading Material:
Standard textbooks on SQL and PL/SQL, .NET
Online documentation
Main Reading
1. Timothy Budd, An Introduction to Object Oriented Programming, 3 rd Edition, Pearson Education
2. Khalid Mughal, A Programmer’s Guide to Java Programming Certification, 3 rd Edition, Pearson Education
3. Stanley Lippman, C++ Primer, 3rd Edition, Addison Wesley
4. Ken Arnold, James Gosling, David Holmes, The Java Programming Language, Fourth Edition, Addison-
Wesley Professional, 2005
5. Bjarne Stroustroup, The C++ Programming Language by, 4 th Edition, Addison Wesley
6. Martin Fowler, UML Distilled, 2nd Edition, Addison Wesley, 2003
7. Doug Rosenberg, Matt Stephens, Use Case Driven Object Modeling with UML: Theory and Practice.,
Apress.
17
CS401 Software Engineering
Prerequisites: CS304
Course Contents:
Introduction: (5%)
What is Software Engineering? History and motivation and challenges. Software Quality. Software process.
Characteristics of software process. Software development processes and methodologies: Waterfall,
prototyping, iterative, spiral, unified process, agile methodologies.
Requirements: (15%)
Elicitation, specification, verification, management. Developing vision documents, identifying features, relating
requirements to features. Functional and nonfunctional requirements.(Techniques such as Interviewing,
Requirement workshop, brainstorming, prototyping). SRS, modern SRS, Characteristics of SRS. User stories-
specification, prioritization, estimation and management.
Human Computer Interaction: (10%)
Goal-directed design, user goals, goal directed design process. Task analysis. Implementation models and
mental models. User categories, contextual inquiry, personas, interaction styles, orchestration and flow,
navigation, principles of visual interface design and hiding, metaphors, idioms and affordances, direct
manipulation, controls, error handling, help. Usability testing.
Design & Coding: (20%)
TDD, Refactoring, BDD.
Design patterns: (20%)
Reusability at design level. Principles of good design. Creational, structural and behavioral patterns.(some of the
patterns to be covered)
Verification and validation: (10%)
Reviews-walkthroughs, peer reviews, inspection, Testing. Types of test: unit testing, integration testing, system
testing, acceptance testing. Test planning, test design, test case execution and reporting. Debugging: principles,
approaches, use of debuggers.
Maintenance: (5%)
The Context of Maintenance – Definitions -- Economics of Maintenance – Evolution of Software Products --
Maintaining Systems Effectively -- Categorizing Software products Deployment Models – Types of
maintenance. Reverse engineering, re-engineering, BPR. Legacy systems.
Project Management using Scrum/ Lean approach: (10%)
Project planning and monitoring. Team management. Retrospectives.
Software configuration management: (5%)
Baseline, identification, accounting, control, audit, source and version control, change control procedure. Tools
used in SCM
‘Main Reading
1. Dean Leffingwell, Managing Software Requirements, Pearson Education.
2. Martin Fowler, Refactoring, Pearson Education.
3. Erich Gamma, Richard Helm, Ralph Johnson,, John Vlissides, Design Patterns: Elements of Reusable
Object-oriented Software, Pearson Education.
4. Joshua Kareivesky, Refactoring to Patterns, Pearson Education
5. Steve McConnell, Code Complete, 2nd Edition. Redmond, Wa.: Microsoft Press, 2004
6. Pankaj Jalote, An Integrated Approach to Software Engineering, Third Edition, Narosa Publishing House
7. Alan Cooper & Robert Reimann, About Face 2.0: The Essentials of Interaction Design, Wiley
18
CS402 Web Technology
Course Contents:
Introduction (5%)
Internet and its evolution. Difference between host based and client-server computing. Single tier vs. Multi-tier
computing model. Evolution of World Wide Web. Significance of open standards in implementing web
applications.
HTML Basics: Html tags, entities, links, frames, tables, list, forms images, Background, colors. HTML
Advance features: HTML Layout, fonts, styles, head, meta, URLs, scripts, attributes, events,URL encode.
XHTML vs. HTML. XHTML syntax, XHTML DTD. Cascading Style Sheet: Introduction. CSS versions. CSS
syntax, background, text, font, border, margin, padding list properties. CSS dimensions, classification,
Positioning, Pseudo-classes and Pseudo-elements. Javascript: Introduction, syntax, variables, Control statements,
operators, functions, events, Javascripts objects: string, date, array, Boolean, math, String, stc. Creating user
defined objects. Browser detection, Cookie handling, validation and timeout management using JavaScript.
HTML Document Object Model: Introduction. Objects, Collections, methods and events. Core vs. HTML
DOM. Browser Objects: Window, Navigator, Screen, History, Location, Document. Different versions of DOM,
Compatibility across various browsers. Objects representations of different HTML elements in DOM.
Introduction to MVVM architecture. Developing rich web applications.
Hyper Text Transfer Protocol. HTTP methods and error codes. Format of HTTP Request and Reply packet.
Important HTTP headers. Static vs. Dynamically generated HTML pages. Common Gateway Interface
(CGI/1.1). Server side scripting Technology and its advantages. One of the following technologies may be used
to discuss the scripting concepts ( PHP, ASP, ASP.NET, JSP, JSF).The discussion should include following
topics - Request handling, Response creation, HTML form data processing, application data and application
lifetime management. Concurrency control, Session data and session lifetime management, Cookie Management,
Database connectivity. MVC architecture. AJAX.
Introduction, Syntax, Elements, attributes, well formed and valid XML document. Namespaces, DTD and
XMLSchema, validating XML document, Parsing of XML Document: XML DOM, SAX. XSL language,
XSLT-XPath, XPath syntax, nodes, axis, operators and functions. XSL transformation, XSLT templates and
important elements.
Main Reading
1. Dietel, Dietel, Nieto, “Internet and World Wide web – How to Program”, Eastern Economy Edition ,
Pretice Hall of India.
Supplementary Reading
19
PL405 Software Engineering Lab
Prerequisites: PL 306
Objective: This course will teach the use off various development, testing and project management tools.
Lab Contents:
Lab Contents:
This Lab is attached to Web Technology paper. Assignments listed here are supposed to reinforce the topics
covered in that paper. The assignment may spread across multiple lab sessions depending on complexity and
size. Students are also expected to implement a mini project besides these assignments. The mini project should
include design and implementation of a Web application.
2. Creating HTML/XHTML Web site: Assignment should be designed so as to use all important HTML tags
and Attributes. Only static HTML pages may be created. Aesthetics, contents and efficient bandwidth
utilization should be stressed.
3. Formatting HTML pages using CSS: Pages created in assignment 2 may be used to understand how
different browsers render HTML differently. Now CCS style properties may be used to format the output in
similar manner across all browsers. Use different browser version to understand support provided with
different versions.
4. Add JavaScript code to pages created in assignment 3 for validation of form data. Use JavaScript to
recognize user browser version and generate browser specific HTML. Use objects exported by the browser
for this purpose.
5. Use HTML DOM and JavaScript to dynamically modify web page contents and CSS style properties. Use
browser objects, HTML tag objects & events exported by the browser and document.
6. Advance HTML DOM assignment: Use forms to accept any data from the user multiple number of times.
The user entered data should be stored locally in a TABLE. Provide facility to modify or delete records
stored in the TABLE. Upon pressing a button the data should be sent to Server where it would be stored in a
text file.
20
7. Creating Simple Web application using CGI Protocol: Study how the stateless behavior of HTTP is
overcome to implement application logic. Study HTML tags related to forms. Use of cookies, hidden fields
to carry forward session data should be demonstrated.
8. Implement a simple Web Application using Server Side Scripting. This could be the same application as
done in assignment 7. Use server side scripting technology discussed in the class -( PHP, ASP, JSP, etc)
9. Implement a simple web Application. Study how database access (Addition, Modification and Deletion of
records) works in Server Side Scripting. Use the database access API provided by Server Side Technology
used.
10. Create an XML DTD file. Create an XML document based on the DTD and validate the XML document
against the DTD. Use CSS to display XML document in the browser.
11. Create an XML Schema file. Create an XML document based on the schema and validate the XML
document against the XML Schema.
12. Transform an XML document using XSLT for viewing inside a browser. Study the support provided by
browser and Server side scripting technology used.
13. Implement a Simple Web service Use the support provided by Server Side scripting technology available
on Server side.
Course Contents:
Introduction (10%)
Basic concepts. Version space. Decision Trees.
Main Reading
1. Tom Michele, Machine Learning, McGraw-Hill.
2. Ethem Alpaydin, Introduction to Machine Learning, MIT Press.
3. Richard O. Duda, Peter E. Hart, David G. Stork Pattern Classification, Wiley.
21
CS502 Network Security
Course contents:
Authentication (5%)
Kerberos , X509 Authentication Service
Main Reading
1. Stallings William, “ Cryptography and Network Security: Principles and Practises”, 5th edition, Prentice
Hall
2. Kahate Atul, “Cryptography and Network Security” Tata McGraw-Hill.
Supplementary Reading
1. Menezes A. J., P.C. Van Oorschot and S.A. Vanstone, “Handbook of Applied Cryptrography”
22
PL505 Machine Learning Lab
Prerequisites: PL 306
Lab Contents:
23
600 – Computer Graphic & Animation
Course Contents:
Basic background : 2D and 3D Transformations, Cyrus-Beck line clipping algorithm, Polygon clipping.
3D Viewing : Viewing pipeline, Parallel and Perspective projections, view volumes, clipping
Representing Curves and Surfaces: Parametric, curves, continuity conditions, cubic splines, Hermite
interpolation, Bezier curves and surfaces, B-spline Curves- uniform nonrational, cubic periodic, open
uniform, uniform, nonuniform rational types (NURBS), Subdividing curves, Displaying spline curves
using forward difference scheme, parametric bicubic surfaces.
Solid Modelling: Sweep representation, Constructive solid geometry methods, representation through
Octrees, Binary Space Partitioning trees.
Visible Surface Determination: Issues in Visible surface determination Coherence, perspective view, extents
and bounding volume, backface culling, Z-Buffer and A-Buffer Algorithms, use of Binary Space
Partitioning trees, representing 3D data using Octrees, Boolean operations on Octrees, marching cubes,
Visible surface ray tracing.
Illumination Models & Rendering: Diffuse and Specular illumination model, reflection vector computation,
Shading models for polygons – polygon mesh shading, Gouraud and Phong Shading, problems with
interpolated shading, Bumpd mapping, Transparency, shadows, Ray tracing.
Introduction to Animation: Perception, Animation production, use in film and videos, orientation
representation and interpolation – Euler angle representation, motion display considerations.
Animation – Low Level Control: Motion along a curve – computing are length, speed control – sine
interpolatio User specified distance time functions, path following, key-frame systems – shape
interpolation, free-form deformations, Morphing – 2D object warping.
Animation – High Level Control : Hierarchical modeling and Kinematics – inverse kinematics, Jacobian,
rigid body simulation, collision detection, Particle systems – particle generation, attributes, termination,
rendering, Flocking behavior – interacting with other members, leader, collision avoidance, modeling
water, fire, explosions, waves, clouds.
Main Reading:
1. Foley, Van Dam, Feiner, Hughes, Computer Graphics – Principles and Practices 2nd edition, 1997,
Addison Wesley.
2. Rick Parent, “Computer Animation: Algorithms and Techniques, 2001,, Morgan-Kaufman,
3. Hearn & Baker, Computer Graphics, 2nd Edition., 2003, Prentice Hall of India.
Supplementary Reading:
1. Woo, Neider, Davis, Shreiner,”Open GL Programming Guide” 3 rd edition, 2000, Pearson
Education.
2. D.A. Rogers, Procedural Elements for Computer Graphics, 2001, 2 nd Edition, Tata MsGraw Hill.
3. Alan Watt and Mark Watt, “Advanced animation and Rendering techniques”, 1992, Addison –
Wesley.
1
601- Advanced Computer Graphics
Course Prerequisites: Knowledge of computer graphics fundamentals and ability to program in C/C++.
Course Objectives: This course will study advanced topics in computer graphics. The focus will be on
learning recent methods in rendering, modeling, and animation.
Course Contents:
Rendering concepts, lighting, reflectance, Global Illumination, rendering equation, Monte Carlo Path
Tracing, Radiosity, form factors, solution methods, meshing
Visibility & Textures: Visibility events, discontinuity meshing, texture mapping, resampling
Image-Based Modeling and Rendering: Managing Scene Complexity, Occlusion culling, detail elision,
imposters, plenoptic function, image-based representations
Surface Modeling: Parametric surfaces, splines, piecewise polynomial surfaces, Subdivision of surfaces,
subdivision schemes
Volumetric Modeling: Implicit surfaces, blobby models, skeletons, variational implicit surfaces, Volumetric
Representations, voxels, volume graphics
Kinematics: Articulated figures, inverse kinematics, space-time constraints, Motion Capture, processing
motion capture data, retargeting motion
Dynamics: Passive Dynamics, particle systems, spring-mass systems, Active Dynamics, controllers,
learning, planning
Main Reading:
1. Alan Watt and Mark Watt, Advanced Animation and Rendering Techniques: Theory and Practice,
Addison-Wesley,
Supplementary Reading:
1. Tom McReynolds and David Blythe, Advanced Graphics Programming using OpenGL, Elsevier
2. Peter Shirley and Steve Marschner and other, Computer Graphics, Cengage Learning
3. T. Theoharis, G. Papaioannou, N. Platis and N. Patrikalakis, Graphics and Visualization, A K
Peters.
Website Links:
http://www.cs.princeton.edu/courses/archive/fall02/cs526/
2
602 - Elements of Computational Geometry and Geometric Modeling
Course Objectives: This course will cover topics in 2D and 3D geometry and its transformations,
differential geometry of curves and surfaces, 3D geometry and coordinate transformations, curves and
surface design, solid modeling, meshing and computational geometry data structures and algorithms.
Course Contents:
Basics in 2D and 3D geometry and transformations: Plane co-ordinate geometry, equations of lines and
plane curves, parametric equations of lines and curves, intersection of parametric lines and curves, polar
coordinates, vector representation of a point, line, plane, curve, continuity, tangent and curvature
Differential Geometry of curves and surfaces: Arc length and tangent vector, Principal normal and
curvature, Binomial vector and torsion, Frenet-Serret formulae, tangent plane and surface normal, first
fundamental form, second fundamental form, principal curvatures, Gaussian and mean curvature, Euler’s
theorem and Dupin’s indicatrix
3D Geometry and Coordinate Transformations: Translation, rotation about arbitrary axis, scaling,
reflection, shear and composite transformation, homogenous coordinates, projections parallel and
perspective, taxonomy of projections
Curves and surface design: Parametric space of curves, blending functions, Spline curves, Bezier curves, B-
Spline curves, rational polynomials, cylindrical surface, rules surface, surface of revolution, conic surfaces,
composite surfaces, Bezier surface, B-spline surface
Solid modeling: Parametric space of solid, topology of closed path, piecewise flat surfaces, topology of
closed curved surfaces, generalized concept of a boundary, set theory, Boolean operation operators, Euler
operators, solid modeling representations cell decomposition and spatial occupancy enumeration, sweep
representation, CSG
Meshes: Polygonal mesh representation, Basic mesh descriptions, Mesh topology, Triangulations and
Tessellations, Winged edge data structures for meshes, Operations on meshes like Fairing, Smoothing,
Remeshing etc.
Computational geometry data structures and algorithms: Line segment intersection, orthogonal range
searching, Voronoi diagrams and Delaunay triangulations, convex hull, Quadtree, orthogonal range
searching kD-tree, and binary space partitioning
Main Reading:
1. Patrikalakis, N. M., T. Maekawa, and W. Cho. Shape Interrogation for Computer Aided Design
and Manufacturing. New York, NY: Springer Verlag, 2010.
Supplementary Reading:
1. de Berg, van Kreveld, Overmars, and Schwarzkopf. Computational Geometry: Algorithms and
Applications,' by (2nd ed, Springer Verlag, 2000).
2. Farin, G. E. Curves and Surfaces for Computer Aided Geometric Design. 3rd ed. Academic Press,
1993.
3. Faux, I. D., and M. Pratt. Computational Geometry for Design and Manufacture. Halsted
Press,1979.
4. Lawrence, J. D. A Catalog of Special Plane Curves. Dover, 1972.
5. Mortensen, M. E. Geometric Modeling. J. Wiley, 1985.
6. Mantyla M. An Introduction to Solid Modeling, Computer Science Press, 1988.
3
603 - Computer Vision
Course Objectives: To be able to understand and apply a series of probabilistic models of images and
objects in computer vision systems.
Course Contents:
3D image geometry: The projective camera, Camera calibration, recovering pose to a plane
Multiple Cameras: The fundamental and essential matrices, Sparse stereo methods, Rectification, Building
3D models, Shape from silhouette
Vision at a single pixel: Background subtraction and color segmentations problems, Parametric, non-
parametric and semi-parametric techniques, Fitting models with hidden variables
Connecting pixels: Dynamic programming for stereo vision, Markov random fields, MCMC methods,
Graph cuts
Texture: Texture synthesis, super-resolution and denoising, image inpainting The epitome of an image
Dense Object Recognition: Modelling covariances of pixel regions, Factor analysis and principle
components analysis
Sparse Object Recognition: Bag of words, latent dirilecht allocation, probabilistic latent semantic analysis
Face Recognition: Probabilistic approaches to identity recognition, Face recognition in disparate viewing
conditions
Shape Analysis: Point distribution models, active shape models, active appearance models
Main Reading:
1. Computer Vision: Models, Learning, and Inference, Simon J.D. Prince, Cambridge University
Press
Supplementary Reading:
1. Computer vision: algorithms and applications by Richard Szeliski.
2. Bayesian reasoning and machine learning by David Barber
3. Multiple view geometry in computer vision by Richard Hartley and Andrew Zisserman
4. Information theory, inference and learning algorithms by David MacKay
5. Feature extraction and image processing by Mark S. Nixon and Alberto S. Aguado
6. Pattern recognition and machine learning by Christopher M. Bishop
4
604 - Digital Image Processing
Course Objectives: The course will cover techniques and tools for digital image processing, and finally
also introduce image analysis techniques in the form of image segmentation.
Course Contents:
Light, Brightness adaption and discrimination, Pixels, coordinate conventions, Imaging Geometry,
Perspective Projection, Spatial Domain Filtering, sampling and quantization.
Spatial Domain Filtering: Intensity transformations, contrast stretching, histogram equalization, Correlation
and convolution, Smoothing filters, sharpening filters, gradient and Laplacian
Filtering in the Frequency domain: Hotelling Transform, Fourier Transforms and properties, FFT
(Decimation in Frequency and Decimation in Time Techniques), Convolution, Correlation, 2-D sampling,
Discrete Cosine Transform, Frequency domain filtering
Image Restoration: Basic Framework, Interactive Restoration, Image deformation and geometric
transformations, image morphing, Restoration techniques, Noise characterization, Noise restoration filters,
Adaptive filters, Linear, Position invariant degradations, Estimation of Degradation functions, Restoration
from projections
Image Compression: Encoder-Decoder model, Types of redundancies, Lossy and Lossless compression,
Entropy of an information source, Shannon's 1st Theorem, Huffman Coding, Arithmetic Coding, Golomb
Coding, LZW coding, Transform Coding, Sub-image size selection, blocking artifacts, DCT
implementation using FFT, Run length coding, FAX compression (CCITT Group-3 and Group-4), Symbol-
based coding, JBIG-2, Bit-plane encoding, Bit-allocation, Zonal Coding, Threshold Coding, JPEG,
Lossless predictive coding, Lossy predictive coding, Motion Compensation
Wavelet based Image Compression: Expansion of functions, Multi-resolution analysis, Scaling functions,
MRA refinement equation, Wavelet series expansion, Discrete Wavelet Transform (DWT), Continuous
Wavelet Transform, Fast Wavelet Transform, 2-D wavelet Transform, JPEG-2000 encoding, Digital Image
Watermarking.
Morphological Image Processing: Basics, SE, Erosion, Dilation, Opening, Closing, Hit-or-Miss Transform,
Boundary Detection, Hole filling, Connected components, convex hull, thinning, thickening, skeletons,
pruning, Geodesic Dilation, Erosion, Reconstruction by dilation and erosion.
Image Segmentation
Boundary detection based techniques, Point, line detection, Edge detection, Edge linking, local processing,
regional processing, Hough transform, Thresholding, Iterative thresholding, Otsu's method, Moving
averages, Multivariable thresholding, Region-based segmentation, Watershed algorithm, Use of motion in
segmentation
Main Reading:
1. Digital Image Processing, 3rd Edition, by Rafael C Gonzalez and Richard E Woods Publisher:
Pearson Education.
Supplementary Reading:
1. Fundamentals of Digital Image Processing By Anil K Jain.
Website Links:
http://www.ece.arizona.edu/~dial/
5
605 - Data Visualization
Course Objectives: To study important approaches in the field of Data Visualization and its techniques.
Course Contents:
What is Visualization, the visualization process, Data Foundations, types of data – continuous data,
sampled data, discrete datasets, Human Perception and Information Processing, Visualization Foundations
Visualization Techniques for Spatial Data: 1D, 2D and 3D, Dynamic Data, Geospatial Data, Visualizing
Point, Line and Area Data, Visualization Techniques for Multivariate Data, Visualization Pipeline
Visualization Techniques Graphs, Text and Document: Visualizing Trees, Graphs, and Networks,
Displaying Hierarchical Structures, Arbitrary Graphs/Network, Levels of Text Representation, the Vector
Space Model, Single Document Visualization, Document Collection Visualization,
Scientific Visualization: Scalar, Vector, Tensor Visualization, Domain Modeling Technique, Image and
Volume Visualization
Interaction Concepts: Interaction Operators, Operands and Spaces, Interaction Techniques – Screen
Space/Object Space, Data Space, Attribute Space, Animating Transformations, Designing Effective
Visualizations Comparing and Evaluating Visualization Techniques, Visualization Systems
Main Reading:
1. Mathew Ward, Georges Grinstein, Daniel Keim, Intercative Data Visualization Foundation,
Techniques and Applications, A K Peters 2010
Supplementary Reading:
1. Alexandru Telea, Data Visualization Principles and Practices, A K Peters 2010
2. Visualization Design and Analysis: Abstractions, Principles, and Methods by Tamara Munzner.
6
606 - Visual Computing
Course Objectives: The recent advances in the field of Visual Computing thrives on inputs from multiple
disciplines, which are traditionally taught in separate courses in the University such as Computer Graphics,
Computer Vision and Image Processing. This course on Visual Computing will attempt to provide a unified
perspective to the underlying algorithms and data structure involved in modeling shape of the objects, its
interactions with the light source in synthesizing imagery and retrieving 3D information from 2D images.
Course Contents:
Overview of Visual Computing: Visual computing and its relationship to traditional discipline like
Computer Graphics, Computer Vision, Image Processing and Computational Geometry
Image synthesis: Understand the concepts - Captured image in 2D v/s synthesized image via modeling &
rendering. Capturing of 3D data using scanning technology and reverse engineering the shape of the object
Geometric modeling: Data structures for object representation, Volume representation, Sweep
representation, Cell decomposition, CSG, Boundary representation, Euler Operators, Beizier & B-Spline
curves and surfaces
Meshes: Polygonal mesh representation, Basic mesh descriptions, Mesh topology, Triangulations and
Tessellations, Winged edge data structures for meshes, Operations on meshes like Fairing, Smoothing,
Remeshing etc.
Coordinate pipeline: Transformation principles, Geometry pipeline, Graphics pipeline, Vision pipeline,
Advanced Coordinate pipeline
Image geometry: Sampling and Quantization, Region and edges, Image filtering, Edge detection, Contours,
Textures, Warping and morphing of images, Interpolations, Colors, Half-toning and Dithering, High-
dynamic range imaging, Image pyramids
Main Reading:
1. Visual Computing: Geometry, Graphics and Vision by Frank Nielsen
Supplementary Reading:
1. Computer vision: algorithms and applications by Richard Szeliski.
2. Digital Image Processing, 3rd Edition, by Rafael C Gonzalez and Richard E Woods Publisher:
Pearson Education
7
607 – Image Processing and Computer Vision
Course Contents:
Introduction: Image formation model, representation, spatial and Gray Level resolution, Colour models-
RGB, CMY and HIS models
Image Enhancement In Frequency Domain: 2D Discrete Fourier transform and its inverse, filtering in
frequency domain, Ideal and Gaussian Low pass filters, high pass filtering, separability property 0f 2D
Fourier transform, Fast Fourier Transform.
Image Segmentation: Line detection, Edge detection, Edge linking and boundary detection, Hough
Transform, Thresholding, Region based segmentation
Morphological Image Processing: Logic operations involving binary images, Dilation and Erosion,
Opening and closing, Applications to Boundary extraction, region filling, connected component extraction.
Image Compression: Coding redundancy- Huffman coding, LZW coding, run length coding, Lossy
compression – Lossy predictive coding, transform coding- DCT, bit allocation, Compression standards –
JPEG, video Compression.
Image Representation: Boundary description, Shape numbers, Fourier descriptors, Texture, principal
Components based description.
3D Vision: Projective geometry, single perspective camera, stereopsis, the fundamental matrix – its
estimation from image point correspondences, applications of epipolar geometry in vision, correlation
based and feature based stereo correspondence, shape from motion, optical flow.
Main Reading:
1. Gonzalez and Woods, “Digital Image Processing”’ 2002, Pearson education, Asia.
2. Sonka, Hlavac and Boyle Brooks/Cole, “Image Processing, Analysis, and Machine Vision”, 1999,
Thomson Asia Pte Ltd Singapore.
Supplementary Reading:
1. Jain and Rangachar, “Machine Vision”, 1999, McGraw Hill International Edition.
2. Schalkoff, John Wiley and Sons, “Digital Image Processing & Computer
3. Vision”, 1989, John Wiley and Sons.
8
608 – Multimedia Technologies
Course contents:
Graphics and Image Representation: Fundamentals of image formation and data representations, Sampling
and quantization, Contrast & brightness, Histogram methods, Simple image processing operations: Point
processing,
Spatial filtering, Edge detection, Popular file formats: BMP, GIF, JPG, PNG etc.
Color Science and Color Models: Human vision, Camera systems, Gamma correction, Color matching, CIE
Chromaticity, different Color models – RGB, CYMK, YUV, YIQ, Transformations among color model
Fundamental of Video: Different types of video signals – component, composite and S-video, Analog TV
transmission systems - NTSC, PAL, Chroma sub-sampling, Display technology fundamentals – interlacing
& progressing scanning, Digital video - HDTV
Fundamentals of Audio: Digitization of sound, Psychoacostics – frequency & temporal masking, Unit of
sound measurement - Signal-to-Noise Ratio (SNR), Linear and non-linear quantization, Audio filtering and
transmission, Coding of audio – PCM, DPCM, ADPCM, Audio quality versus data rate, Synthetic sounds,
Popular file formats – MIDI system, WAV, MPEG etc.
Multimedia Data Compression: General data compression scheme – lossy v/s lossless, Modeling v/s
encoding, Basics of information theory, Lossless compression algorithms – Run-Length Encoding (RLE),
Variable-Length Coding (VLC) – Huffman Coding, Dictionary-based coding – LZW, Arithmetic Coding,
Differential coding of images, Lossless JPEG, Lossy compression algorithms – Distortion Measure,
Transform coding, Discrete Cosine Transform (DCT), Video compression, Image and video compression
standards.
Multimedia Information Management – Multimedia database design, Content based information retrieval:
image retrieval, video retrieval etc.
Main Reading:
1. Fundamentals of Multimedia by Ze-Nian Li & Mark S Drew published by Pearson Education
International Edition
2. Supplementary Reading
3. R. Steinmetz and K. Nahrstedt, "Multimedia: Computing, Communications & Applications", by
Pearson Education International Edition
4. Sayood Khalid “Title: Introduction To Data Compression” 3rd Edition, Publisher: Morgan
Kaufmann Publishers Inc
9
609 - Game Programming
The video game development is currently a big business, bigger than the movie industry. Today, some of
the highly paid programmers work in gaming industry. There is a high demand for people who know about
various aspects of game programming. No Universities in India are currently offering a course on game
programming. Teaching a course on game programming is a challenge because it’s an ultimate course,
integrating all the concepts learnt in Computer Science & Software Engineering. This course will be
offered by practicing game developer who has over 10 years experience in Game development with some
of the titles such as X-Men Legends, Star Wars: Jedi Knight, Doom 3 and Quake IV. The course will have
lab associated with it and it will be a hands-on course.
Course Contents:
Introduction to Game Development: History of Computer Games, Input Devices and User Interfaces,
Commercial Game Systems, Software Tools and Technology, Modeling, Simulation, Graphics , Game Main
Loop, Programming and Common APIs, Games and Society, Future of Games
Game Engines: 2D/3D Game engines and the underlying technologies, Development of game using game
engines, Typical functionality provided by a game engine, Hardware abstraction and Middleware, Console
programming
Computer Graphics: Basic Graphics systems, 3D Viewing, Synthetic Camera, RGB Color Model, Basics of
rendering, Rendering Transformations, Rendering Pipeline
Game Physics: Rigid body motion, Collision Detection and Resolution, Deformable bodies
Character Motion: Inverse Kinematics, Character Animation, Key framing , Principles of Traditional
Animation
Motion Capture, Motion Blending, Motion Retargeting
Terrain Modeling & Scene Management: Ground / Building / Static models / Dynamic models, Polygon
mesh, Grids-2D, Quadtree, Height map, Procedural height map, Terrain Formats, Triangular mesh,
Procedurally generated, Created by artists, Culling, Level of detail, Draw order, Off-screen rendering,
Paging
Game Control System & AI: Search, Path Finding, Finite State Machines, Steering Behavior, Blind search,
Heuristic search, A* search, Adversary search, Minmax search
Network Gaming : Multiplayer Games, Networking Models & Topologies,Topology: Client-Server vs. P2P,
Computing Model: Distributed Object vs. Message Passing, Protocol: TCP vs. UDP, Socket-Level
programming, Bandwidth / Latency tradeoffs
Current Issues: Consistency, Cheating in Games, Cheat Proofing, Massive Multiplayer Online Games
(MMOGs)
Main Reading:
1. 3D Games: Volume 1: Real-Time Rendering and Software Technology, Alan Watt and Fabio Policarpo,
Addison-Wesley.
2. 3D Games, Volume 2: Animation and Advanced Real-time Rendering, Alan Watt and Fabio Policarpo,
Addison-Wesley.
3. Advanced Game Development with Programmable Graphics Hardware, Alan Watt and Fabio
Policarpo, A K Peters.
4. Game Programming Gems 1-6, Mark DeLoura, Charles River Media.
5. AI Game Programming Wisdom 1-3, Steve Rabin, Charles River Media.
1
0
611 - Natural Language Processing
Course Prerequisites:
1. A previous course on Artificial Intelligence will help.
2. Courses of Data Structures and Algorithms should have been done.
3. Exposure to Linguistics is useful, though not mandatory.
Course Objectives: To study fundamental concepts of Natural Language Processing and to introduce the
basics of Language processing from algorithmic viewpoint.
Course Contents:
Introduction, Machine Learning and NLP, ArgMax Computation, Word Sense Disambiguation: WordNet,
Wordnet; Application in Query Expansion, Measures of WordNet Similarity.
Resnick's work on WordNet Similarity, Parsing Algorithms, Evidence for Deeper Structure; Top Down
Parsing Algorithms, Noun Structure; Top Down Parsing Algorithms, Non-noun Structure and Parsing
Algorithms.
Probabilistic parsing; Sequence labelling, PCFG, Probabilistic parsing: Training issues, Arguments and
Adjuncts, Probabilistic parsing; inside-outside probabilities.
Speech : Phonetics, Hidden Markov Model, Morphology, Graphical Models for Sequence Labelling in
NLP, Consonants (place and manner of articulation) and Vowels.
Forward Backward probability; Viterbi Algorithm, Phonology, Sentiment Analysis and Opinions on the
Web, Machine Translation and MT Tools - GIZA++ and Moses, Text Alignment, POS Tagging.
Phonology; ASR, Speech Synthesis, Hidden Markov Model and Viterbi, Precision, Recall , F-score, Map,
Semantic Relations; UNL; Towards Dependency Parsing.
Universal Networking Language, Semantic Role Extraction, Baum Welch Algorithm; HMM training.
Main Reading:
1. Allen, James, Natural Language Understanding, Second Edition, Benjamin/Cumming, 1995.
2. Charniack, Eugene, Statistical Language Learning, MIT Press, 1993.
3. Jurafsky, Dan and Martin, James, Speech and Language Processing, Second Edition, Prentice Hall,
2008.
4. Manning, Christopher and Heinrich, Schutze, Foundations of Statistical
5. Natural Language Processing, MIT Press, 1999.
Supplementary Reading:
1. Radford, Andrew et. al .,Linguistics, An Introduction, Cambridge University Press, 1999.
2. Journals: Computational Linguistics, Natural Language Engineering, Machine Learning, Machine,
Translation, Artificial Intelligence.
3. Conferences: Annual Meeting of the Association of Computational Linguistics (ACL),
Computational Linguistics(COLING), European ACL (EACL), Empirical Methods in NLP
(EMNLP), Annual Meeting of the Special Interest Group in Information Retrieval (SIGIR),
Human Language Technology (HLT), International Conference on Natural Language Processing
(ICON).
Website Links:
http://nptel.iitm.ac.in/courses/106101007/
1
1
612 - Computational Linguistics
Course Prerequisites:
1. A previous course on Artificial Intelligence will help.
2. Courses on Natural Language Processing should have been done.
3. Exposure to Linguistics is useful, though not mandatory.
Course Objectives: To introduce the advanced concepts in computational linguistics, modern grammar
formalisms, Natural Language generation, etc.
Course Contents:
Main Reading:
1. Alexander Clark, Chris Fox, and Shalom Lappin (Editors):The Handbook of
Computational Linguistics and Natural Language Processing (Blackwell Handbooks
in Linguistics).
2. Akshar Bharathi, Vineet Chaitanya, and Rajeev Sangal: Natural Language Processing: A Paninian
Perspective. Prentice Hall of India.
3. James Allen: Natural Language Understanding. Benjamin/ Cummins.
Supplementary Reading:
1. Journals: Computational Linguistics, Natural Language Engineering, Machine Learning, Machine,
Translation, Artificial Intelligence.
2. Conferences: Annual Meeting of the Association of Computational Linguistics (ACL),
Computational Linguistics(COLING), European ACL (EACL), Empirical Methods in NLP
(EMNLP), Annual Meeting of the Special Interest Group in Information Retrieval (SIGIR),
Human Language Technology (HLT), International Conference on Natural Language Processing
(ICON).
1
2
613 - Speech Processing
Course Prerequisites:
A previous course on Artificial Intelligence will help.
Courses of Data Communication and Digital Signal Processing should have been done.
Course Contents:
Anatomy & Physiology of Speech Organs, The process of Speech Production, The Acoustic Theory of
Speech Production, Digital models for speech signals.
Introduction, Window considerations, Short time energy and average magnitude Short time average zero
crossing rate, Speech vs. silence discrimination using energy and zero crossing, Pitch period estimation
using a parallel processing approach, The short time autocorrelation function, The short time average
magnitude difference function, Pitch period estimation using the autocorrelation function.
Basic principles of Linear Predictive Analysis: The Autocorrelation Method, The Covariance Method,
Solution of LPC Equations: Cholesky Decomposition Solution for Covariance Method, Durbin’s Recursive
Solution for the Autocorrelation Equations, Pitch Detection and using LPC Parameters.
Introduction, Homomorphic Systems for Convolution: Properties of the Complex Cepstrum, Computational
Considerations, The Complex Cepstrum of Speech, Pitch Detection, Formant Estimation, Mel frequency
cepstrum computation.
Nature of interfering sounds, Speech enhancement techniques: spectral subtraction, Enhancement by re-
synthesis, Comb filter, Wiener filter.
Basic pattern recognition approaches, Parametric representation of speech, Evaluating the similarity of
speech patterns, Isolated digit Recognition System, Continuous digit Recognition System.
Hidden Markov Model (HMM) for speech recognition, Viterbi algorithm, Training and testing using
HMMs, Adapting to variability in speech (DTW), Language models.
Issues in speaker recognition and speech synthesis of different speakers. Text to speech conversion,
Calculating acoustic parameters, synthesized speech output performance and characteristics of text to
speech, Voice processing hardware and software architectures.
Main Reading:
1. Digital processing of speech signals - L.R Rabiner and S.W. Schafer. Pearson Education.
2. Speech Communications: Human & Machine - Douglas O'Shaughnessy, 2nd ed., IEEE Press.
3. Fundamentals of Speech Recognition. L.R Rabinar and B.H. Juang.
Supplementary Reading:
1. Discrete Time Speech Signal Processing: Principles and Practice - Thomas F. Quateri 1st ed.,
PE.
2. Speech & Audio Signal Processing- Ben Gold & Nelson Morgan, 1 ed., Wiley.
3. Speech Recognition - Claudio Becchetti and Lucio Prina Ricotti, Wiley
1
3
614 - Sentiment analysis
Course Prerequisites: A previous course on Artificial Intelligence and Natural Language Processing will
help.
Course Objectives: The objective is to study concepts of Sentiment analysis and opinion mining.
Sentiment analysis and opinion mining is the field of study that analyzes people's opinions, sentiments,
evaluations, attitudes, and emotions from written language. It is one of the most active research areas in
natural language processing and is also widely studied in data mining, Web mining, and text mining.
Course Contents:
Sentiment Analysis Applications, Sentiment Analysis Research, Sentiment Analysis Research, and Opinion
Spam Detection.
Problem of Sentiment Analysis: Problem Definitions, Opinion Summarization, Different Types of Opinions,
Subjectivity and Emotion, Author and Reader Standing Point.
Basic Rules of Opinions and Compositional Semantics, Aspect Extraction, Identifying Resource Usage
Aspect, Simultaneous Opinion Lexicon Expansion and Aspect Extraction, Grouping Aspects into
Categories, Entity, Opinion Holder and Time Extraction, Word Sense Disambiguation.
Types of Spam and Spamming, Supervised Spam Detection, Unsupervised Spam Detection, Group Spam
Detection.
Main Reading:
Sentiment Analysis and Opinion Mining, Bing Liu.
Supplementary Reading:
1. Journals: Computational Linguistics, Natural Language Engineering, Artificial Intelligence.
2. Conferences: Annual Meeting of the Association of Computational Linguistics (ACL),
Computational Linguistics(COLING), European ACL (EACL), Empirical Methods in NLP
(EMNLP), Human Language Technology (HLT), International Conference on Natural Language
Processing (ICON).
1
4
615 - Machine Translation
Course Prerequisites:
1. A previous course on Artificial Intelligence and Natural Language Processing will help.
2. Knowledge on Machine Learning.
3. Exposure to Linguistics is useful, though not mandatory.
Course Objectives: To study important approaches to the automatic translation between natural languages.
Course Contents:
The Interlingua Idea: Using Meaning-Direct Translation-Using Statistical Techniques Quantifying Fluency-
Quantifying Faithfulness.
Main Reading:
1. Hutchins, W.John; and Harold L. Somers. An Introduction to Machine Translation London:
Academic Press. 1992.
2. Allen, James: Natural Language Understanding. Benjamin/Cummins. 1995.
3. C.D. Manning and H. Schutze: Foundations of Statistical Natural Language Processing, MIT Press
2001.
Supplementary Reading:
1. Journals: Machine Learning, Machine, Translation, Artificial Intelligence.
2. Conferences: The Association for Machine Translation in the Americas(AMTA), Annual Meeting
of the Association of Computational Linguistics (ACL), Computational Linguistics(COLING),
International Conference on Natural Language Processing (ICON).
Website Links:
http://www.statmt.org/
1
5
616 – Compiler Design
Course Content:
Introduction to Compilers: Lexical analysis, Regular Expressions, Finite automation. N.F.A., N.F.A. to
D.F.A. conversion, D.F.A., minimization of D.F.A., Lex tool.
Context Free Grammar: Derivations & Parse trees, Syntax analysis: Parsing, Top Down Parser, Recursive
descent Parser, Predictive parsing, LL(1) Parsing table, Bottom Up Parsing, Shift Reduce parsing, Operator
precedence parsing, LR Parsing methods, SLR, LRDL, LALR, YACC tool.
Syntax directed translation: Syntax directed translation schemes, Implementation of syntax directed
translation schemes, Intermediate codes, Post fix notation parse trees & syntax trees, three address codes,
quadruples, triples, Translation of assignment statements, Boolean expression, statements that after flow of
control, Post fix translation, Translation with Up down parsing.
Error detection & recovery: Errors, lexical phase errors, Syntactic phase errors, semantic errors.
Code Optimization : Loop optimization, DAG representation of basic block, value numbers & algebraic
laws, Global data flow analysis, Dominators, Reducible flow graph, Depth first search, Loop invariant
computation, Induction variable elimination.
Data flow Analysis : Reaching definition, Available Expression , copy propagation, Backward flow
problems, Very busy expression & code hoisting code.
Code Generation : A simple code generation, code generation from DAG & labeled trees.
Main Reading:
1. Alfred V. Aho, Jeffreys D. Ullman & Ravi Sethi, “Principles of Computer Design“ Narosa
Publication.
2. Trembley et al, “ Theory & Practice of Compiler Writing “, McGraw Publication.
3. Andrew W. Appel, “ Modern Compilers Implementation in Java”.
4. Dhamdhere “ Compiler Principles”.
1
6
617 – Theory of Computation
Course Contents:
Automata and Language Theory: Finite automata, regular expressions, push-down automata, context free
grammars, pumping lemmas.
Computability Theory: Turing machines, Church-Turing thesis, decidability, halting problem, reducibility,
recursion theorem.
Complexity Theory: Time and space measures, hierarchy theorems, complexity classes P, NP, L, NL,
PSPACE, BPP and IP, complete problems, P versus NP conjecture, quantiers and games, provably hard
problems, relativized computation and oracles, probabilistic computation, interactive proof systems.
Main Reading:
1. Sipser Michael. “Introduction to the Theory of Computation”. Thomson/Course Technology, 1996.
1
7
621 - Instructional Design for e-Learning
Course Objectives:
1. Apply the Understanding by Design framework to course design.
2. Investigate modern computer-based design tools.
3. Explore instructional methods and principles of design
Course Contents:
Main Reading:
1. Dick, W., Carey, L., & Carey, J. O. (2009). The systematic design of instruction (7th ed.). Boston:
Allyn and Bacon.
2. Wiggins, G. P., & McTighe, J. (2005). Understanding by design (2nd ed., p. 370). Alexandria, VA:
Association for Supervision and Curriculum Development.
3. Christensen, C. M., Horn, M. B., & Johnson, C. W. (2008). Disrupting class: How disruptive
innovation will change the way the world learns. New York: McGraw-Hill.
1
8
622- Educational Technology
Course Contents:
Traditional Educational Technology/Materials: Cone of Experiences: Direct and Purposeful ( Games &
Experiments), Contrived Experiences (Three Dimensional, Mock up, Diorama), Dramatized
Experiences(Pageant, Socio-Drama), Demonstration Boards (chalkboard, peg board etc.), Field Trips,
Exhibits, Still Pictures(drawings, graphs, cartoon, etc.)
Main Reading:
1. Teachers Discovering Computers, Integrating Technology in the Classroom, Second Edition by
Shelly Cashman Gunter, (ISBN: 0-7895-6492-0).
2. Integrating Educational Technology into Teaching, Student Value Edition (6th Edition), M. D.
Roblyer, Aaron H. Doering, Publisher: Pearson; 6 edition (February 25, 2012) ISBN-10:
013289680X, ISBN-13: 978-0132896801.
1
9
623 - Educational Game Design
Course Contents:
Games: Gamification in context, What is a game? Games and Play, Video games
Game Thinking: Why Gamify, Thinking Like a Game Designer, Design rules, Tapping the Emotions,
Anatomy of Fun, Finding the Fun
Game Elements: Breaking Games Down, The pyramid of elements, The PBL Triad, Limitation of
Elements, Bing Gordon interview
Gamification Design Framework: Design Thinking, Business objectives/target behaviors, Players, Activity
loops, Don’t forget the fun and deploy
Design Choices: Two approaches to gamification, Is Gamification right for me?, Designing for collective
good, Designing for happiness
Applying gamification for learning domains: declarative knowledge, conceptual knowledge, rules-based
knowledge, procedural knowledge, soft skills, affetve domain, psychomotor domain
Social Good and Behavior Change: Gamification for good? Social good applications, Social good
techniques, Behavior change
Critiques and Risks: Pointsification, Exploitationware, Gaming the game, Legal issues, Regulatory issues
Beyond the Basics: Going beyond the basics, Inducement prizes, Virtual economies, Collective action, The
future of gamification
Main Reading:
1. For the Win: How Game Thinking Can Revolutionize Your Business, Kevin Werbach , Dan
Hunter, Wharton Digital Press, ISBN-10: 1613630239, ISBN-13: 978-1613630235
2. The Gamification of Learning and Instruction: Game-based Methods and Strategies for Training
and Education, Pfiefer Pub.
2
0
631- Distributed Databases
Course Objectives: This course will introduce principles and foundations of distributed databases,
including architecture, design issues, integrity control, query processing and optimization, transactions, and
concurrency control.
Course Contents:
Optimization of Access Strategies, a Framework for Query Optimization, Join Queries, General Queries.
Reliability, Basic Concepts, Nonblocking Commitment Protocols, Reliability and concurrency Control,
Determining a Consistent View of the Network, Detection and Resolution of Inconsistency, Checkpoints
and Cold Restart, Distributed Database Administration, Catalog Management in Distributed Databases,
Authorization and Protection.
Database Integration, Scheme Translation, Scheme Integration, Query Processing Query Processing Layers
in Distributed Multi-DBMSs, Query Optimization Issues. Transaction Management Transaction and
Computation Model Multidatabase Concurrency Control, Multidatabase Recovery, Object Orientation And
Interoperability Object Management Architecture CORBA and Database Interoperability Distributed
Component Model COM/OLE and Database Interoperability, PUSH-Based Technologies
Main Reading:
1. Principles of Distributed Database Systems, M.Tamer Ozsu, Patrick Valduriez - Pearson
Education.
Supplementary Reading:
1. Distributed Database Principles & Systems, Stefano Ceri, Giuseppe Pelagatti McGraw-Hill.
2
1
632 - Design Of Distributed Systems
Course Objectives: This course will introduce principles and foundations of distributed systems, including
architecture, functional models, distributed operating systems, distributed resource management,
introduction to distributed algorithms, and resource security and protection.
Course Contents:
Introduction – Examples of Distributed Systems – Resource Sharing and the Web – Challenges- System
Models - Introduction – Architectural Models – Functional Models- Characterization of Distributed
Systems – Client-Server Communication – Distributed Objects and Remote Invocation – Communication
Between Distributed Objects – Remote Procedure Call – Events and Notifications.
Distributed Resource Management - Distributed File systems – Architecture – Mechanisms – Design Issues
– Distributed Shared Memory – Architecture – Algorithm – Protocols – Design Issues. Distributed
Scheduling – Issues – Components – Algorithms.
Resource Security and Protection - Introduction – The Access Matrix Model – Implementation of Access
Matrix Model – Safety in the Access Matrix Model – Advanced Models of protection – Data Security.
Main Reading:
1. George Coulouris, Jean Dellimore and Tim KIndberg, “Distributed Systems Concepts
and Design”, Pearson Education, 4th Edition, 2005 [Unit-I].
2. Mukesh Singhal and N. G. Shivaratri, “Advanced Concepts in Operating Systems”,
McGraw-Hill, 2001 [Units II - IV].
3. Joshy Joseph and Craig Fellenstein, “Grid Computing”, IBM Press, 2004. [ Unit –V].
4. Ajay D. Kshemkalyani and Mukesh Singhal, “ Distributed Computing – Principles,
Algorithms and Systems”, Cambridge University Press, 2008.
5. Pradeep K. Sinha, Distributed Operating Systems, PHI, 2005.
6. Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers, 2000.
2
2
633 - Systems Performance Evaluation
Course Objectives: The objective of this course to understand the fundamental concepts of computer
system performance evaluation. This will include introduction to mathematical modelling techniques
(Markov Chains, Queuing Theory and Networks of Queues), workload characterization, measurement of
performance metrics, Linear Regression Models.
Course Contents:
The art of performance evaluation – Professional organizations, journals, and conferences - Performance
Projects – Common Mistakes in Performance Evaluation – A systematic approach to Performance
Evaluation – Selection of techniques – Performance metrics - Utility classification – Setting performance
requirements.
Types of workloads – Instruction mixes – Kernels – Synthetic Programs – Application Benchmarks – Art of
Workload selection - services exercised – level of detail – Representativeness – Timeliness – Other
considerations in Workload selection - Workload Characterization Techniques – Terminology – Averaging –
Specifying Dispersion – Single Parameter and Multi parameter Histograms – Principal-Component
Analysis – Markov models – Clustering.
Monitors – Terminology – Classifications – Software and Hardware Monitors – Firmware and Hybrid
Monitors – Distributed-System Monitors – Program Execution Monitors – Accounting Logs – Analysis
and Interpretation of log data – Capacity Planning and Benchmarking – Load Drivers – Remote-Terminal
Emulation –Art of Data Representation – Guidelines for preparing good graphical charts – Gantt Charts –
Kiviat Charts – Schumacher Charts.
Summarizing Measured Data – Basic Probability and Statistics Concepts – Geometric Mean – Harmonic
Mean – Mean of a Ratio – Index of Dispersion – Determining Distribution of Data - Sample versus
Population – Confidence Interval for the Mean – Testing for a Zero mean - Hypothesis Testing versus
Confidence Intervals – Confidence Intervals for Proportions – Determining Sample Size.
Main Reading:
1. R.K.Jain, “The Art of Computer Systems Performance Analysis – Techniques for Experimental
Design, Measurement, Simulation, and Modeling”, Wiley-India, 2008.
2. R.Pannerselvam, “Research Methodology”, PHI, 2004.
2
3
634 - Cloud And Utility Computing
Course Objectives: To study important approaches in the field of Cloud and Utility Computing.
Course Contents:
Introduction to Cloud Computing- The Evolution of Cloud Computing – Hardware Evolution – Internet
Software Evolution – Server Virtualization - Web Services Deliver from the Cloud – Communication-as-a-
Service – Infrastructure-as-a-Service – Monitoring-as-aService – Platform-as-a-Service – Software-as-a
Service – Building Cloud Network.
Federation in the Cloud - Presence in the Cloud - Privacy and its Relation to Cloud-Based Information
Systems – Security in the Cloud - Common Standards in the Cloud – End-User Access to the Cloud
Computing.
Software Utility Application Architecture - Characteristics of an SaaS - Software Utility Applications - Cost
Versus Value - Software Application Services Framework - Common Enablers – Conceptual view to
Reality – Business Profits - Implementing Database Systems for Multitenant Architecture.
Other Design Considerations - Design of a Web Services Metering Interface - Application Monitoring
Implementation - A Design for an Update and Notification Policy - Transforming to Software as a Service -
Application Transformation Program - Business Model Scenarios - Virtual Services for Organizations -
The Future.
Main Reading:
1. John W. Rittinghouse and ames F. Ransome, “Cloud Computing Implementation,
Management and Security”, CRC Press, Taylor & Francis Group, Boca Raton
London New York. 2010 [Unit 1 and Unit 2].
2. Alfredo Mendoza, “Utility Computing Technologies, Standards, and Strategies”,
Artech House INC, 2007 . [Unit 3 to Unit 5].
3. Guy Bunker and Darren Thomson, “Delivering Utility Computing”, John Wiley &
Sons Ltd, 2006.
2
4
635 - Data Analytics
Course Objectives: To Learn about the most effective data analytics methods to solve problems and
achieve insight.
Course Contents:
Data: types of data, data quality, data preprocessing, measures of similarity and dissimilarity, Exploring
data: Iris dataset, summary statistics, visualization.
Data Warehousing and OALP; Aggregation Operations, models for data Warehousing, star schema, fact
and dimension tables Life cycle of data warehouse development, data warehouse architecture, efficient
methods of data cube computation, relationship between data warehouse and data mining.
Association Analysis: Frequent itemset generation, rule generation, compact representation of frequent
itemsets, FP-growth algorithm, evaluation of association patterns.
Association Analysis: advanced topics: handling categorical and continuous attributes, Handling concept
hierarchy, sequential patterns, subgraph patterns, infrequent patterns.
Classification: general approach, decision tree induction, model overfitting, evaluating performance of a
classifier, methods of comparing classifiers.
Classification: alternative techniques: rule based classifier, nearest neighbor classifier, Bayesian classifier,
ANN, SVM, ensemble methods.
Cluster Analysis: K-means, agglomerative hierarchical clustering, DBSCAN, cluster evaluation, density
based clustering, BIRCH, CURE.
Anomaly detection: statistical approaches, proxy-based outlier detection, density-based outlier detection,
cluster based techniques.
Main Reading:
1. Peng-Ning Tan,Michael Steinbach and Vipin Kumar, Introduction to Data Mining, Pearson
Education.
2. Jiawei Han and Micheline Kamber, “Data Mining Concepts and Techniques,” 1st Edition Indian
Reprint 2001, Harcourt India Private Limited, ISBN 1-55860-489-8.
3. Arun K Pujari, “Data Mining Techniques”. Universities Press.
2
5
636 - Information Retrieval
Course Objectives: Basic and advanced techniques for text-based information systems: efficient text
indexing; Boolean and vector based retrieval models; Web search including crawling.
Course Contents:
Text Analysis and Indexing: Preliminary stages of text analysis and document processing, tokenization,
stemming, lemmatization, stop words, phrases, Indexing: Boolean IR models, inverted files, indexing,
signature files, PAT trees, Positional indices. Vector-based IR models: TF/IDF term weighing, similarity
measures, test collections and issues.
Index construction and Compression: Postings size estimation, merge sort, dynamic indexing, positional
indexes, n-gram indexes. Index compression: lexicon compression and postings lists compression. Gap
encoding, gamma codes, Zipf's Law. Blocking. Extreme compression.
Query Processing: Query expansion: spelling correction and synonyms. Wild-card queries, permuterm
indices, n-gram indices. Edit distance, soundex, language detection.
Matching techniques: Similarity between documents and queries, Parametric or fielded search. Document
zones. The vector space retrieval model, tf.idf weighting. Scoring documents, vector space scoring, the
cosine measure, efficiency considerations, reduced dimensionality approximations, Latent Semantic
Indexing (LSI), random projection, Page Ranking and HITS.
Relevance feedback: User modeling and information need: user profiling, Relevance judgments. Additional
term selections to the system, Dynamic respond ally to judgments and selections, Personalization of search.
Taxonomy and Ontology: Creating domain specific ontology, Ontology life cycle.
Distributed and Parallel IR: Relationships between documents, Identify appropriate networked collections,
Multiple distributed collections simultaneously.
Web Search Engines: Web crawlers, robot exclusion, Web data mining, Metacrawler, Collaborative
filtering, Web agents (web shopping, bargain finder,..), Economic, ethical, legal and political issues.
Multimedia IR: Techniques to represent audio and visual document, Query databases of multimedia
documents, Display the results of multimedia searches.
Main Reading:
1. Managing Gigabytes, by I. Witten, A. Moffat, and T. Bell.
2. Modern Information Retrieval, by R. Baeza-Yates and B. Ribeiro-Neto.
3. Information Retrieval: Algorithms and Heuristics by D. Grossman and O. Frieder
2
6
637 – Data Warehousing and Data Mining
Course Objectives: Data warehousing and data mining are the essential components of decision support
systems for the modern day industry and business. These techniques enable the knowledge worker (analyst,
manager, executive) to make better and faster decisions. The objective of this course is to introduce the
student to various Data Ware housing and Data Mining concepts and techniques. A database perspective has
to be used throughout the course to introduce principles, algorithms, architecture, design and
implementation of data mining and data warehousing techniques.
Course Contents:
Introduction and Background: Introduction to the multidisciplinary field of data mining,. Discussion on the
evolution of database technology that has led to the need for data warehousing and data mining. Stress on
importance of its application potential. Introduction to the different key words and techniques.
Data Warehousing And OLAP: Insight of data warehouse and on-line analytical processing, Aggregation
Operations, models for data Warehousing, star schema, fact and dimension tables Conceptualization of data
warehouse and multidimensional databases. Life cycle of data warehouse development. Relationship
between data warehouse and data mining.
Data Mining Primitives: Data preprocessing including data cleaning, data integration, data transformation.
Definition and Specification of a generic data mining task. Description of Data mining query language with
few example queries.
Association Analysis: Different methods(algorithms) for mining association rules in transaction based data
bases. Illustration of confidence and support. Multidimensional and multilevel association rules.
Classification of association rules. Discussion on few association rule algorithms e.g. Apriori, frequent
pattern growth etc.
Classification and Predictions: Different Classification algorithm, including C4.5, CART etc., use of genie
index, decision tree induction, Bayesian classification, neural network technique of back propagation, fuzzy
set theory and genetic algorithms.
Clustering: Partition based clustering, Hierarchical clustering, model based clustering for continuous and
discrete data. Discussion on scalability of clustering algorithms. Parallel approaches for clustering.
Web Mining: Web usage mining, web content mining, web log attributes. Use of web mining in efficient
surfing and personalization
Mining Complex Type of Data: Data mining issues in object oriented data bases, spatial data bases and
multimedia data bases, time series data bases, and text data bases.
Applications of Data Warehousing And Data Mining: Exploration of web sites on data ware housing and
data mining applications including bibliography data bases, Corporate Houses and Research labs.
Main Reading:
1. Jiawei Han and Micheline Kamber, “Data Mining Concepts and Techniques,” 1 st Edition Indian
Reprint 2001, Harcourt India Private Limited, ISBN 1-55860-489-8.
2. Margaret Dunham, “Data Mining: Introductory and Advanced Topics,” 1st Edition, 2003, Prentice
Hall (Pearson Publication), ISBN 0-13-088892-3.
3. Arun K Pujari, “Data Mining Techniques”. Universities Press.
Supplementary Reading
1. T. Mitchell, “Machine Learning”, 1997, McGraw Hill.
2. S.M. Weiss and N. Indurkhya, “Predictive Data Mining”, 1998, Morgan Kaufmann.
3. M. Jarke, M. Lenzerni, Y. Vassiliou, and P. Vassiladis, “Fundamentals of Data Warehouses”, 2000,
Springer Verlag, Isbn 3-540-65365-1.
2
7
638 – Geographical Information Systems
Course Objective: This course will provide introduction to Geographical Information Systems from the
point of view of software developers. The underlying technology and how to apply GIS in decision making
will be discussed. At the end of the course, the Learner should be able to understand the spatial terminology
and build applications using open source GIS tools.
Course Contents:
Introduction to GIS: GIS definition, key components, functions of GIS, benefits, relationship with other
disciplines, issues, application areas.
Spatial Data Structures: spatial data models- Raster and vector data models, Quad-tree, R-tree- searching,
insertions, deletion algorithms. Topology and topological models- 9 Intersection model.
Spatial data base fundamentals: Extended ER diagram for spatial entities. Spatial data model, object
relational mode, ex. Oracle spatial data model
spatial data models: ISO 19101 data model, geometry classes, basic element types, SDO-GEOMETRY
structure and operations
Spatial SQL: (operators and functions) terminology, principles, set based operations, topological
operations. Spatial joins. Spatial functions.
Network modelling: motivation, general network concepts, Network data model and metadata, spatial
indexes on NM, shortest path and other functions. Directed and undirected networks, Traveling salesperson
problem, reachability analysis, spanning tree
Main Reading:
1. Geographic Information Systems and Science, Longley, Goodchild, Rhind, Wiley & Sons
2. The Design and Analysis of Spatial Data Structures by Hanan Samet, Addison Wesley
3. Spatial Databases- A Tour by Shekhar Chawla, Upper Saddle River, NJ, USA, Prentice Hall.
4. Pro Oracle Spatial, R. Kothuri & Beinat, E, APRESS, USA.
2
8
640 - Programming Paradigms
Course Contents:
Introduction : Principles of Language Design, Programming Paradigms and Application Domains, Pragmatic
Considerations, A Brief History of Programming Languages, Programming Language Qualities, What's in a Name?
Goals of This Study
Syntax: Formal Methods and Language Processing, Syntactic Analysis, Linking Syntax and Semantics
Type Systems and Semantics: Type Systems, Semantic Domains and State Transformation, Operational Semantics,
Axiomatic Semantics, Denotational Semantics
Imperative Programming: Von Neumann Machines and Imperative Programming, Naming and Variables,
Elementary Types, Values and Expressions, Syntax and Semantics of Statements in Real Languages, Scope,
Visibility, and Lifetime, Syntax and Type System for Methods and Parameters
Object-Oriented Programming: Data Abstraction and Modular Programming, The Object-Oriented Model, Example:
Expression Evaluation, Concordance, Backtracking, Correctness
Functional Programming: Functions and the Lambda Calculus, Scheme: An Overview, Debugging, Example:
Scheme Applications, Program Correctness, Applications of Functional Programming Languages
Logic Programming: Logic, Predicates, and Horn Clauses, Prolog: Facts, Variables, and Queries, Lists, Practical
Aspects of Prolog,
Event-Driven Programming: Foundations: The Event Model, The Event-Driven Programming Paradigm, Applets,
Event Handling
Concurrent Programming: Concepts, Communication, Deadlocks and Unfairness, Semaphores, Monitors, Java
Threads, Synchronization in Java
Main Reading:
1. Programming Languages: Principles and Paradigms by Allen Tucker & Robert Noonan, McGraw Hill.
2. Programming Languages: Design and Implementation by Terrence W.Pratt, Marvin V Zelkowitz
2
9
641 - Programming using Python (2 credits)
Course Contents:
Overview Python Language: Lexical Conventions and Syntax, Types and Objects, Operators and Expressions, Flow
Control and Exceptions, Modules
The Python Library: String and Text Handling, Data Structures and Algorithms, Threading, Networking, Web
Programming, Graphical Programming, Database Access
Main Reading:
1. John Zelle, Python Programming: An Introduction to Computer Science, (SECOND EDITION), Franklin,
Beedle & Associates Inc.
2. Wesley J. Chun, Core Python Programming, 2/E
3. Michael Dawson, Programming with Python: A User's Book
3
0
642 – Parallel Programming
Course Contents:
Processes and processors Shared memory, fork join constructs, Basic parallel programming techniques, loop
splitting, spin locks, contention barrier and row conditions.
Variations in splitting self and indirect scheduling. Data dependency, forward and backward block scheduling.
Linear recurrence relations, backward dependency, Performance tuning overhead with number of processes,
effective use of cache.
Parallel programming examples, Average, mean squared deviation, curve fitting, numerical integration, travelling
salesman problem, gaussian elimination, Discrete event time simulation.
Parallel Programming constructs in HPF, FORTRAN 95, Parallel programming under UNIX.
Main Reading:
1. Brawer S, Introduction to parallel programming, Academic Press, New York, 1989.
3
1
643 – Java Programming
Course Contents:
An overview of object oriented programming and Terminology : Abstraction variable and methods, encapsulation
interfaces, messages : object communicating with objects, modularity, classification, inheritance.
Overview of JAVA Language, Java development environment, Language fundamental: How Java differs from C:
Programs structure and environment, name space: Packages, classes and members, commands, no pre-processor,
Unicode and character escape, primitive data types, reference data types objects, array, strings, operators, statement,
exceptions and exception handling.
Classes and Objects in Java : Introduction to Class and Objects, object creation, class variables class methods, object
destruction, subclass and inheritance overriding methods, data hiding and encapsulation, abstract class and interface.
Abstract windowing toolkit : AWT overview, graphics, fonts, colors, images, java controls, layout components, new
AWT features.
Applets Introduction to Applets: Applet designing basics, drawing graphics, handling events, reading applet
parameters, images and sounds, JAR files, applet security restriction, signed applet-weaving Applet into web pages.
Threads : Using thread in applets, creating threaded objects, threaded attributes, thread priority, multithreaded
programs.
Main Reading:
1. A complete reference for Java “ Herbert Schmidt.
2. Java in Nutshell” David Flanagan, - O’Reillyo
3. Java Programming, Balaguruswamy
3
2
644 - Learning Computer Programming by Building Android Apps (2 credits)
Course Description:
Students will learn programming and fundamentals of app development by building a series of Android apps during
this course. The class will be project based, and will employ a "learning by doing" approach. Students will work on
apps using the App Inventor visual programming platform originally developed by Google and now hosted and
maintained by MIT Media Labs. Class projects will include development of apps based on the embedded TinyDB
database, and location sensitive apps based on GPS inputs. The class will culminate in group projects involving the
development of apps of local relevance.
Course Contents:
Introduction to App Inventor: The architecture of a smartphone app. Event handlers and event driven programming.
Animation and creating smart phone games: Programming with canvases, sprites and timers. Making use of location
sensors. Responding to SMS and scanning barcodes.
Creating apps with data and forms : Storing and retrieving persistent data in an app.
Main Reading:
1. App Inventor: Create Your Own Android Apps, by David Wolber
3
3
650 - Human Computer Interaction
Course Objectives: To build human-centered design skills, so that you have the principles and methods to create
excellent interfaces with any technology.
Course Contents:
Introduction: Human-Computer Interaction, The Power of Prototyping, Evaluating Designs, The Birth of HCI
Needfinding: Participant Observation, Interviewing, Additional Needfinding
Rapid Prototyping: Paper Prototyping and Mockups, Video Prototyping, Creating and Comparing Alternatives
Direct Manipulation and Representations: Direct Manipulation, Mental Models, Representations Matters,
Distributing Cognition
Visual Design and Information Design: Visual Design, Typography, Grids and Alignment, Reading and Navigating
Designing experiments: Designing Studies That You Can Learn From, Assigning Participants To Conditions, In-
Person Experiments, Running Web Experiments, Comparing Rates.
Main Reading:
1. Alan Dix, Janet Finlay, Gregory D. Abowd, and Russell Beale, Human-Computer Interaction (3rd Edition),
Pearson, 2004.
2. Ben Shneiderman and Catherine Plaisant, Designing the User Interface: Strategies for Effective Human-
Computer Interaction (5th Edition), 5th ed., Pearson Addison-Wesley, 2009
3. Donald A. Norman, The Design of Everyday Things, Basic Books, 2002
3
4
651 - Agile Software Engineering
Course Objectives: The objective of the course is to provide students with a theoretical as well as practical
understanding of agile software development practices and how small teams can apply them to create high-quality
software.
Course Contents:
Introduction to Agile Software Development: Understanding how traditional software development works and it’s
problems; Role of Agile practices in the world of software development & Tools used
Agile Project Planning And Management: Requirement Analysis, Estimation techniques, Iteration planning,
Introduction to development practices:TDD : Test Driven Development & Pair Programming, Introduction to QA
Practices:Fail Fast & Automated functional testing, Introduction to Continuous Integration
Coding and testing practices: Practicing TDD and pair programming as alternative to traditional documentation;
Configuring Continuous Integration tools; Automated function testing in detail, Source Control
Agile Software development and deployment: Iterative and incremental software development, Automated and
scripted deployment strategies, Handling change requests
Main Reading:
1. Agile Software Development with Scrum, Ken Schwaber, Mike Beedle, Prentice Hall
2. Agile Estimating and Planning by Mike Cohn, Prentice Hall PTR
3. Continuous Integration: Improving Software Quality and Reducing Risk, Paul M. Duvall, Steve Matys,
Andrew Glover, Addison Wesley
4. Leading Lean Software Development: Results Are not the Point Mary Poppendieck , Tom Poppendieck
3
5
652 – Software Architecture, Design Patterns and Frameworks
Course Contents:
Software architecture: Definition, advantages, components and connectors, views, documenting, evaluating, mining
Architectural patterns: Layered, pipe & filter, MVC, broker, microkernel, broker, peer to peer, plug-in, event bases
software, SOA, middleware architectures
Software product lines: Economies of scope, product line development, product development
Main Reading:
1. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable
Object-Oriented Software, Pearson Education
2. Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, Pearson Education
3. Frank Buchmann, Regine Munier, Hans Rohnert, Peter Sommerland, Michael Stahl, Pattern Oriented
Software Architecture-I, Pearson Education
4. Christine Hofmeister, Robert Nord, Dilip Soni, Applied software architecture, Pearson Education
5. Jack Greenfield, Keith Short , Software Factories, Wiley DreamTech
3
6
653 – Software Project Management
Course Contents:
Managerial Issues in Software Projects: Introduction to software markets, Planning of software projects, Size and
Cost Estimations, Project Scheduling, Measurement of software quality and productivity, ISO and Capability,
Maturity, Models for organizational growth, Project Management and Practice.
Managing the systems life cycle, requirements determination, logical design, physical design, testing
implementation, system and database Integration issues, metrics for project management and systems performance
evaluation, managing expectations, superiors users, team members and other related to the project: determining skill
requirements and staffing the project, cost effectiveness analysis: reporting and presentation techniques and effective
management of both behavioral and technical aspects of the project.
Main Reading:
1. Gilb T, “ Principles of Software Engineering Management”, Addison Wesley, Reading MA, 1988.
2. Putnam L.H., Myers W, “ Industrial Strength Software - effective Management using measurement”, IEEE
C.S. Press, 1997.
3. Thayer R.H., “ Software Engineering Project Management”, IEEE C.S. Press, 1997.
3
7
654 – Software Testing
Objective :
To provide a detailed study of testing software and automated tools.
Course Contents:
Testing fundamentals: Software testing – Levels of software testing – Test activities – Testing Life Cycle – Test
Organization – White Box testing – Basis Path Testing – Control Structure testing – Black Box Testing.
Functional testing: Equivalence Class Partitioning - Boundary Value Analysis – Cause-effect Graphing - Special
cases. Performance Testing – Stress testing – Configuration Testing – Security Testing – Recovery Testing –
Integration Testing – Regression Testing – Acceptance Testing.
Object oriented testing methods: Testing Methods at Class level – Interclass test case design- Testing for Specific
Environment, architecture, and application - Testing patterns.
Testing process: Comparison of different techniques- Test Plan – Test case Design Procedure Specification – Test
Case Execution and Analysis - Test Documentation - Reporting test results - Final test reporting, Test Driven
Development & Refactoring
Testing Web Application: Testing concepts for web apps – Content Testing – User Interface Testing – Component
Level Testing – Navigation Testing – Configuration Testing – Security Testing – Performance Testing.
Testing Tools: Need for automated testing tools - Selection of testing tool – Tools used at various phases.
Main Reading :
1. Srinivasan Desikan, Gopalswamy Ramesh , “Software Testing : Principles and Practices”, Pearson
Education, 2006
2. Software Testing in the Real World, by E. Kit (1995)
3. The Web Testing Handbook, by S. Splaine and S. Jaskiel
4. Testing Applications on the Web, by H. Nguyen, R. Johnson, and M. Hackett
5. Software Testing and Continuous Quality Improvement, by W. Lewis, et al
6. How to Break Software Security, by J. Whittaker, et al
7. Web resources: http://www.softwareqatest.com
3
8
655 – Middleware Technology
Course Contents:
Distributed systems characteristics; System models-architectural and fundamental models. RPC, Distributed objects-
RNI, .NET Remoting, Name services-DNS, Time and global states, synchronization, Coordination and agreement,
distributed transactions and recovery, Consistency & Replication, Fault Tolerance, Security.
Asynchronous communication and Event based systems: Notifications, message Queuing systems, peer to peer
systems
SOA & Web services: XML, SOAP, WSDL, UDDI & other protocols;
Reflective middleware : Introduction to reflective middleware, Middleware oriented architectural patterns for
enterprise systems.
Main Reading
1. Distributed Systems- Cocepts and Design: George Couloris, Jean Dollimore, Tim Kindberg, Tim Kindberg,
Third Edition, Pearson Education, Addison Wesley
3
9
656 – Component Technology
Course Contents:
Motivation for components: Introduction covering experience from software development - market vs. technology
standards.
Foundation: Definition of a component, important issues: components, interface and re-entrance; polymorphism,
objects vs. class composition; Scale and granularity of components- architecture (patterns and frameworks) ;
Component Technologies: Wiring standards (how to connect components); Approaches: OMG CORBA, Microsoft
.NET, Sun: Javabeans, J2EE & EJBs, ;
Service Oriented Architecture and web services: Component architecture, component frameworks, component
development ,component distribution and acquisition , component assembly
Main Reading:
1. Component Software (Beyond Object-Oriented Programming): Clemens Szyperski, ACM Press Addison
Wesley, 2nd Edition, 2002
4
0
660 – Advanced Computer Architecture
Objective
This course is designed for students who are already familiar with the fundamentals of the working principle of a
Digital Computer and the various sub-units. The main objective of the course is to expose the students to the
working of current high performance processors and systems.
Course Contents:
Pipelining: Linear pipeline processor: Nonlinear pipeline processor, Instruction pipeline design, Mechanisms for
instruction pipelining, Dynamic instruction scheduling, Branch handling techniques, Arithmetic Pipeline design:
Computer arithmetic principles, Static arithmetic pipelines, Multifunctional arithmetic pipelines
Storage and Memory Hierarchy: Register file, Virtual memory, Cache memories, Cache memory working principles,
Cache coherence issues, Cache performance analysis, High bandwidth memories.
I/O Organization: High bandwidth I/O, Disk I/O, Bus specifications and Standards.
Parallel Computer Models and Program Parallelism: Classifications of Machines, SISD and MIMD, condition of
parallelism, data and resource dependencies, hardware and software parallelism program partitioning and
scheduling, grain size latency, program flow mechanism, control flow versus data flow, data flow architecture,
demand driven mechanisms, comparison of flow mechanisms.
Vector Processor And Synchronous Parallel Processing: Vector instruction types, vector-access memory schemes,
vector and symbolic processors, SIMD architecture and programming principles: SIMD parallel algorithms, SIMD
computers and performance enhancement.
System Interconnect Architectures: Network properties and routing, staric interconnection networks, dynamic
interconnection networks, multiprocessor system interconnects: Hierarchical bus systems, Crossbar switch and
multiport memory, Multistage and combining network.
Main Reading:
1. Hennessay & D.A. Patterson, “Computer Architecture: A Quantitative approach”, International Student
Edition, 3rd Edition, 2002, Morgan Kaufmann Publisher.
2. Michael J. Flynn,”Computer Architecture: Pipelined and Parallel Processor Design”’ 1995, Jones and
Barlett, Boston.
Supplementary Reading:
1. Kai Hwang, “Advanced computer architecture”, 1993, TMH
2. R.K. Ghose, Rajan Moona & Phalguni Gupta, “Foundation of Parallel Processing”; Narosa Publication.
3. D.Sima, T.Fountain, P.Kasuk, “Advanced Computer Architecture-A Design space
4. Approach”, 1997, Addison Wesley.
4
1
661 – Advanced Operating Systems
Course Contents:
Process Deadlocks: Models of deadlocks, models of resources, Graph theoretic model of a system, state, systems
with single-unit resources, consumable resources, reusable resources.
Architectures of Distributed systems: Types, issues ,communication primitive, limitations of a distributed system,
lamport’s logical clock, vector clocks.
Distributed Mutual Exclusion: Classification of algorithms, solution to ME, token and non-token based algorithms,
comparisons
Distributed deadlock Detection: Resource versus communication Deadlocks, deadlock handling strategies,
centralized and distributed deadlock detection algorithms.
Distributed file systems: Mechanisms for building DFS, Design issues, case studies.Distributed shared Memory –
algorithms, coherence protocols, design issues.
Distributed scheduling: Issues in load distribution, load distribution, load Distribution algorithms.
Failure Recovery and Fault Tolerance: Backward and forward error recovery, checkpointing, recovery in distributed
database system.
Main Reading:
1. Advanced concepts in 0perating systems – Singhal and Shivaratri - Tata McGraw Hill
2. Distributed 0perating Systems – Andrew Tanenbawn ,Prentice Hall
4
2
662 – Network Programming
Course Contents:
Basic UNIX programming: Unix processes. Creating and terminating Processes. Background and Foreground
Processes. Executing new programs. Unix Signals and Signal Handling. Systems calls related to process, user and
signal Management. File descriptors and inheritance. Named and unnamed pipes and related system calls.
Elementary Socket Programming: Berkley Sockets Overview, Introduction to sockets, Socket addresses, Basic
Socket system calls, Error hadling. Concept of Reserved ports, Elementary TCP and UDP socket programming.
Socket options. Name and Address Conversion functions. Interface Operations using ‘ioctl’.
I/O Operations: Synchronous vs. Asyncronous I/O. I/O Multiplexing using ‘select’ and ‘pselect’., Sockets and
signals, Signal driven I/O. Nonblocking I/O: Nonblocked ‘accept’ and ‘connect’. Broadcasting and Multicasting.
Sending and Receiving Out of Band data using ‘select’ and signals. Advance I/O functions.
Miscellaneous: Daemon processes and Inetd Super Server, Unix Domain Sockets. Passing file descriptors using
UNIX domain sockets.
Winsock programming: Introduction to Win32 programming. Difference between UNIX and MSWindows sockets.
Introduction MSWindow socket API. MSWindows extension to socket API. MSWindows and blocking Socket calls.
Implementing server functionality using multithreading. Synchronization using event objects. Using ‘EventSelect’
and ‘AsyncSelect’ calls. Asynchronous I/O: Overlapped I/O with scatter and gather. Creating Win32 services.
Programming applications : Time and date routine, Ping, Trivial file transfer protocol.
Main Reading:
1. Steven W.R., Unix Network Programming, Prentice Hall of India.
2. Napper Lewis, Winsock 2.0, COMDEX Computer Publishing.
3. Steven W R, Advanced Programming in UNIX Environment, Addison Wesley.
Supplementary Reading:
1. Microsoft Software Developers Network Documentation.
2. Davis R., Win32 Network Programming, Addison Wesley
4
3
663 – Advanced Unix Programming
Course Contents:
Introduction: Organization of UNIX interface, Programmer interfaces. System call API , Error handling. UNIX
standardization. UNIX implementations. Relationship of standards and implementation.
File I/O and Directories : File descriptor and basic file I/O calls. Duplicating file descriptors. File Types, File access
permissions, Set-user-id and set-group-id bits. Setting file permissions. Changing file ownership. Soft and hard
links. Reading directories. Synchronising file contents. Standard I/O library.
Process : Environment of UNIX process. Command Line arguments. Environment variables. Memory allocation.
Process relationship, Process groups, sessions, Controlling Terminal, Process related system calls. Foreground,
Background Processes and Job control. Orphaned process groups.
Signals: Signal concept, Reliable and unreliable signals, Signal sets, Signal related system calls. Non local jumps.
Job control using signals.
Terminal I/O: Special Input Characters. Canonical and Non canonical modes. Terminal Option flags. Getting and
setting terminal attributes. Pseudo terminals. Opening and using pseudo Terminals.
Advanced I/O: Nonbloking I/O, Record locking. Stream, I/O multiplexing, Memory mapped I/O, Asynchronous I/O.
Main Reading:
1. Steven W R, Advanced Programming in UNIX Environment, Addison Wesley.
Supplementary Reading:
1. Unix man pages and Standard C library (libc) Documentation
4
4
664 - Biomechanics (2 credits)
Course Information:
Basic Biomechanics is a first course in undergraduate biomechanics that provides background in
muskuloskeletal anatomy and principles of biomechanics. The course applies and builds on the concepts of
Statics and, Dynamics for human activities, and Mechanics of Materials and tissues.
Course Objective :
The course provides an overview of musculoskeletal anatomy, the mechanical properties and structural
behavior of biological tissues, and biodynamics. The course is meant to provide basic background in
biomechanics for science, engineering and biotechnology students fields, and for those planning to attend
graduate school in biomedical engineering. For those interested in industrial positions, this course provides
a foundation for careers as design engineers in medical device companies and exercise equipment
companies, as laboratory/testing technician in research facilities, and as a clinical engineer in the hospital
environment. While these positions are available with a Bachelor's degree, most companies (or positions)
will require continued training to improve skills in specific areas.
Course Contents:
Introduction to Biomechanics: Force Vector, Moment and Torque Vectors, Statics: Systems in Equilibrium,
Applications of Statics to Biomechanics
Introduction to Dynamics: Linear Kinematics, Linear Kinetics, Angular Kinematics, Angular Kinetics,
Impulse and Momentum
Introduction to Deformable Body Mechanics: Stress & Strain , Multiaxial Deformations & Stress Analyses,
Mechanical Properties of Biological Tissues
Main Reading:
1. Fundamentals of Biomechanics: Equilibrium, Motion, and Deformation
2. by Nihat Özkaya, Margareta Nordin, Dawn Leger, Publisher: Springer
Supplementary reading:
1. Fundamentals of Biomechanics by Knudson, Duane, Publisher: Springer
2. Biomechanics: Mechanical Properties of Living Tissues, by Fung , Publisher: Springer
3. Computational Biomechanics: Theoretical Background and Biological/Biomedical Problems
Series: A First Course in “In Silico Medicine”, Vol. 3, Publisher: Springer
4. Biomechanics by Fung, 2nd Ed. Y.C. Publisher: Springer
4
5
665 – Internet Technologies
Course Contents:
Introduction: Internet Architecture : Client-Server Architecture, How Domain Name Service works. How
routers work.
Internet Protocols: Layered Protocol Architecture, TCP/IP, ICMP, SMTP, FTP, HTTP.
Internetworking with TCP/IP: Internet addressing, DHCP and static IP addressing, Address classes, IP
subnets, IP supernets, Classless IP addressing, Routing Protocols : RIP, OSPF, IGRP. ARP and RARP
protocols. Mobile IP.
IP Network QOS and Multimedia Applications: RTP, RTCP, RSVP, MPLS, VOIP, MGCP
IP Multicasting: Reverse path forwarding, Multicast addressing, Internet Group Management Protocol,
Multicast Source discovery Protocol. DVMRP, CBT.
Internet Management and Security: SNMP, Proxy servers, Firewalls, VPN, How cookies Passports and Web
tracking works. Cryptography, privacy and Digital certificates, Parental controls on internet.
Main Reading:
1. Behrouz Forouzan, “TCP/IP Protocol Suite”, 2nd edition, Tata MCGraw-Hill.
2. Douglas E Comaer, “Computer Networks and Internet”, 2 nd edition, Pearson Education Pvt. Ltd.
3. Request For Comments (RFC) Documents ( Web Site : http://www.rfc-editor.org/rfc.html )
4
6
666 - Physical Computing (2 credits)
Course Contents:
Introduction to programming in Processing: Loops, conditionals, variables & data structures, and mouse
interaction. An overview of microcontrollers.
The fundamentals and use of basic electronic components: Use of resistors, diodes, LEDs, switches, relays
and a variety of sensors to implement systems for physical computing. Digital and analog input and output.
Serial input and output, including MIDI.
Fundamentals of serial communication: Including data representation, ASCII and basics of protocols.
Programming with interrupts and timers. Data acquisition and web-interfacing.
Main Reading:
1. Physical Computing: Sensing and Controlling the Physical World with Computers, Dan O'Sullivan
and Tom Igoe, Thomson Course Technology
2. Making Things Talk, Tom Igoe, O'Reilly
4
7
668 - Ethical Hacking and Countermeasures
Course Contents:
Introduction: The importance of security, The various phases involved in hacking, An overview of attacks
and exploit categories, The legal implications.
Footprinting: Introduced to footprinting, Information gathering methodology, Tools used for the
reconnaissance phase, countermeasures.
Scanning: Detecting 'live' systems on target network, Discovering services running/ listening on target
systems, port scanning techniques, active and passive fingerprinting, Automated discovery tools.
Enumeration: Identifying valid user accounts or poorly protected resource shares, active connections to
systems and directed queries, Null Session, NetBIOS Enumeration, SNMP enumeration, Applications and
banners.
System Hacking: Remote password guessing, Eavesdropping, Denial of Service, Buffer overflows,
Privilege escalation, Password cracking, keystroke loggers, sniffers, Remote control and backdoors, Port re
direction, Covering tracks, Hiding files
Trojans and Backdoors: Defining Trojans and Backdoors, Understanding the various backdoor genre,
Trojan tools, Prevention methods and countermeasures, Anti-Trojan software.
Sniffers: Active and Passive Sniffing, ARP Spoofing and Redirection, DNS and IP Sniffing and Spoofing.
Denial of Service: DOS and Distributed DOS Attacks, Types of denial of service attacks, Tools for running
DOS attacks, Tools for running DDOS attacks, Denial of Service Countermeasures
Social Engineering: Common Types of Attacks, Online Social Engineering, Reverse Social Engineering,
Policies and Procedures, Employee awareness.
Session Hijacking: Spoofing Vs Hijacking, Types of session hijacking, TCP/IP concepts, Performing
Sequence prediction, ACK Storms, Session Hijacking Tools.
Web Server Hacking: Web Servers and Common Vulnerabilities, Apache Web Server Security, IIS Server
Security, Attacks against Web Servers, Countermeasures
Password cracking: HTTP Authentication Basic & Digest, NTLM Authentication, Certificate Based
Authentication, Forms Based Authentication, Password Guessing, Password cracking Tools.
SQL injection: Exploiting the weakness of Server Side Scripting, Using SQL Injection techniques to gain
access to a system, SQL Injection Scripts, Prevention and Countermeasures
Buffer Overflow: What is a Buffer Overflow, Exploitation, CPU / OS Dependency, Understanding Stacks,
Stack Based Buffer Overflow, Defense against Buffer Overflows
Hacking wireless networks: Introduction to 802.1, WEP, Cracking WEP Keys, WLAN Scanners, WLAN
Sniffers, Securing Wireless Networks.
4
8
Linux Hacking: Scanning and mapping Networks, Password Cracking in Linux, Sniffing, Session
Hijacking, Linux Rootkits, IP Chains and IP Tables, Linux Security Countermeasures
Evading Firewalls, IDS and Honeypots: Intrusion Detection System, Integrity Verifiers, Intrusions
Detection, Anomaly Detection, Signature Recognition, Protocol Stack Verification, Application Protocol
Verification, Hacking Through Firewalls, Honey Pots
Main Reading
Supplementary Reading
1. Shon Harris, Allen Harper, Criss Eagle, Jonathan Ness , “Gray at Hacking – The Ethical Hacker’s
Handbook” , Mc Graw Hill.
2. Ryan Russel, Elias Levy, Jeremy Ruch & others, “Hack Proofing Your Network – Internet
TradeCraft”, SYNGRESS.
3. Mike Schiffman, “Hacker’s Challenge: Test your Incident response Skills using twenty scenarios”,
Osborne/ Mc Graw Hill.
4
9
669 – Embedded Systems (Software)
Course Contents:
Introduction to embedded system: A First Look at Embedded systems- Examples of Embedded systems-
applications area-categories of embedded system – recent trends in embedded system:
Design challenge: ptimizing design metrics Common design metrics- Processor technology- General-
purpose processors – software - Single-purpose processors – hardware- Application-specific processor- IC
technology
RTOS: Architecture of kernel –task and task scheduler-interrupt service routines- semaphores-message
queues- mail boxes-pipes –events-timer – memory management –interrupt routines in RTOS Environment-
overview of embedded /real time operating system .
Embedded Software Development Tools: Host and Target Machines-Linker/Locators for Embedded
Software-Getting Embedded Software into the Target System.
Debugging Techniques: Testing on Your Host Machine-Instruction Set Simulators-The assert Macro-Using
Laboratory Tools
An Example System: What the Program Does-Environment in which the Program Operates
Task Image creation: Operating system software –target image creation for windows XP embedded-porting
RTOS on a micro-controller based development board.
State machine and concurrent process models: Introduction- Models vs. languages, text vs. graphics-
Models vs. languages- Textual languages versus graphical languages-An introductory example- A basic
state machine model: finite-state machines (FSM)- Finite-state machines with data path model: FSMD-
Using state machines- Describing a system as a state machine-Comparing the state machine and sequential
program model- Capturing a state machine model in a sequential programming language-
Hierarchical/Concurrent state machine model (HCFSM) and the State charts language
Program-state machine model (PSM) : The role of an appropriate model and language
Concurrent process model: Use of Esteral language for embedded software development.
Main Reading:
1. Embedded software primer by David Simon – Pearson
2. Art of embedded system by Jack Ganssle
3. Embedded systems Architecture by Tammy Noergaard – Elsevier publications
4. Embedded /Real time systems – by DR.K.V.K.K.Prasad. – Dreamtech
5. Esterel language by Gerard Berry ( web site reference)
6. Embedded system design by Arnold S.Berger
7. model checking by Edmund M.clark
8. Embedded Systems Building Blocks by Jean LaBrosse
9. Embedded Systems Design by Arnold Berger
10. The Art of Programming Embedded Systems, Jack Ganssle
5
0
681 – Managerial Economics
Course contents:
Nature and scope of managerial economics. Objectives of the firm, Managerial and behavioral theories of
the firm.
Concepts of opportunity cost, incremental, time perspective Principles of discounting and equimargins,
Demand analysis - purpose and concepts. Elasticity of demand, Methods of demand forecasting.
Product and cost analysis, short run and long run, average cost curve.
Law of supply, Economics and diseconomies of scale, Law of variable proportions.
Production function - single output isoquants.
Pricing Prescriptive approach, Price determination under perfect competition, Monopoly, oligopoly and
monopolistic competition. Full cost pricing, product line pricing, Pricing strategies.
Profits : Nature and measurement, policy, Break-even analysis, Case study.
Main Reading:
1. Dean, J, “Managerial Economics”, Prentice Hall of India, New Delhi,1982.
2. Mote V.L. et.al, “ Managerial Economics”, Concepts and cases” Tata McGraw Hill, New Delhi,
1980.
5
1
682 – Corporate Planning
Course contents:
Significance of Planning, Types, Need Requites, Corporate planning, system approach, Role of the planner,
Corporate planning and budgeting.
Social responsibility, Scope, contents, corporation and society, consumers, corporation and democracy,
community and government, Social responsibility versus profitability and productivity, growth
Professionalism as a means of social behavior.
Mission and purpose, Business definitions - objectives and goals, Environment appraisal, Concepts,
components - Scanning and appraising the environment.
Organization appraisal, Dynamics, capability factors, Considerations, Methods and techniques, Structuring,
Planning gaps analysis Manager Audit, significance of gaps.
Main Reading:
1. Kazni A., “ Business Policy”, Tata McGraw Hill, New Delhi, 1992.
2. Johnson G. et al. 3rd edition, “ Exploring corporate Strategy”, Prentice Hall of India, New Delhi,
1994.
5
2
683 – Investment Technology
Course Contents:
Main Reading:
1. Clark J.J. et al, “ Financial Management A capital Market Approach “, Helbrook, 1976.
2. Sharpe W.F, “ Investments”, Prentice Hall of India, new Delhi, 1996.
5
3
684 – Business Finance
Course Contents:
Financial and economic development, Intermediation, role and Patterns, Functions of money and capital
market, Interest rates Determination, term structure.
Primary capital market, new issues, growth and trends, Financial Intermediaries, merchant bankers,
managers, brokers, underwriters Secondary market - organization and functioning. Trading and Settlement.
Problems relating to membership, commission, margins, arbitration and off-floor trading. Reforming the
markets SEBI.
Market for government securities - the discount and finance house. Operation and managerial problems of
commercial banks, Inter-bank call money market. Non-banking financial institutions, leading policies,
schemes, composition and quantum of assistance of IDBI, IFCI, ICICI, UTI, LIC, GIC and state level
financial corporations.
Credit rating information, Parameters, Role Agencies, CRISIL, Regulatory framework for financial markets
and institutions, regulations versus deregulation, Role of RBI, Bank rate, open market operation policies.
Main Reading:
1. Copeland T.E. et al, “ Financial theory and Corporate Policy”, Addison Wesley, Reading MA,
1988.
2. Uppal J.S, “ Public Financial Institution s in India”, Mac Milan, New York, 1984.
5
4
685 – Management Information Systems
Course Contents:
The course will discuss a variety of framework for identifying information technology applications. The
scope of IT applications would cover Management Information System, Decision Support System,
Executive Information System and Expert System.
Provide a broad understanding of the types of benefits information technology applications can provide in
an organization through transaction processing management and operational control, decision support
system, office automation, organizational communication and group work support.
Socio-economic environment and information technology theoretical in social analysis of computing role
of information systems in organization and the impact of information system on organizations markets,
frameworks for information system planning information systems and competitive advantages, the new
strategic role of information system, methodologies for evaluating investments in IT, framework and
methodologies should be discussed and illustrated with case studies.
Design reporting system including of discussion of principles in indicator design, managing information
support activity in organization, concept of the business process reengineering (BPR) an how IY can enable
BPR.
Critical success factor in implementing IT applications including the need for managing the process of
change illustrated through case students of successful/failed IT projects. Critical role of security in
implementing IT applications should be discussed.
5
5
686 – Electronic Commerce
Course Contents:
Main Reading:
1. Ravi Kalakota and Andrew Whinston, “ Frontiers of Electronic Commerce” . Addison-Wesley,
1999.
2. Kamlesh Agarwala et.al, “ Business on the net” An Introduction to the What and How of E-
Commerce“ .
5
6
687 – Organizational Behaviour
Course Contents:
Case method and lectures should be supplemented with a variety of other methodologies such as feedback
on questionnaires and tests, role plays, and behaviour simulation exercise.
Main Reading
1. Arnold, John, Robertson, Ivan T. and Cooper, Cary L., “ Work Psychology : Understanding
Human Behavior in the Workplace”, Macmillan India Ltd., Delhi, 1996.
2. Dwivedi, R.S. “ Human Relations and Organizational Behavior, “ A Global Perspective”,
Macmillan India Ltd., Delhi, 1995.
3. French and Bell (4th ed.), ” organizational Development : Behavioral Science Interventions for
Organization Improvement”, Prentice Hall of India Pvt. Ltd., New Delhi, 1994.
4. Hellriegel, Slocum and Woodman, “Organizational Behavior” West Publishing Co.USA,1986.
5. Hersey and Blanchard (6th ed.), “ Management of Organizational Behavior Utilizing Human
Resources”, Prentice Hall of India Pvt. Ltd., New Delhi, 1996.
6. Prasad Kesho, “ Organizational Development of Excellence”, Macmillan India Ltd. New Delhi,
1996.
7. Robbins (4th ed.), “ Essentials of Organizational Behavior”, Prentice Hall of India Pvt. Ltd., New
Delhi, 1995.
8. Scehrmerhorn, Hunt and Osborn, “Managing Organization Behavior”, John Willey & Sons, USA
1982.
9. Weston Mergers, “Restructuring and Corporate Control”, Prentice Hall of India Pvt. Ltd., New
Delhi, 1995.
5
7
688 – System Analysis and Simulation
Course Contents:
Rule of Modelling in Systems Analysis, Computer Simulation of Stochastic System. Generation of Pseudo-
Random Numbers and Stochastic Variants using the computer.
Simulation of Queuing Systems. Using special purpose languages for simulation of queuing systems. GPSS
and / or SLAM system Dynamics.
Simulation of System with feedback : using DYNAMO in System Dynamics. Cases on Simulation in
Production, Finance, Marketing and Corporate Planning, Project work.
Main Reading:
1. Banks J. Carson S. Nelson B.L, “ Discrete-Event System Simulation”, (2nd Edition), Prentice Hall
of India, New Delhi, 1996.
2. Deo N., “ System Simulation with Digital Computers”, Prentice hall of India,1979.
3. Law A.M. and Kelton W.D, “simulation Modeling and Analysis”, (2nd edition), McGraw Hill
N.Y., 1991.
5
8
689 – Foundation of Decision Processes
Course Contents:
Role of decision making in management, Framework, Criteria under conditions of certainty, risk and
uncertain, Bays theorem, Sequential decision making, decision tree analysis.
Theory of utility. Utility function curve, Competitive game theory, Queuing models, Single channel, single
phase waiting line with Poisson. Distributed arrival rates and exponentially distributed service times.
Markov models.
Simulation : Monte Carlo Application to queuing and inventory Models. Application in functional areas of
marketing, production, Finance, Behavioural aspects in decision making, open and closed models of
decisions.
Systematic problem analysis and decision making. Decision making in functional areas-case studies.
Main Reading
1. Gregory G., “ Decision analysis”, Pitman London, 1988.
2. Johnson R.D. et al, “Quantitative Techniques for Business Decisions”, Prentice Hall, N.J., 1977.
5
9
690 – Taxation Practices
Course Contents:
Assessments of undivided families, Meaning Basic condition, taxable Income, Partitions, Tax planning,
Assessment of firms and Associations, Scheme of taxation types, treatment of losses, Tax Planning.
Assessment of companies Types profits, depreciation, tax Planning, Section 80, Bonus issues, divided
policy, Return of income and assessment procedure Types of assessment, Time limits, Reassessment
Cooperatives.
Collection and recovery of tax Deduction at source, rates advance payment, Modes of recovery, Refund
Appeals and revision Penalties.
Wealth Tax Chargeability, valuation, return, appeals, revisions, payment and recovery, gift tax chargeability,
rebate, assessment, appeals, revision, payment and recovery.
Central sales tax, Concept of sale and purchase, Inter-state trade, Inter-state export and import trade, State
sale tax: Assessing authority, Single, Multiple point tax, Procedure for registration and cancellation,
Returns payment appeals and revisions.
Main Reading :
1. Central and State tax acts.
2. Sinhania V.K. , Taxman direct taxes, Taxman, New Delhi, 1996
6
0
691 – Accounting and Financial Management
Course Contents:
Budgeting
Meaning, Importance and Objective of budgeting in an Organization, Different types of Budgets including
preparation of cash Budget, fixed and flexible budget, Zero based budgeting.
Main Reading
6
1
1 Pandey I. M., “Financial Management”, 7th Edition, 2002, Vikas Publishing Pvt Ltd.
2 M. Y. Khan and P.K. Jain, “Management: Accounting” 2 nd Edition1995, Tata McGraw-Hill
Publishing New Delhi
3 Maheshwari S.N. “Accounts” 2002, Vikas Publishing Pvt. Ltd.
6
2
692 - Management Fundamentals & Information System
Course contents:
Introduction to Management
Understanding the meaning and definition of Management; Nature of Management; Importance of
Management; An overview of Management processes; Evolution of management thought.
Functions of Management
Planning: Strategy, types of plans, Decision making, SWOT analysis. Forecasting, tools for forecasting.
Organizing: Principle and Structure of Organization, Theories and types of Organization, Concept of
Authority, Responsibility Power, Delegation & centralization of Authority. Span of control.
Staffing: Meaning, nature and principles of staffing, Recruitment, Selection, Training, Performance
Appraisal.
Controlling: Controlling - Tools, Budgeting – tools and techniques, Communication in Organization,
Motivation, Leadership
Marketing Management
Overview of Marketing functions, Product, Price Promotion and distribution strategies Marketing research
and its Role. Business to Business Marketing, Export, Import Management
Financial Management
Accounting Principles, Balance Sheet and profit loss statement. Working capital Management. Cost concept
Break even analysis, Investment decision – Pay back period NPV, IRR
Current Issues
Role of Internet and intranet in development of various information systems: E-Commerce, ERP, CRM,
SCM.
Global Perspectives to Management; International marketing, International HR;
Essentials of Entrepreneurship – Writing a Business Plan, Funding Agencies
Main Reading
1. Harold Koontz and Heinz Weihrich, “Essentials of Management” 5th Edition Tata McGraw-Hill
Publishing New Delhi
2. C.B. Gupta “Management Concepts and Practices” 2002 Sultan Chand, New Delhi.
3. W.S. Jawadekar, “Management Information Systems”, 1 st Edition 1999, Tata McGraw-Hill
Publishing New Delhi
4. K. C. Laudon and J. P. Laudon, “ Management Information Systems: Organization and Technology” 4 th
Edition, Prentice Hall India New Delhi
6
3