cse-curiculum 14-02-08 final

46
1 AMRITA VISHWA VIDYAPEETHAM AMRITA SCHOOL OF ENGINEERING BTECH, COMPUTER SCIENCE AND ENGINEERING CURRICULUM (2007 Batch) SEMESTER III Credits: H=2 M=3 C=16 Total=21 SEMESTER IV Cat. Code Title L T P Cr H Environmental Science and Engineering. 3 0 2 4 M Mathematics Elective II 3 0 0 3 H Technical Communication 1 0 2 2 S Science Elective I 3 0 0 3 C CS202 Operating Systems: Principles and Design 3 0 0 3 C EC Microprocessor and Micro Controller 2 1 0 3 C CS204 Design and Analysis of Algorithms 3 0 0 3 C CS292 Principles of Operating Systems Laboratory 0 0 3 1 C EC Microprocessor and Micro Controller Laboratory 0 0 3 1 Credits: H=6 M=3 S=3 C=11 Total=23 Cat. Code Title L T P Cr M Mathematics Elective I 3 0 0 3 H Business Communication 1 0 2 2 C CH Material Science 3 0 0 3 C EC Digital Systems 3 0 0 3 C CS201 Data Structures 3 1 0 4 C IT205 Computer Organization and Architecture 3 1 0 4 C EC Digital Systems Laboratory 0 0 3 1 C CS291 Data Structures Laboratory 0 0 3 1

Upload: shrey-khokhawat

Post on 06-Apr-2015

204 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: CSE-Curiculum 14-02-08 Final

1

AMRITA VISHWA VIDYAPEETHAM AMRITA SCHOOL OF ENGINEERING

BTECH, COMPUTER SCIENCE AND ENGINEERING CURRICULUM (2007 Batch)

SEMESTER III

Credits: H=2 M=3 C=16 Total=21 SEMESTER IV

Cat. Code Title L T P Cr H Environmental Science and Engineering. 3 0 2 4

M Mathematics Elective II 3 0 0 3

H Technical Communication 1 0 2 2

S Science Elective I 3 0 0 3

C CS202 Operating Systems: Principles and Design 3 0 0 3

C EC Microprocessor and Micro Controller 2 1 0 3

C CS204 Design and Analysis of Algorithms 3 0 0 3

C CS292 Principles of Operating Systems Laboratory 0 0 3 1

C EC Microprocessor and Micro Controller Laboratory 0 0 3 1

Credits: H=6 M=3 S=3 C=11 Total=23

Cat. Code Title L T P Cr

M Mathematics Elective I 3 0 0 3

H Business Communication 1 0 2 2

C CH Material Science 3 0 0 3

C EC Digital Systems 3 0 0 3

C CS201 Data Structures 3 1 0 4

C IT205 Computer Organization and Architecture 3 1 0 4

C EC Digital Systems Laboratory 0 0 3 1

C CS291 Data Structures Laboratory 0 0 3 1

Page 2: CSE-Curiculum 14-02-08 Final

2

SEMESTER V

Cat. Code Title L T P Cr

S Science Elective II 3 0 0 3

C Core Elective I 3 0 0 3

C CS301 Database Management Systems 3 1 0 4

C EC Introduction to Digital Signal Processing 2 1 0 3

C IT315 Computer Networks 3 1 0 4

C CS303 Software Engineering 3 0 0 3

C CS391 Database Management Systems Laboratory 0 0 3 1

C CS393 Computer Networks Laboratory 0 0 3 1 Credits: S=3 C=19 Total=22

SEMESTER VI

Cat. Code Title L T P Cr

C Core Elective II 3 0 0 3

M Mathematics Elective III 3 0 0 3

C CS302 Formal Languages and Automata 3 1 0 4

C CS304 Software Design and Modeling 3 0 0 3

C CS306 Intelligent Systems 3 0 0 3

C CS308 Net-Centric Programming 3 1 0 4

C CS392 Software Design and Modeling Laboratory 0 0 3 1

C CS394 Net-Centric Programming Laboratory 0 0 3 1 Credits: M=3 C=19 Total=22

Page 3: CSE-Curiculum 14-02-08 Final

3

SEMESTER VII

Cat. Code Title L T P Cr H Management Elective 3 0 0 3

C Core Elective III 3 0 0 3

C Core Elective IV 3 0 0 3

C Core Elective V 3 0 0 3

C CS401 Computer Graphics and Visualization 3 1 0 4

C CS403 Computer Language Engineering 3 1 0 4

C CS491 Computer Graphics and Visualization Laboratory 0 0 3 1

C CS493 Computer Language Engineering Laboratory 0 0 3 1

Credits: H=3 C=19 Total=22

SEMESTER VIII

Cat. Code Title L T P Cr

H CS402 Software Project Management 3 0 0 3

C Core Elective VI 3 0 0 3

P Special Elective * 3 0 0 3

P CS499 Project 8

Credits: H=3 C=3 P=11 Total=17

*Registration in the 6th semester and evaluation in the 8th semester Total Credits: 49 + 21 + 23 + 22 + 22 + 22 + 17 = 176

Page 4: CSE-Curiculum 14-02-08 Final

4

Elective Courses in B.Tech. Computer Science and Engineering

Elective Focus Code Subject L T P CrGE CS321 Human Computer Interface 3 0 0 3

GE ECxxx Principles of Communication Engineering 3 0 0 3 I

GE CS323 Structure and Interpretation of Computer Programs 3 0 0 3

GE CS322 Operating System Internals 3 0 0 3

GE CS324 Hardware Testing and Fault Tolerance 3 0 0 3 II

GE ECxxx Embedded Systems 3 0 0 3 NC CS421 Parallel and Distributed Computing 3 0 0 3 CI CS423 Pattern Recognition 3 0 0 3 DT CS425 Advanced Databases 3 0 0 3 SD IT322 Software Quality Management 3 0 0 3

III

IA CS427 Principles of Digital Image Processing 3 0 0 3

NC CS429 Computer Systems Engineering 3 0 0 3 CI CS431 Soft Computing 3 0 0 3 DT CS433 Multimedia Databases 3 0 0 3 SD CS435 Component-Based Development 3 0 0 3

IV

IA CS437 Computer Vision 3 0 0 3 NC CS439 Cryptography 3 0 0 3

CI CS441 Data Warehousing and Data Mining 3 0 0 3

DT CS443 Decision Support Systems 3 0 0 3 SD CS445 Software Evolution 3 0 0 3 IA IT439 Data Compression 3 0 0 3

V

GE IT431 Bioinformatics 3 0 0 3 NC IT445 Mobile and Wireless Networks 3 0 0 3 CI CS422 Evolutionary Computing 3 0 0 3 DT CS424 Database Administration 3 0 0 3 SD CS426 Agile Software Development 3 0 0 3 IA CS428 Digital Watermarking 3 0 0 3 CI CS430 Computational Finance 3 0 0 3 DT CS432 Information Retrieval 3 0 0 3 SD CS434 Design Patterns 3 0 0 3

VI

IA CS436 Image Analysis 3 0 0 3 ME Operations Research 3 0 0 3 ME Total Quality Management 3 0 0 3 ME Financial Management 3 0 0 3 CS447 Principles of Management 3 0 0 3 CS449 Software Business 3 0 0 3

Management Elective

IT470 Management Information Systems 3 0 0 3

Page 5: CSE-Curiculum 14-02-08 Final

5

The electives have been classified based on the following Focus areas:

Focus Area AcronymNet-Centric Computing NC Computational Intelligence CI Database Technology DT Software Development SD Image Analysis IA General Electives GE

Page 6: CSE-Curiculum 14-02-08 Final

6

CS201 DATA STRUCTURES 3-1-0-4

Introduction: Abstract Data Type – Arrays - Classes – Templates – STL.

Analysis Tool: Pseudo-code – Mathematical background - Asymptotic notation and analysis.

Stacks, Queues, Linked list, and Recursion: Using recursion- linear, binary, and multiple

recursions, Stack - ADT, Array based implementation, implementing recursion and function

calls, Queues - ADT, Array based implementation, Double-ended queue, Circular queue,

Linked list - ADT, Singly LL, Doubly LL, Circular LL, Stack and Queue implementation –

Complexity.

STL: Vector – Lists - Sequences – Iterators - Hierarchy sequence of ADT’s

Trees: ADT - Basic tree traversals - Binary tree - Data structure for representing trees,

Priority queues: ADT - Implementation- Heaps, Types of trees – Binary search tree, AVL

tree, (2,4) tree, Red-Black tree, B and B+ trees- Complexity.

Graphs: ADT- Data structure for graphs - Basic traversal- Directed graphs - Weighted

graphs - Definition of spanning tree.

Dictionaries and Hashing: Dictionary ADT - Hash tables - Skip List - Complexity.

TEXT BOOKS:

1. Adam Drozdek, Data Structures and Algorithms in C++, Third Edition, Course

Technology, 2004.

2. Michael T. Goodrich, Roberto Tamassia and David M. Mount, Data Structures and

Algorithms in C++, Wiley publication, 2004.

REFERENCES:

1. Robert Kruse, C.L.Tondo and Bruce Leung, Data Structure and Program Design in

C, Prentice Hall of India Private Ltd, 2002

2. Jean –Paul, Tremblay and Paul G. Sorenson, An Introduction to Data Structures with

Applications, Tata McGraw-Hill, Second Edition, 2002.

Page 7: CSE-Curiculum 14-02-08 Final

7

CS202 OPERATING SYSTEMS: PRINCIPLES AND DESIGN 3-0-0-3

Hardware and Operating System Structures: Introduction – Definition - History –

Services and Structure

Concurrency: Processes and Threads - Thread Dispatching - Cooperating Threads

Process Synchronization: Inter-process communication - Implementing Mutual Exclusion –

Semaphores - Monitors and Condition Variables - Readers/Writers - Language Support for

Synchronization - Cooperating Processes and Deadlock - Resource allocation - Performance

evaluation - CPU Scheduling

Protection: Kernel and Address Spaces - Address Translation - Memory allocation and

segmentation - Caching and TLBs Caching and Demand paging

Survey of I/O systems and Storage Devices: File system and disk management - Naming

and directories

Basic Networking and Protocols: Distributed file systems - Network Protocols - Network

Communication Abstractions/RPC - Security and privacy

TEXT BOOKS:

1. Silberschatz, Galvin, Operating Systems concepts, John Wiley and Sons, Seventh

Edition, 2002

2. William Stallings, Operating Systems, Prentice Hall, Fifth Edition, 2005.

REFERENCES:

1. D.M.Dhamdhere, Operating Systems, Tata Mc-Graw Hill Publishing Company

Limited, Second Revised Edition, 2004.

2. Pramod Chandra P. Bhatt, An Introduction to Operating System: Concepts and

Pratice, Prentice Hall of India Ltd, Second Edition, 2006.

3. Gary Nutt, Operating Systems, Addison-Wesley, Third Edition, 2003.

Page 8: CSE-Curiculum 14-02-08 Final

8

CS204 DESIGN AND ANALYSIS OF ALGORITHMS 3-0-0-3

Introduction: Growth functions - Recurrence relation

Divide and Conquer: Quick sort - Merge sort - Lower bounds - Heap sort - Shell sort -

Radix sort - Comparisons of sorting - Matrix multiplication – FFT - Convex hull.

Adversary Argument: MAX-MIN problem - Finding Second largest key.

Greedy Algorithm: Dijkstra’s Single-Source shortest path - Prim’s and Kruskal’s minimum

spanning tree.

Dynamic Programming: Multistage graph - Matrix multiplication problem - Optimal binary

search tree

Backtracking: N-Queens problem - Knapsack problem.

Branch and Bound: 0/1 Knapsack - Traveling salesman problem

Text Processing: Straightforward algorithm - Knuth-Morris-Pratt algorithm

NP Problems: Definition - P, NP, NP complete, NP hard & Co-NP, Examples - P⊆NP,

Introduction to Approximation algorithms - Online algorithms - Parallel and Randomized

algorithms.

TEXT BOOKS:

1. Sara Baase, Allen Van Gelder, Computer algorithms- Introduction to Design and

Analysis, Pearson Education Asia, 2002.

2. Ellis Horowitz, Sartaj Sahni and S Rajasekaran, Fundamentals of Computer

Algorithms, Galgotia, 1998.

REFERENCES:

1. Thomas.H.Cormen, Charles.E.Leiserson, Ronald.L.Rivest, Clifford Stein,

Introduction to Algorithms, Prentice Hall of India Private Limited, 2001.

Page 9: CSE-Curiculum 14-02-08 Final

9

2. Alfred Aho, John E.Hopcroft, Jeffery Ullman, Data Structures and

Algorithms, Addison Wesley, 1983.

CS291 DATA STRUCTURES LABORATORY 0-0-3-1

Note: Lab to be conducted in C++

1. Implementing Sample ADT, Templates.

2. Stacks and Queues: Array implementation, Applications, Using STL.

3. Linked list: Implementation, Linked Stacks, D-Queue, Circular Queue

4. Implementing STL: Vector, Lists, Sequences, Iterators

5. Trees: Binary search tree, Priority Queue, Heaps, AVL, Red-Black Tree

6. Graph Traversals: BFS, DFS

7. Hashing: Hash Table creation.

CS292 PRINCIPLES OF OPERATING SYSTEMS LABORATORY 0-0-3-1

1. Basic UNIX commands, File Creation, Manipulation commands in OS level, working

with files, sort, grep, cut, paste, copy, move.

2. Shell Programming commands- echo, read, append, exec, Command Line Arguments,

AWK programming, Environment Variable Handling, Changing user settings.

3. Implementation of scheduling algorithms.

4. Simulation of paging, segmentation.

5. Working with File Systems.

6. Process Management – Fork, exec.

7. Creation and Manipulation of Message Queues, Pipe, FIFO.

8. Handling Signals.

9. Programming in Shared Memory and Semaphores.

10. Critical Section problem for 2 processes, n processes.

11. Banker’s algorithm for deadlock avoidance.

CS301 DATABASE MANAGEMENT SYSTEMS 3-1-0-4

Introduction and the Relational Model: History and Introduction to DBMS - Data models.

Structure of Relational Databases - Fundamental Relational-Algebra Operations - Additional

Relational Algebra Operations.

Page 10: CSE-Curiculum 14-02-08 Final

10

Database Design: Overview of the Design Process - The Entity-Relationship Model –

Constraints - Entity-Relationship Diagrams - Entity-Relationship Design Issues - Weak

Entity Sets - Extended E-R Features - Reduction to Relational Schemas.

Relational Database Design: Features of Good Relational Designs - Atomic Domains and

1NF, 2NF, 3NF, 4NF, lossless decomposition, LJNF - Decomposition Using Functional

Dependencies - Functional-Dependency Theory - Decomposition Using Functional

dependencies - Decomposition Using Multi-valued Dependencies – PJNF and DKNF.

SQL: Background - SQL Data Types and Schemas - Integrity Constraints – Data Definition

- Basic Structure of SQL Queries - Set Operations - Aggregate Functions - Null Values -

Nested Sub queries - Complex Queries - Views - Join Relations – Authorization - Functions

and Procedural Constructs – Embedded SQL

Indexing and Hashing: Basic Concepts - Ordered Indices - B+-Tree Index Files - B-Tree

Index Files - Multiple-Key Access - Static Hashing - Dynamic Hashing - Comparison of

Ordered Indexing and Hashing - Bitmap Indices - Index Definition in SQL.

Introduction to Transaction Processing and Concurrency Control.

TEXT BOOK:

Abraham Silberschatz, Henry F.Korth and S.Sudharshan, Database System Concepts,

Tata McGraw-Hill Publishing Company Limited, Fifth Edition, 2005

REFERENCES:

1. Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems,

Addison Wesley, Fifth Edition, 2006

2. C.J. Date, An Introduction to Database Systems, Addison Wesley, Eighth Edition,

2003 (For SQL portions)

3. Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems,

McGraw-Hill, Third Edition, 2003.

Page 11: CSE-Curiculum 14-02-08 Final

11

CS302 FORMAL LANGUAGES AND AUTOMATA 3-1-0-4 Automata and Languages: Introduction Finite Automata - Regular Operations -

Nondeterministic Finite Automata - equivalence of NFAs and DFAs - Regular Expressions -

Non-Regular Languages - Pumping Lemma for regular languages - Context free languages –

Chomsky normal form – Push Down Automata - Pumping lemma for context free language.

Computability Theory: Turing Machines – Non-deterministic Turing Machines –

Undecidability - PCP Computation histories - Reducibility

TEXT BOOKS:

Peter Linz, An Introduction to Formal Languages and Automata, Narosa publishing

house, Fourth Edition, 2007.

REFERENCES:

1. Sipser, Michael, Introduction to the Theory of Computation. 2nd ed. Boston, MA:

Course Technology, 2005. ISBN: 0534950973.

2. Martin, John, Introduction to Languages and the Theory of Computation, New York,

NY: McGraw Hill, 2002. ISBN: 0072322004.

3. Garey, Michael, and David S. Johnson. Computers and Intractability: A Guide to the

Theory of NP-Completeness. New York, NY: W.H. Freeman and Company, 1979.

ISBN: 0716710455.

CS303 SOFTWARE ENGINEERING 3- 0- 0-3

Software Process: Software Engineering concepts - A Generic view of Process - Process

Models – Waterfall model, Incremental process model, Evolutionary process models,

Specialized process models, Unified process models - Agile view of process.

Software Engineering Practice: System Engineering - Requirements Engineering: Building

the Analysis Model - Design Engineering - Creating an Architectural Design.

Testing: Testing Strategies - Testing Tactics - Product Metrics.

Page 12: CSE-Curiculum 14-02-08 Final

12

Managing Software Projects: Metrics for Process and Projects - Risk Management -

Quality Management - Change Management.

Reengineering: Business Process Reengineering, Software Reengineering, Reverse

Engineering.

TEXT BOOK:

Roger S Pressman, Software Engineering – A Practitioner’s Approach, McGraw- Hill

Publishers, Sixth edition, 2005.

REFERENCES:

1. Pankaj Jalote, An Integrated Approach to Software Engineering, Narosa Publishers,

Second Edition, 2005.

2. Ian Sommerville, Software Engineering, Addison Wesley, Sixth Edition, 2003

3. Glenford J.Myers, Corey Sandler, Tom Badgett, Todd M.Thomas, The Art of

Software Testing, Wiley Publications, Second Revised(Updated) Edition, 2004.

CS304 SOFTWARE DESIGN AND MODELING 3-0-0-3

Introduction to Software Design: Overview of Software Design - Software Design Process-

Software Design Concepts - Overview of Software Design Methods.

Survey of Software Design Methods: Structured Design: Functional Modeling -

Transform analysis - Transaction analysis - Conversion of DFD’s to structure charts

(transform and transaction mappings) - Structure Charts - Notations for Structure Charts -

Module Coupling and Cohesion.

Concurrent Design Methods: DARTS (Design Approach for Real Time Systems) -

concurrent task design -task interface design. Jackson System Development

Overview of Object-based and Object-Oriented Methods: Object Oriented Design - UML

- Object Oriented Design using CRC - Overview of ADARTS (Ada based Design Approach

for Real Time Systems) - CODARTS (Concurrent Design Approach for Real Time Systems).

Overview of Pattern Based Software Design.

Page 13: CSE-Curiculum 14-02-08 Final

13

Comparison of Software Design Methods: Object Oriented Analysis and Design and UML

(Unified Modeling Language (UML) notation) - Structured Analysis and design and Object

Oriented Analysis and Design - Object-Oriented Software Life Cycle.

Use Case Modeling: Use cases - actors - use case associations - Case study for use cases

Static Modeling: Classes and relationships - Associations and links – Composition /

aggregation hierarchy – Generalization / specialization hierarchy - Inheritance - Case study

for classes.

Object and Class Structuring: Objects and classes - Object structuring criteria - Interface

objects - Entity objects - Control objects - Application logic objects - Case study.

Dynamic Modeling: Object interaction - Message sequencing

Dynamic Analysis: From use case model to object interaction model - Case study.

TEXT BOOKS:

1. H. Gomaa, Designing Concurrent, Distributed, and Real-Time Applications with

UML, Addison-Wesley Object Technology Series, July 2000.

2. G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language User Guide,

Addison Wesley Object Technology Series, Second Edition, 2005.

REFERENCES:

1. T. Quatrani, Visual Modeling with Rational Rose 2000 and UML, Addison Wesley,

1999.

2. Roger S. Pressman, Software Engineering, A Practitioner’s Approach, McGraw Hill ,

2005.

3. Ali Bahrami, Object Oriented Systems Development, McGraw-Hill International

Editions, 1999.

CS306 INTELLIGENT SYSTEMS 3-0-0-3

Introduction: Definition of AI – Foundations – History - Intelligent Agents

Page 14: CSE-Curiculum 14-02-08 Final

14

Logic Reasoning: Predicate Logic, Prepositional Logic, First Order Logic - Theorem, and

Situation Calculus.

Problem Solving: Heuristic Search Techniques - Problems on Constraint Satisfaction and

Stochastic Search techniques.

Game Theory: Min-Max problems - Alpha-Beta Pruning - SSS* Algorithm.

Semantic Nets / Description matching / Frames / Rules: Knowledge representation –

Inheritance - Forward / Backward Chaining - Probabilistic Reasoning - Bayesian networks.

Planning and Learning: Representation For Planning - Partial order Planning Algorithm -

Overview of different forms of learning - Inductive Learning. Communicative Agents -

Types of communicating Agents.

Decision-Making: Simple and Complex Decisions - Decision Trees.

Applications as Seminar Topic: Parallel and Distributed AI - Natural Language Processing

- Knowledge based Aircraft Automation - AI in Defense and in Robotics - AI based

spacecraft automation.

TEXT BOOKS:

1. Stuart Russell and Peter Norvig, Artificial Intelligence- A Modern Approach, Prentice

Hall, Second Edition, 2002

2. Nils J Nilsson, Principles of Artificial Intelligence, Narosa Publishing House, 2004.

REFERENCES

George J.Klir, Ute St. Clair and Bo Yuan, Fuzzy Set Theory: Foundations and

Applications, Prentice Hall, 1997

CS308 NET-CENTRIC PROGRAMMING 3-1-0-4

Introduction to Internet: The Domain name system – Client/Server model – Tools of the

Internet – Ports, IP addresses – standards: W3C – Services of Internet - E-Mailing Systems -

Web architecture – Parsers in Browser (Mozilla Firefox, IE) – Web site design standards.

Page 15: CSE-Curiculum 14-02-08 Final

15

Overview of Java: Data types, Variables, Arrays, Operators – Classes & Methods –

Inheritance – Packages and Interfaces – Exception Handling – Multithreaded programming –

Applets – Networking - Database connectivity.

Client-side Technologies: Introduction to Markup language (SGML, HTML, DHTML)–

Introduction to scripting languages (JavaScript/ VBscript / PHP) XML (DTD, Schema, Style

sheets, Parser) – Plug-ins.

Server-side Technologies: CGI (Perl basics, application development, database connectivity)

– Introduction to Web services. J2EE: Architecture – Servlets - Java Server Pages – Remote

Method Invocation – Java Beans.

Web Security: Internet Security – Network security and Firewalls- Proxy servers

TEXT BOOKS:

1. Jeffery Dwite, Michael Erwin and Robert Niles, Using CGI, Prentice Hall of India

Pvt Ltd, Second edition, 1997.

2. Walsh, Aaron E, J2EE a Professional Guide, Tata MC-Graw Hill, 2003

3. Thomas A Powell, The Complete Reference – HTML, Tata McGraw Hill, Third

Edition, 2000.

REFERENCES:

Keiko Pitter, Sara Amato, John Callahan et al, Every Students Guide to the Internet, Tata

Mc-Graw Hill, 2005.

CS321 HUMAN COMPUTER INTERFACE 3-0-0-3

Windows Programming Fundamentals: Different paradigms of programming - Event

Driven architecture – GUI concepts - Windows Programming fundamentals - Message

Driven Architecture - Message processing and Message loop. Data Types: Hungarian

notation – Handles - Device Context. Windows programs: Simple Window applications -

Handling Mouse - handling Keyboard -displaying text and graphics - creating and using

pens.

Page 16: CSE-Curiculum 14-02-08 Final

16

Visual C++ Programming: Introduction to VC++ - VC++ components – Types of

Applications in VC++: SDI – MDI - Dialog Based - Console based – Document-View

Architecture.

MFC: Fundamentals - Class Hierarchy - Message Handling – Using MFC classes:

CWinApp, CWnd, CString, Clist.

Using Controls: Edit box - Radio Button - Progress Bar – Slider - Up down control - List

View - Tree View, Labels, ActiveX.

Accessing Database in VC++: DAO and ODBC. - Synchronization classes - Thread,

Csemaphore - CMutex and CEvent.

TEXT BOOKS:

1. Charles Petzold, Programming Windows, Benjamin Cummins, Fifth Edition, 1998.

2. Kate Gregory, Using Visual C++, Prentice Hall of India Private Limited, 2002.

REFERENCES:

1. Herbert Schildt, MFC Programming from the Ground Up, Tata McGraw Hill

Publishing Company Limited, Second Edition, 2000.

2. John Paul Mueller, Visual C++ 6 from the Ground Up, Tata McGraw-Hill

Publishing Company Limited, 1998.

CS322 OPERATING SYSTEM INTERNALS 3-0-0-3

Introduction: The process model, virtual memory, threads, synchronization, and deadlock,

File systems, Interprocess communication, networking, and security - Architecture of Unix

Operating System – History - Kernel Data Structures.

File Sub-System And Process Sub-System: Process states and Transitions – Sleep and

Wakeup Processes - Buffer Cache – Internal Representation of Files – System Calls for the

File Systems. Process System Structure of Processes - Context – Address Space – Creation –

Page 17: CSE-Curiculum 14-02-08 Final

17

Termination – Changing the size of a Process – Process Scheduling and Memory

Management Policies

Swapping and Demand Paging: Hybrid system with Demand Paging and Swapping - I/O

System and IPC drivers Interfaces: Disk and Terminal Drivers – Streams - Process Tracking -

System V IPC - Sockets - Network Communication.

TEXT BOOK:

Bach M.J., The Design of the Unix Operating System, Prentice Hall of India Private

Limited, 1990.

REFERENCES:

1. Good heart B. Cox J, The Magic Garden Explained, Prentice Hall of India Private

Limited, 1994.

CS323 STRUCTURE AND INTERPRETATION OF 3-0-0-3 COMPUTER PROGRAMS Language Design Issues: Reasons for studying Concepts of Programming Languages-

Programming Domains - Language Evaluation Criteria - Influences on Language Design -

Language Categories - Language Design Trade-offs - Implementation Methods -

Programming Environments.

Describing Syntax and Semantics: Introduction - The General problem of Describing

Syntax - Formal methods of Describing Syntax - Attribute Grammars - Lexical and Syntax

Analysis - Introduction - Lexical Analysis - The parsing Problem – Parsers

Names, Bindings, Type Checking, and Scopes: Introduction – Variables - The concept of

Binding - Type Checking - Strong typing - Type Compatibility - Scope and Life time -

Referencing Environments - Named Constants - Variable Initializations.

Data Types: Introduction - Primitive Data Types - User Defined data types - Array Types -

Associative Arrays - Record Types - Union Types - Pointers and Reference Types

Page 18: CSE-Curiculum 14-02-08 Final

18

Expressions and Assignment Statements - Statement-Level Control Structures –

Subprograms - Abstract Data Types and Encapsulation Constructs: The concept of

Abstraction - Design issues for Abstract Data Types - Parameterized Abstract Data Types –

Encapsulation Constructs and Naming Encapsulations.

TEXT BOOK:

Robert W Sebesta, Concepts of Programming Languages, Sixth Edition, Addison

Wesley, 2003

REFERENCES:

1. Harold Abelson and Gerald Jay Sussm, Structure and Interpretation of Computer

Programs, MIT Press, Second Edition, 1996, ISBN: 0262011530

2. Ravi Sethi, Programming Languages Concepts and Constructs, Addison Wesley,

Second edition, 1996.

3. W. Pratt Terrence, Marvin V. Zelkowitz, Programming Languages Design and

Implementation, Pearson Education, 2001.

CS324 HARDWARE TESTING AND FAULT TOLERANCE 3-0-0-3

Introduction to Testing: A unified presentation of approaches for testing and diagnosis of

computer hardware - Test economics - Gate-level testing- Gate-level testing of stuck-at and

bridging faults - functional testing and random testing.

Testability analysis: Testing by Boolean differences and path sensitization - Testing of

microprocessors and computer memories - Built-in self-testing - Psuedo Exhaustive Testing -

random testing-Memory testing - Design for testability. Board and system level testing and

diagnosis - IDDQ testing

Fault Tolerance: Introduction - FT design methodology. Hardware redundancy - TMR,

GMR, fault sieving - Information redundancy, parity codes, arithmetic codes - Residue

codes, Hamming codes - Reed-Muller codes, cyclic codes - Galois fields, BCH and Reed-

Solomon codes, byte error detection - Convolution codes - Time redundancy.

TEXT BOOKS:

1. A. Miczo, Digital Logic Testing and Simulation, Wiley, 2003

Page 19: CSE-Curiculum 14-02-08 Final

19

2. N.Jha, S.Gupta, Testing of Digital Systems, Cambridge University Press, 2003

3. Lin, S., Costello, D.J, Error Control Coding: Fundamentals and Applications,

Prentice-Hall, 1983, ISBN 0-13-283796-X

CS391 DATABASE MANAGEMENT SYSTEMS LABORATORY 0-0-3-1

1. Working with Objects using SQL for the following: Data Definition Language:

Create, Alter, Grant, Revoke, Drop, Truncate. Data Manipulation Language: Select,

Insert, Update, Delete. Transaction Control Statements - Commit, Rollback, Save

Point.

2. Constraints-Queries: Simple Selection, Projection, and Selection with Conditions.

3. Functions: Aggregate functions, Group by, Order By, Date, and conversion functions

4. Set operators, Joins, Sub Query: Simple, Nested, Co-related, Existence test,

Membership test, DDL and sub queries, and DML and Sub queries

5. Working with Other schema objects: View, Sequence, Index, Synonym, Cluster, lock,

BLOB, CLOB, Nested table, Type.

6. PL/SQL programs, Cursors, Functions, Procedures, Packages, Triggers, Exception

Handling

7. Front End Tool: Forms Creation, Validation, Triggers, and Report Generation

8. Mini Project

CS392 SOFTWARE DESIGN AND MODELING LABORATORY 0-0-3-1

1. Analysis - Requirement specification report.

2. Software requirement specification (SRS) preparation.

3. Data flow diagram design.

4. Use case model - identifying actors, identifying use cases, use case flow of events, data

dictionary creation. Create use case realization. Adding use case realization package,

adding use case realization to the browser, creation of trace abilities diagrams.

5. Activity diagram -identifying activities, adding start and end states, state transitions,

decisions and guard conditions.

6. Class design - Define operations, methods, states, attributes, dependencies, associations,

and generalizations, resolve use case collisions, adding role names and multiplicity.

Page 20: CSE-Curiculum 14-02-08 Final

20

7. Interaction diagrams - Creation of sequence diagram, auto generation of collaboration

diagram

8. Creation of deployment and component diagram.

CASE STUDIES: ATM system, Course Management System.

TOOL: Rational Rose with UML / Visual Modeler, VISIO tool, Magic Draw.

CS393 COMPUTER NETWORKS LABORATORY 0-0-3-1

1. Client Server communication using basic socket communication

2. Experimental study of application protocols such as HTTP, FTP, SMTP, using network

packet sniffers and analyzers such as Ethereal. Small exercises in socket programming in

C/C++/Java.

3. Packet sniffers for understanding the TCP protocol.

4. Using OS (netstat, etc) tools to understand TCP protocol FSM, retransmission timer

behavior, congestion control behavior.

5. File Transfer between nodes in a network.

6. Routing Algorithm behavior in terms of complexity.

7. Introduction to ns2 (network simulator) - small simulation exercises to study TCP

behavior under different scenarios.

8. Setting up a small IP network - configure interfaces, IP addresses and routing protocols to

set up a small IP network. Study dynamic behavior using packet sniffers

9. Experiments with ns2 to study behavior (especially performance of) link layer protocols

such as Ethernet and 802.11 wireless LAN.

10. Design and implementation of congestion control in TCP/IP network.

CS394 NET-CENTRIC PROGRAMMING LABORATORY 0-0-3-1 Net Centric Fundamentals and Client-side Technologies: Developing web pages -

Applying Style sheet features - Validating Inputs using Scripting language – Creating and

parsing XML documents – Applying style elements on XML Documents

Server-side Technologies: Creating CGI applications – Embedding components in Web

pages – Creating a simple web service - web servers (Tomcat, Apache, Web sphere, Web

logic etc in Windows and Linux platforms)

Page 21: CSE-Curiculum 14-02-08 Final

21

J2EE: J2EE application based on Servlets, JSP, RMI and Java Beans - different IDE’s (Sun

studio, Eclipse, Net Beans, etc)

Web Security: Building simple firewall and proxy server.

CS401 COMPUTER GRAPHICS AND VISUALIZATION 3-1-0-4

Introduction: Introduction. Computer graphics applications, Computer graphics hardware –

vector graphics devices, raster graphics devices. Graphics primitives – points and lines,

algorithms for drawing 2D primitives (line, circle), filling area-drawing algorithms (scan line,

boundary fill, flood fill) - Attributes of primitives.

Geometrical Transformations: Basic transformations - translation, scaling, rotation, 2D and

3D-Matrix representation - Homogeneous coordinates - Composite transformation, other

transformations - shear, reflection.

Two Dimensional Viewing: Windows - View ports - Window to viewport transformation,

Clipping operations - Point and line clipping (Cohen Sutherland algorithm, Liang Barsky

algorithm) - 3D Viewing Pipeline - Viewing Coordinates - Transformation from world to

viewing coordinates – Projections - Parallel projections - Perspective projections.

Three-dimensional Object Representation: Polygon surfaces - polygon tables - plane

equations - polygon meshes - parametric representation of curves (Bezier, B-Spline curves) -

parametric representation of surfaces - Octrees -Fractals.

Hidden Line and Hidden Surface Elimination: Z buffer-Scan line - Depth sorting – Area

subdivision - Octree methods - Ray casting.

Multimedia Systems: Introduction – Audio (speech and music): capture and properties,

Video and image: capture, artifacts and properties - Color Models: Illumination & rendering,

light sources, ambient light, diffuse reflection, specular reflection, basic illumination models

Polygon rendering (Gouraud & Phong), Chromaticity diagram, Color models (RGB, CMY,

YIQ, HSV, HLS) - Animation and Morphing.

Page 22: CSE-Curiculum 14-02-08 Final

22

TEXT BOOKS:

1. Donald Hearn and M. Pauline Baker, Computer Graphics, Prentice Hall, Second

Edition, 1999.

2. John F. Koegel, G. Buford, Multimedia Systems, Addison Wesley Professional, 1994.

REFERENCES:

Roy A. Plastock & Gordon Kalley, Theory and Problems of Computer Graphics,

Schaum’s Outline Series, Tat McGraw-Hill Publishing Company Limited, 1986.

CS402 SOFTWARE PROJECT MANAGEMENT 3-0-0-3

Introduction to Software Project Management: Software Projects - ways of categorizing

software projects – problems with software projects - Project Life Cycle – Management -

Setting objectives –Stakeholders - Project Team - An overview of project planning - Project

evaluation - Selection of appropriate project approach.

Project Effort Estimation and Scheduling: Work breakdown Structure - software effort

estimation – function point analysis - object point – COCOMO - activity planning - project

schedules - sequencing and scheduling projects - Network planning model - identifying

critical activities - Risk management - Risk planning and control - Evaluating risks to the

schedule.

Resource Allocation, Monitoring and Tracking: Resource allocation - identifying resource

requirements - scheduling resources - creating critical paths - publishing schedule - cost

schedules - sequence schedule - Monitoring and control - Planning for small Projects.

Case Study: PMBOK, SWEBOK

TEXT BOOK:

Mike Cotterell, Bob Hughes, Software Project Management, inclination/Thomas

Computer Press, 2000.

Page 23: CSE-Curiculum 14-02-08 Final

23

REFERENCES:

1. Jack T Marchewka, Information Technology Project Management Providing

Measurable Organizational Value, Wiley Publication, 2006.

2. Darrel Ince.H Sharp and M.Woodman, Introduction to Software Project Management

and Quality Assurance, Tata Mc-Graw Hill, 1995.

3. Roger S Pressman, Software Engineering – A Practitioner’s Approach, McGraw- Hill

Publishers, Sixth edition, 2005.

CS403 COMPUTER LANGUAGE ENGINEERING 3-1-0-4 This course analyzes issues associated with the implementation of high-level programming

languages. Topics covered include: fundamental concepts, functions, and structures of

compilers, basic program optimization techniques, the interaction of theory and practice, and

using tools in building software. The course features a multi-person project on design and

implementation of a compiler that is written in Java® and generates MIPS executable

machine code.

Overview of Programming Languages: Regular Expressions - Language Specification by

Formal Grammars - Parse Table Construction - Top-down Parsing – Bottom-up Parsing.

Intermediate Representations: Semantic Analysis – Un-optimized Code Generation.

Introduction to Program Analysis and Optimization: Data-flow Analysis - Data-flow

Optimizations - Foundations of Data-flow Analysis - Instruction Scheduling - Register

Allocation.

TEXT BOOKS:

1. Appel, Andrew W., Modern Compiler Implementation in Java®, Cambridge, UK:

Cambridge University Press, 1997.

2. Aho, Alfred V., Ravi Sethi, and Jeffrey Ullman, Compilers: Principles, Techniques

and Tools, Addison-Wesley, 1986.

REFERENCES:

Page 24: CSE-Curiculum 14-02-08 Final

24

1. Muchnick, Steven, Advanced Compiler Design and Implementation, First Edition,

San Mateo, CA: Morgan Kaufman, 1997.

2. Cooper, Keith, and Linda Torczon, Engineering a Compiler, San Mateo, CA: Morgan

Kaufman, 2003.

CS421 PARALLEL AND DISTRIBUTED COMPUTING 3-0-0-3

Introduction: The Machines - The Software - The Reality of High Performance Computing

- Modern Algorithms – Compilers - Scientific Algorithms – History - State-of-Art and

Perspective - Things that are not Traditional Supercomputers Parallel Computing - PDC

models working mechanism - scalability of PDC architectures - applications.

Architectures: Description of cluster architecture and hardware/software elements of

network communication that support PDC - key high-speed networking technologies and

system level middleware.

Shared Memory Coordination: Inter-process Communication - Process in Distributed

Systems - Distributed File systems. Supercomputers with shared memory multiprocessors.

Programming: Course-grain parallelization of sequential programs - message passing

primitives - parallel programming in MPI - data parallel programming - mapping problem to

parallel systems - optimization of parallel programs to exploit architectural features.

Application level middleware and measurement and analysis of actual performance against

theoretical predictions. Parallel Virtual Machines.

Algorithms: Process-level parallelism - data-level parallelism - Problem partitioning divide-

and-conquer - Process communication and synchronization - Load Balancing and termination

detection - analysis of performance (speedup and efficiency). Tradeoffs between calculation

time and communication time.

TEXT BOOKS:

1. Barry Wilkinson and Michael Allen, Parallel Programming Techniques and

Applications using Networked Workstations and Parallel Computer, Prentice Hall,

Upper Saddle River 2004.

Page 25: CSE-Curiculum 14-02-08 Final

25

2. Andrew Tanenbaum, Distributed Operating Systems, Prentice Hall 1999.

REFERENCES:

Rishyur. S. Nikhil and Arvind, Implicit Parallel Programming in PH, Morgan

Kaufman, 2001.

CS422 EVOLUTIONARY COMPUTING 3-0-0-3 Introduction: Principles of evolutionary processes - evolutionary computing metaphor -

evolutionary systems as problem solvers - history of evolutionary computation - standard

instances of evolutionary computation - theoretical aspects and components of an

evolutionary algorithm - advantages and limitations of evolutionary computation over other

approaches

Genetic Algorithms: Evolution Strategies - Evolutionary Programming - Genetic

Programming – representation, recombination, mutation, parent selection and survivor

selection methods and applications - Learning Classifier Systems.

Parameter control in evolutionary algorithms: population structures - constraint handling

techniques - interactive evolution - efficient implementation of evolutionary algorithms - co-

evolutionary algorithms

Novel evolutionary algorithms: Swarm Intelligence methods – Ant Colony Optimization

(ACO) - Particle Swarm Optimization (PSO) - Artificial Immune Systems (AIS) - Bee

Colony Optimization (BCO) and their applications

TEXT BOOKS:

1. A. E. Eiben and J. E. Smith, Introduction to Evolutionary Computing, Springer -

Natural Computing Series, 2003.

REFERENCES:

1. Kenneth A. De Jong, Evolutionary Computation: A Unified Approach, MIT Press,

2002.

Page 26: CSE-Curiculum 14-02-08 Final

26

2. David Corne, Marco Dorigo and Fred Glover, New Ideas in Optimization, McGraw

Hill Education, 1999.

3. David B. Fogel, Evolutionary Computation: The Fossil Record, John Wiley-IEEE

Press, 1998.

CS423 PATTERN RECOGNITION 3-0-0-3 Introduction: Machine perception – Pattern recognition systems – Design cycle – Learning

and adaptation - Bayesian decision theory - minimum error rate classification – discriminant

functions – decision surfaces – normal density based discriminant functions -Maximum

likelihood estimation – Bayesian estimation – Bayesian parameter estimation – Gaussian

case – problems of dimensionality - Components analysis and discriminants – hidden

Markov models

Non-parametric Techniques: density estimation – parzen windows – nearest neighborhood

estimation – linear discriminant functions and decision surfaces – two category linearly

separable case – perception criterion function

Non Metric Methods: decision trees – CART methods – algorithm independent machine

learning- bias and variance – regression and classification - classifiers – Unsupervised

learning and clustering – mixture densities and identifiably – hierarchical clustering – low

dimensional representation – multidimensional scaling

TEXT BOOKS:

1. Richard O Duda, Peter E Hart, David G Stork,, Pattern Classification, John Wiley &

sons Inc., Second Edition, 2003.

2. Earl Gose, Richard Johnsonbaugh, Steve Jost, Pattern Recognition and Image

Analysis, Prentice Hall of India, 2002.

REFERENCES:

1. Christopher M. Bishop, Pattern Recognition and Machine Learning (Information

Science and Statistics), Springer, First edition, 2006, ISBN 978-0387310732

Page 27: CSE-Curiculum 14-02-08 Final

27

2. Christopher M. Bishop, Neural networks for Pattern Recognition, Oxford University

Press, 1995.

CS424 DATABASE ADMINISTRATION 3-0-0-3 Database Architecture: The models - The Database Instance - Connection & Sessions –

Physical and Logical Structure of a Database - Understanding the memory structure -

Understanding the process structure - Understanding the logical structure.

Creating a new database & Managing DB Instance: Creating a Database GUI & manual

– Initialization parameter file -Various options available to shutdown an instance Monitoring

Alert and Trace files - Understanding operating system and password file authentication

Managing Data Dictionary & Other Files: Data dictionary – Managing the data dictionary

- Control file - Log files - Control log switches and checkpoints – Managing Data files.

Managing Logical Data Storage Structure: Logical structure of the database (segments,

extents, blocks) - Creating and Managing Logical Storage Structure – Maintaining storage

structures manually - Mapping Logical Storage to Physical Storage – Managing DB Objects

Basic Net Architecture: Net architecture – Listener - Protocol – Port – Net Service - Session

– Managing & Configuring the Listener in the Server - Configuring the Net Service at the

client side.

Backup and Recovery Overview: Introduction to Backup & Recovery – Types of Failures –

Recovery Methods

Instance and Media Recovery Structures: Background Processes, Memory Structures, and

Files Relating to Recovery – Tune Instance Recovery - User-Managed Backup and Recovery

Operations - DB Verifier - Media Recovery - Transporting Data Between Databases.

Security Requirements and Risks in an Internet Environment: Confidentiality - Data

Integrity and Service Availability - Compromised Authentication and Authorization - Data or

Page 28: CSE-Curiculum 14-02-08 Final

28

Service Theft, Corruption, and Disruption - Encryption and Decryption - Public Key

Infrastructure (PKI) - Firewalls.

Database Performance Tuning: Common performance problems – Database Tuning -

Diagnostic and Tuning Tools - Log and trace files - Troubleshooting data, and performance

data in the data dictionary - SQL Statement Tuning - Lock Contention - Locking mechanisms

and management - Data concurrency - Deadlocks

TEXT BOOKS:

1. Craig S. Mullins, Database Administration: The Complete Guide to Practices and

Procedures, Addison-Wesley, 2002

2. Kevin Lonely, Oracle Database 9i DBA Handbook, Oracle Press, 2002

3. George Baklarz and Bill Wong- DB2 Universal Database V8 for Linux, UNIX, and

Windows- Prentice Hall PTR - 2003

CS425 ADVANCED DATABASES 3-0-0-3

Object-Oriented and Object-Relational Databases: Complex Data types – Object-

Oriented Data Model – Languages – Persistent Programming Languages – C++/Java Systems

– Nested Relations – Complex Types – Inheritance – Reference Types – Querying with

Complex Types – Functions and Procedures – Object Oriented Vs Object-Relational.

XML: Background –Structure of XML Data – XML Document Schema – Querying and

Transformation – API – Storage of XML Data – XML Applications, EBXML, Native XML

database.

Architecture for Databases: Distributed Databases – Parallel Databases

Very Large Databases: Design, Applications like Weather forecasting, defense.

Application Development and Administration: Advanced Querying and Information

Retrieval – Advanced Data Types and New Applications Advanced Transaction Processing

Page 29: CSE-Curiculum 14-02-08 Final

29

TEXT BOOK:

Abraham Silberschatz, Henry F Korth, S Sudarshan Database System Concepts,

Fourth Edition, McGraw-Hill, 2002

REFERENCES:

Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom., Database Systems: The

Complete Book, Prentice-Hall, 2002.

CS426 AGILE SOFTWARE DEVELOPMENT 3-0-0-3 Traditional Methodologies: Breaking the mold of established software development

methodologies - How and Where the waterfall methodology breaks.

Making Improvements in the Process: Software development as a cooperative game of

communication and invention - Using all of one's skills in developing software solutions, not

only software development skills - Adapting methodologies to the problem - NOT the

problem to the methodologies. Prototyping.

Agile Software Development: Agile means being effective and maneuverable - Agile sweet

spots, teams size & location, on-site user expert, etc. - Common design errors - Seven

principles of successful design.

Other Processes using Agile Principles: XP - Extreme Programming, description and

examples - Scrum, description and examples - UP - Unified Process description and

examples.

TEXT BOOKS:

1. Cockburn, Agile Software Development, Pearson Education India, 2002

2. Larman, Agile and Iterative Development - A Manager's Guide",Pearson Education

India, 2004

REFERENCE:

J. Langr, Agile Java - Crafting Code with Test-Driven Development, Pearson

Education India, 2006

Page 30: CSE-Curiculum 14-02-08 Final

30

CS427 PRINCIPLES OF DIGITAL IMAGE PROCESSING 3-0-0-3

Introduction: Elements of Visual Perception- Light and Electromagnetic Spectrum - Image

Sensing and Acquisition - Image Sampling and Quantization - Pixel relation ships.

Image Enhancement in Spatial Domain: Basic gray level transforms - Histogram

Processing - Enhancement using Arithmetic/ Logic operations - Basics of spatial filtering -

Smoothing and Sharpening Filters - Combining spatial enhancement methods.

Image Enhancement in Frequency Domain: Introduction to Fourier transform and

frequency domain - smoothing and Sharpening Frequency domain filters.

Morphological Image Processing: Preliminaries - Dilation and Erosion - Opening and

Closing - The Hit-or-Miss transform – Thinning - Thickening and Skeletons.

Image Segmentation: Detection of discontinuities - Edge Linking and Boundary Detection –

Thresholding - Region-Based Segmentation. (Case study on any one Application)

TEXT BOOKS:

1. Gonzalez and Woods, Digital Image Processing, Prentice Hall, 2007.

2. Gonzalez, Woods and Eddins, Digital Image Processing using MATLAB. Prentice

Hall, 2004.

REFERENCE:

Kenneth R Castleman, Digital Image Processing, Prentice Hall, 1996

CS428 DIGITAL WATERMARKING 3-0-0-3 Introduction - Applications and Properties: Applications – Properties – Evaluating

watermarking systems.

Models of Watermarking: Communication based watermarking – Geometric models of

watermarking – Modeling watermarks detection by correlation.

Page 31: CSE-Curiculum 14-02-08 Final

31

Watermarking with side information: Informed embedding – informed coding – dirty

paper codes.

Perceptual Models: Evaluation – Perceptual model – Watson’s model – Adaptive

watermarking. Robust watermarking – Watermark Security.

TEXT BOOK:

Ingemar Cox, Matthew Miller, Jeffrey Bloom, Mathew Miller, Digital Watermarking:

Principles and Practice, Morgan Kaufmann Series in Multimedia Information and

Systems, 2002

REFERENCES:

1. Stefan Katzenbeisser, Fabien A. P. Petitcolas, Information Hiding Techniques for

Steganography and Digital Watermarking, Artech House, Inc. 685 Canton Street,

Norwood, MA 02062, 2000 ISBN: 1-58053-035-4

2. Juergen Seitz, Digital Watermarking for Digital media, Information Science

Publishing (an imprint of Idea Group Inc.), ISBN 1-59140-518-1 (h/c) -- ISBN 1-

59140-519-X (s/c) -- ISBN 1-59140-520-3 (ebook), 2005

CS429 COMPUTER SYSTEMS ENGINEERING 3-0-0-3 The engineering of computer software and hardware systems - Techniques for controlling

complexity - Strong modularity using client-server design - Virtual memory, and threads -

Networks - Atomicity and coordination of parallel activities - Recovery and reliability -

Privacy, security, and encryption - Impact of computer systems on society – (case studies of

working systems and readings from the current literature provide comparisons and contrasts,

and do design project, extensive written communication exercises).

TEXT BOOK:

Saltzer, Jerome H., and M. Frans Kaashoek. Principles of Computer System Design.

(6.033 class notes, draft release 2.0, MIT, February 2005.)

REFERENCES:

Page 32: CSE-Curiculum 14-02-08 Final

32

Brooks, Frederick P., Jr. The Mythical Man-Month. Reading, MA: Addison-Wesley,

1995. ISBN: 0201835959. (This book is primarily used at the end of the term. The

1974 edition is also usable in 6.033.)

CS430 COMPUTATIONAL FINANCE 3-0-0-3

Introduction: Computational Intelligence in Economics and Finance – Fuzzy Logic – Rough

Sets – Grey Forecasting – Artificial Neural Networks – Support Vector Machines – Self

Organizing Maps - Finite State Automata – Decision Trees – k Nearest Neighbors – Hidden

Markov – Fourier and Wavelet Transforms – Evolutionary Computation – State Space

approach

Fuzzy Logic and Rough Sets: Intelligent System to support Judgmental decision forecasting

– Case Study: Estimating Hotel Room Demand – Rough sets theory and Multivariate Data

Analysis in Classification problems

Artificial Neural Networks and Support Vector Machine: Case Studies- Forecasting the

opening cash price index in integrating Gray forecasting and neural networks – Support

vector model for currency crises determination – Saliency analysis of support vector

machines for feature selection

Self organizing maps and Wavelets: Searching Financial patterns – Applications of

Wavelets and self organizing maps – Pattern matching pattern discovery in databases –

Discovering hidden patterns with genetic programming – Evolutionary strategies versus

Neural networks – Business failure prediction using Ants algorithm.

TEXT BOOK:

Shu-Heng Chen, Paul P. Wang, Computational Intelligence in Economics and

Finance (Advanced Information Processing), Springer-Verlag Berlin Heidelberg,

2004, ISBN 3-540-44098-4.

REFERENCES:

1. Shu-Heng Chen, Genetic Algorithms and Genetic Programming in Computational

Finance, Kluwer Academic Publishers, 2002, ISBN:0- 7923-7601-3.

Page 33: CSE-Curiculum 14-02-08 Final

33

2. Paul D Mcnelis, Neural Network in Finance: Gaining Predictive Edge in the Market, Elsevier Academic Press, 2005, ISBN:0-12-485967-4.

CS431 SOFT COMPUTING 3-0-0-3

Introduction: Computational Intelligence – Soft Computing – Synergism in Soft

Computing – Fuzzy sets and relations – Fuzzy logic and approximate reasoning – Fuzzy

Pattern recognition – Fuzzy databases and reasoning – Business Intelligence.

Machine learning using Neural Networks: Supervised Neural learning algorithms –

unsupervised Neural-learning algorithms – Competitive learning using neural nets - Neuro-

dynamic programming – Reinforcement Learning – Evolutionary computing algorithms –

Behavioral synergism of soft computing tools

Applications: Computational Intelligence in telecommunication networks – Mobile robotics

– Artificial life – Particle swarm optimization – Artificial Immune systems – Fuzzy chaos

theory – Rough sets – Granular computing.

TEXT BOOK:

Amit Konar, Computational Intelligence: Principles, Techniques and Applications,

Springer-Verlag Berlin Heidelberg, 2005, ISBN 3-540-20898-4.

REFERENCES:

1. Russel C Eberhart, Yuhui Shi, Computational Intelligence: Concepts to

Implementations, Morgan Kaufmann, 2007, ISBN 978-1558607590

2. Andries P. Engelbrecht, Computational Intelligence: An Introduction, Wiley; 2Rev

Ed edition, 2007, ISBN 978-0470035610

3. Lipo Wang, Xiuju Fu, Data Mining with Computational Intelligence (Advanced

Information and Knowledge Processing), Springer, first edition, 2005, ISBN 978-

3540245223

4. Lech Polkowski, Rough Sets, Physica-Verlag Heidelberg, First edition, 2003, ISBN

978-3790815108

Page 34: CSE-Curiculum 14-02-08 Final

34

CS432 INFORMATION RETRIEVAL 3-0-0-3

Introduction: Goals and history of IR - The impact of the web on IR - The role of artificial

intelligence (AI) in IR.

IR Models: Boolean and vector-space retrieval models - Probabilistic Model - Fuzzy and

Extended Boolean Models - ranked retrieval - text-similarity metrics - TF-IDF (term

frequency/inverse document frequency) weighting - cosine similarity.

Basic Tokenizing, Indexing, and Implementation of Vector-Space Retrieval: Simple

tokenizing - stop-word removal and stemming - inverted indices - efficient processing with

sparse vectors - Java implementation

Experimental Evaluation of IR: Performance metrics – recall - precision and F-measure;

Query Operations and Languages: Relevance feedback - Query expansion - Query

languages.

Text Representation & Web Search: Word statistics - Zipf's law - Porter stemmer –

morphology - index term selection - Search engines – spidering – meta crawlers - link

analysis

Text Categorization and Clustering: Categorization algorithms: Rocchio - naive Bayes -

decision trees and nearest neighbor. Clustering algorithms: agglomerative clustering - k-

means - expectation maximization (EM). Applications to information filtering – organization

- and relevance feedback

Information Extraction and Integration: Extracting data from text – XML - semantic web

- collecting and integrating specialized information on the web.

TEXT BOOK -

Ricardo Baeza-Yates and Berthier Ribeiro-Neto, Modern Information Retrieval

(MIR), Addison-Wesley, 2000

Page 35: CSE-Curiculum 14-02-08 Final

35

CS433 MULTIMEDIA DATABASES 3-0-0-3

Overview of Object Oriented Databases: Objects – Methods – ODL – OQL.

Multidimensional Data structures: k-d trees, Quadtrees – Oct trees – MX trees – R-trees.

Image Databases: Representation of raw images – Image segmentation – Representing

images with relations – Image retrieval.

Text Databases: Text retrieval – Latent semantic indexing – TV trees.

Video Databases: Content organization – Content Querying – Video segmentation.

Creating Distributed Multimedia Presentations: Objects in multimedia presentations –

Specifying constraints.

TEXT BOOK:

V.S. Subhramanian, Principles of Multimedia Database Systems, Morgan Kaufmann

Publisher, 2001.

REFERENCES:

1. Khoshafian, Multimedia and Imaging Databases, Lavoisier Publications, 1997

2. Lynne Dunckley, Multimedia Databases: An Object Relational Approach

Addison Wesley, 2002

CS434 DESIGN PATTERNS 3-0-0-3 Introduction: Significance – Software Design and patterns - Model-View-Controller, UML

notations.

Design Pattern Catalog: Creational - Structural Patterns - Behavioral Patterns.

Page 36: CSE-Curiculum 14-02-08 Final

36

Design Pattern in Java Foundation Classes: Simple JFC program, Buttons and Toolbars,

Menus and Action Objects, JTables, JList, JTrees - Creational - Structural Patterns -

Behavioral Patterns.

GRASP Patterns and Anti-patterns

Case Study: use of patterns in the design of a modern web framework - Smallworld Internet

Application Server / Apache Axis / Apache Cocoon / Ruby on Rails / Python's Django.

TEXT BOOK:

1. E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns - Elements of

Reusable Object-Oriented Software, Pearson Education India, 1995 and Addison-

Wesley Publishing Company, 1995

2. James W. Cooper, Java Design Patterns: A Tutorial, Addison-Wesley Professional,

Pap/Cdr Edition, 2000. ISBN-10: 0201485397

REFERENCES:

1. Mark Grand, Patterns in Java - A Catalog of Reusable Patterns Illustrated with

UML, Wiley-Dreamtech India, 2002

2. Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented

Analysis and Design, Prentice Hall, 1998.

CS435 COMPONENT-BASED DEVELOPMENT 3-0-0-3

Introduction to Components: Terms and concepts. Components – Objects - Components

and objects – Modules - White box versus black box abstractions and reuse. Interfaces.

Components, Interfaces, and Re-entrance: Components and interfaces - Direct and

indirect interfaces – Versions - Interfaces as contracts.

Patterns, Frameworks, Architectures, Wiring Standards.

Page 37: CSE-Curiculum 14-02-08 Final

37

The OMG Way (CORBA, CCM, OMA, and MDA), Microsoft COM, .NET CLR: The

first fundamental wiring model – COM, DCOM, .NET Framework, Common language

frameworks, XML and data - Enterprise services - Web services with .NET.

Component Development: The methodology - component-oriented programming -

Problems of asynchrony – Multithreading - Learning from circuit design - Living without

implementation inheritance - Nutshell classes - Language support - Dynamic base objects

with forwarding semantics - Caller encapsulation - The environment, selecting target

frameworks - The tools, selecting programming languages.

Text Book:

Clemens Szypersk Dominik Gruntz and Stephan Mureri, Component Software

Beyond object- Oriented Programming, Pearson Education, Second Edition.

CS436 IMAGE ANALYSIS 3-0-0-3 Introduction to Image Processing and Image Analysis: Digitized image and its properties,

image sampling and quantization, image representation, thresholding (binarization), basics of

Morphological operations (Dilation, Erosion, Opening, Closing, Skeletonizing), Pre-

processing (Noise removal) and Segmentation. Foundations of 2D , 3D and nD image

processing

Medical Image Analysis: Specifics of medical imaging and medical image analysis, medical

imaging modalities, basics of medical imaging physics, medical image data formats.

Medical Image Segmentation, Medical Image Registration.Tissue characterization,

validation, cardiovascular, pulmonary – case studies

TEXT BOOKS:

1. Gonzalez and Woods, Digital Image Processing, Prentice Hall, 2007.

2. Atam .P. Dhawan, Medical Image Analysis, IEEE Press, 2003.

REFERENCES:

M.Sonka and J.Michael Fitzpatrick, Handbook of Medical Imaging, Volume 2,

Medical Image Processing and Analysis, 2000.

Page 38: CSE-Curiculum 14-02-08 Final

38

CS437 COMPUTER VISION 3-0-0-3

Introduction: Biological Vision Systems, Image Formation – properties and models of

sensor hardware, sampling and digitization, non-visible light imagery, camera models and

calibration, stereo and multi-view geometry.

Basic Image Processing: frequency space representation - simple transformation methods –

segmentation feature detection

Motion: optical flow, vector fields, reconstruction from optical flow, tracking, motion

segmentation and multiple motions

2D Object Recognition: 2D symbolic descriptors, image correlation, PCA, ICA.

3D Object Recognition: correspondence, pose, estimation of translation, rotation and scale

from point correspondences, choice of features

Learning and Statistical Models: ANNs, SVMs, EM and HMM - Tracking and Video

analysis - Applications of computer vision.

TEXT BOOKS:

1. Linda G. Shapiro and G. Stockman, Computer Vision, Prentice Hall, 2001.

REFERENCES:

1. David A. Forsyth and Jean Ponce, Computer Vision – A Modern Approach, Prentice

Hall, 2002.

2. E. R. Davies, Machine Vision: Theory, Algorithms, Practicalities, Morgan

Kaufmann, 2004.

3. Ramesh Jain, Rangachar Kasturi and Brian G. Schunck, Machine Vision, McGraw

Hill, 1995.

Page 39: CSE-Curiculum 14-02-08 Final

39

CS439 CRYPTOGRAPHY 3-0-0-3

Introduction and Classical Cryptosystems: Secure communication - Attacks to

cryptosystems - Classical cryptographic techniques and algorithms – Mono-alphabetic and

poly-alphabetic systems.

Mathematical Foundations: Number theory - Finite fields - Primitive roots – Square roots -

Exponentiation and discrete logarithm.

Secret-Key Cryptography: Block ciphers and stream ciphers. DES, AES, RC4 - Modes of

operation.

Public-Key Cryptography: One-way functions - Trapdoor one-way functions - Public-key

cryptosystems - RSA, Diffie-Hellman, ElGamal, and elliptic curve cryptosystems.

Authentication and Digital Signatures: Cryptographic checksums - Hash functions and

message-digest functions - Digital signatures - Authentication protocols.

Protocols: Digital cash - Sharing and partial disclosure of secrets – Games - Zero-knowledge

proof systems - Identification protocols - Key management architectures.

TEXT BOOKS:

1. William Stallings, Cryptography and Network Security, Pearson Education Asia,

Prentice Hall, Third Edition, 2000.

2. D. R. Stinson. Cryptography: Theory and Practice, CRC Press. Third Edition, 2005.

REFERENCES:

W. Trappe and L. C. Washington. Introduction to Cryptography with Coding Theory,

Prentice-Hall, 2002. ISBN: 0-13-061814-4.

CS441 DATA WAREHOUSING AND DATA MINING 3-0-0-3

Data Mining: Evolution and importance - kinds of data and functionalities - Classification of

database system - Major issues in Data Mining.

Page 40: CSE-Curiculum 14-02-08 Final

40

Data Preprocessing: Summarization – Cleaning – Integration and Transformation –

Reduction – Discretization and Concept Hierarchy.

Mining Frequent Patterns: Basic concepts – Frequent Item set mining methods – Mining

Association rules – from Association to correlation analysis.

Classification and Prediction: Issues in classification and Prediction – Decision Tree

Induction – Bayesian Classification – Rule-Based Classification – K-nearest neighbor

classifier – Prediction – Accuracy and Error Measures – Evaluating the accuracy- Increasing

the accuracy.

Cluster Analysis: Concept – Types – Partitioning methods – Hierarchical methods – Density

Based methods – Grid based methods – Model based methods – Outlier analysis.

Data Warehousing: Multidimensional data model – Data warehouse Architecture – Data

warehouse Implementation – Data warehouse to Data Mining – Mining objects, spatial,

multimedia, text and web data – Data Ming tools and applications – case study.

TEXT BOOKS:

1. Jiawei Han and Micheline Kamber, Data Mining Concepts and Techniques, Elsevier,

Morgan Kaufmann Publishers, Second edition, 2006.

2. K. P. Soman, Shyam Diwakar and V. Ajay, Insight into Data Mining Theory and

Practice, PHI of India, 2006.

REFERENCE:

1. William H Inmon, Building the Data Warehouse, Wiley Publications, Fourth Edition,

2005.

CS443 DECISION SUPPORT SYSTEMS 3-0-0-3

Introduction and Definitions: Introduction to Information Processing, Decision Making,

and Decision Support - DSS Basics – Frameworks for Organizational Information

Processing and Decision Making - Abilities Required for Decision Making - Communication

Page 41: CSE-Curiculum 14-02-08 Final

41

Driven DSS – Data Driven DSS – Document Driven DSS – Knowledge Driven DSS – Model

Driven DSS – History of DSS

Decision Making and Models: Classification Scheme for DSS - The Rational Model -

Simon’s Normative Model - Group Decision Making –Individual Decision Making -

Individual vs. Group Decision Making - The State Space Approach to Decision Support -

The Problem Reduction Approach to Decision Support - A Production System Approach to

DSS

Model Management: Introduction to Management Science, Spreadsheet, and Optimization

Modeling - Optimization Modeling Linear Programming Models - Network Models - Integer

Models - Nonlinear Models - Goal Programming and Trade-Off Curves - Decision Analysis -

Integrated Collaborative Decision Making (ICDM) Model: A Three-Tier Approach to Agent-

Based, Decision-Support Systems

Decision Support Systems & Database: Conceptual and Operational Constructs for

Building a Data Base Knowledge System - Conceptual Constructs for Representing

Knowledge - Simple Files and Tables - Associative Relationship between Aggregate

Concepts - Building a Data Base Knowledge System - Indirect Associations among Concepts

Language Systems for Data Base Knowledge Systems: Languages for Directing Retrieval

- Languages for Directing Computations in the Case of Data Base Knowledge Systems -

Problem-Processing Systems for Data Base Knowledge Systems - Problem Processing for

Retrieval-Only DSS - Problem Processors for Computationally Oriented DSS

Formal Logic Approach to Decision Support: The Language and Knowledge Systems of a

DSS Based on Formal Logic - Conceptual Framework - Operational Constructs - A

Language System for Predicate Expressions - Combining the Data Base and Formal Logic

Approaches – Data Mining Data Warehousing

TEXT BOOKS:

1. Daniel J. Power, Decision Support Systems: Concepts and Resources for Managers,

Quorum/Greenwood, 2002

Page 42: CSE-Curiculum 14-02-08 Final

42

REFERENCE:

1. Bonczek, R. H., C. W. Holsapple, and A. Whinston, Foundations of Decision Support

Systems, Academic Press, 1981

CS445 SOFTWARE EVOLUTION 3-0-0-3

Software Architecture: Data design - Architectural styles and Patterns - Architectural

Design - Mapped Data flow into software architecture - Case study.

Software Evolution and Maintenance: definitions - challenges inherent in software

evolution - The Defect Management Process - Impact analysis, refactoring and power-

programmer techniques for debugging.

Program Comprehension: Introduction to techniques for understanding software systems

built by others - Recognizing common architectural patterns. Code reading techniques for

program comprehension - Tools for program comprehension, in particular program slicing.

Evolution of Legacy Systems: Characteristics of legacy systems, and challenges for their

evolution. Migration of legacy systems. The re-technologies: re-structuring, reverse-

engineering - re-engineering – process model

Software Maintenance: The context of maintenance - Types of maintenance-tools and

techniques-matrix for maintenance and quality-configuration management.

Data-Oriented Challenges to Evolution: Specific challenges for migration of data-intensive

systems. Impact of data quality on migration of legacy systems. Challenges in

comprehending data intensive systems - Data re-engineering, and tools to support it -

Evolution of Package-Based Systems - problems inherent in maintenance - Testing and

debugging techniques - Glueware - wrappers and brokers

TEXT BOOKS:

1. Lowell Jay Arthur, Software Evolution: A Software Maintenance Challenge, John

Wiley and Sons, 1988

REFERENCES:

Page 43: CSE-Curiculum 14-02-08 Final

43

1. Sommerville, Software Engineering, Pearson Education, Eighth Edition, 2006.

2. Roger S Pressman, Software Engineering: A Practitioner's Approach, McGraw-Hill,

Sixth Edition, 2005.

3. Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, Pearson

Education, Addison-Wesley, Second Edition, 2003.

CS447 PRINCIPLES OF MANAGEMENT 3-0-0-3

Introduction to Management: Managers and Management - History Module The Historical

Roots of Contemporary Management Practices, The Management Environment.

Planning: Foundations of Planning - Foundations of Decision Making - Quantitative Module

Quantitative Decision-Making Aids

Organizing: Basic Organization Designs - Staffing and Human Resource Management -

Career Module Building Your Career - Managing Change, Stress, and Innovation

Leading: Foundations of Individual and Group Behavior - Understanding Work Teams -

Motivating and Rewarding Employees - Leadership and Trust - Communication and

Interpersonal Skills

Introduction to Economics: The Firm and Its Goals - Review of Mathematical Concepts

Used in Managerial Economics, Supply and Demand - The Mathematics of Supply and

Demand, Demand Elasticity - Applications of Supply and Demand, Demand Estimation and

Forecasting, The Theory and Estimation of Production - The Multiple-Input Case -

Expressing the Production Function with the Use of Calculus, The Theory and Estimation of

Cost - A Mathematical Restatement of the Short-Run Cost Function - The Estimation of Cost

Pricing and Output Decisions: Perfect Competition and Monopoly - The Use of Calculus

in Pricing and Output Decisions - Break-Even Analysis (Volume-Cost-Profit), Monopolistic

Competition and Oligopoly - Special Pricing Practices

TEXT BOOKS:

1. Stephen P, Robbins David A. De Cenzo, Fundamentals of Management, Prentice Hall

Sixth Edition, 2008. ISBN- 10: 0136007104, ISBN-13: 9780136007104

Page 44: CSE-Curiculum 14-02-08 Final

44

2. Paul G. Keat, Philip K. Young, Managerial Economics: Economic Tools for Today's

Decision Makers, Prentice Hall, Fifth Edition, 2006, ISBN-10: 0131860151, ISBN-

13: 9780131860155.

CS449 SOFTWARE BUSINESS 3-0-0-3

Business of Software: An overview

Strategy for software companies: What to think about

Services, products and more services: How software becomes a business

Best Practices in Software development: Beyond the Software factory

Software Entrepreneurship: Essentials Elements of Successful Start-up

Startup case studies: Software Products, Services and Hybrid Solutions

The “Ideal “versus “Realistic” Software Business

TEXT BOOKS:

1. Cusumano, Michael A, The Business of Software: What Every Manager,

Programmer, and Entrepreneur Must Know in Good Times and Bad, New York, NY:

Free Press, 2004. ISBN: 074321580X.

2. Moore, Geoffrey, Crossing the Chasm: Marketing and Selling High-Tech Products to

Mainstream Customers, Revised ed. New York, NY: HarperBusiness, 1999. ISBN:

0887307175.

REFERENCES:

1. Campbell-Kelly, Martin, A History of the Software Industry: From Airline

Reservations to Sonic the Hedgehog, Cambridge, MA: MIT Press, 2003. ISBN:

0262033038.

2. McConnell, Steve, Rapid Development, Redmond, WA: Microsoft Press, 1996.

ISBN: 1556159005.

3. Moody, Glyn, Rebel Code: Inside Linux® and the Open Source Revolution.

Cambridge, MA: Perseus Publication, 2001. ISBN: 0738203335.

4. Nesheim, John, High-Tech Start Up, New York, NY: Free Press, 2000. ISBN:

068487170X.

Page 45: CSE-Curiculum 14-02-08 Final

45

CS491 COMPUTER GRAPHICS AND VISUALIZATION LABORATORY 0-0-3-1

1. Implementation of mid-point line algorithm to generate a line of given slope and

thickness.

2. Implementation of mid-point circle drawing algorithm to draw a circle. Modify the

algorithm to draw a specified arc or sector.

3. Implementation of Cohen-Sutherland Line-Clipping algorithm.

4. Program to draw a rectangle and perform the following operations:

(i) Rotation about origin followed by translation.

(ii) Rotation about an arbitrary point.

(iii) Scaling about origin followed by translation.

(iv) Scaling with reference to an arbitrary point.

(v) Reflection about the line y=mx+c.

(vi) Apply X and Y shear on the rectangle.

5. Program to draw the Hermite and Bezier curves for a given set of control points.

6. Program to fill a polygon using (i) Flood fill algorithm (ii) Scanline Fill algorithm.

7. To gain a working literacy in multimedia production "tools” like Photoshop, Flash

Mini Project: To design a simple graphics editor with the following functions

(i) Draw and color different shapes

(ii) Perform basic transformations

CS493 COMPUTER LANGUAGE ENGINEERING LABORATORY 0-0-3-1 1. Program for performing the operations on languages.

2. Program to implement the lexical analyzer using DFA.

3. Program to find the Closure of the given Grammar.

4. Program for Constructing NFA using Thompson’s Algorithm.

5. Program to implement the Recursive Descent parsing.

6. Program for Constructing DFA from a regular Expression.

7. Program to find leading and Trailing of the given Grammar.

8. Program for constructing Predictive Parsing table.

9. Program to implement Shift reduce parsing Algorithm.

10. Program to implement Operator precedence Parsing Algorithm.

11. Program for constructing LR Parsing table.

Page 46: CSE-Curiculum 14-02-08 Final

46

12. Program to generate DAG for the given expression.

13. Program to simulate the storage management.

14. Program to generate a code for a given intermediate code.