Syllabus Review/VTU/MCA

Scheme and Syllabus of Semesters III to VI of MCA

(With effect from 2007-2008)

Master of Computer Applications

VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM

VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM

SCHEME OF TEACHING AND EXAMINATION

III SEMESTER - Master of Computer Applications

VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM

SCHEME OF TEACHING AND EXAMINATION

IV SEMESTER - Master of Computer Applications

{| class="prettytable" {| class="prettytable"
 * S. No.
 * Subject Code
 * Title
 * colspan="6" |
 * colspan="2" | Teaching Hrs / Week
 * colspan="2" | Examination


 * Theory
 * Practical
 * Duration
 * Duration




 * }


 * 1
 * 07MCA41
 * Topics in Enterprise Architectures –I
 * 04
 * 03
 * 50
 * 100
 * 150
 * 100
 * 150


 * 2
 * 07MCA42
 * Software Engineering
 * 04
 * 03
 * 50
 * 100
 * 150
 * 100
 * 150


 * 3
 * 07MCA43
 * Web Programming
 * 04
 * 03
 * 50
 * 100
 * 150
 * 100
 * 150


 * 4
 * 07MCA44
 * Design and Analysis of Algorithms
 * 04
 * 03
 * 50
 * 100
 * 150
 * 100
 * 150


 * 5
 * 07MCA45
 * Elective I
 * 04
 * 03
 * 50
 * 100
 * 150
 * 100
 * 150


 * 6
 * 07MCA46
 * Java & J2EE Laboratory
 * 03
 * 03
 * 50
 * 50
 * 100
 * 50
 * 100


 * 7
 * 07MCA47
 * Web programming Laboratory
 * 03
 * 03
 * 50
 * 50
 * 100
 * 50
 * 100


 * 8
 * 07MCA48
 * Algorithms Laboratory
 * 03
 * 03
 * 50
 * 50
 * 100
 * 50
 * 100


 * colspan="3" | Total
 * 20
 * 09
 * 400
 * 650
 * 1050
 * 650
 * 1050


 * }

VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM

SCHEME OF TEACHING AND EXAMINATION

V SEMESTER - Master of Computer Applications

VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM

SCHEME OF TEACHING AND EXAMINATION

VI SEMESTER - Master of Computer Applications

NOTE: Students have to register for one Elective from each of the Three Elective Groups

III SEMESTER

Systems Software

Subject Code: 07MCA31I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) Machine Architecture   6 Hours

Introduction, System Software and Machine Architecture, Simplified Instructional Computer (SIC) - SIC Machine Architecture, SIC/XE Machine Architecture, SIC Programming Examples. 


 * 1) Assemblers -1 6 Hours

Basic Assembler Function - A Simple SIC Assembler, Assembler Algorithm and Data Structures, Machine Dependent Assembler Features - Instruction Formats & Addressing Modes, Program Relocation.


 * 1) Assemblers -2   6 Hours

Machine Independent Assembler Features – Literals, Symbol-Definition Statements, Expression, Program Blocks, Control Sections and Programming Linking, Assembler Design Operations - One-Pass Assembler, Multi-Pass Assembler, Implementation Examples - MASM Assembler.


 * 1) Loaders And Linkers   8 Hours

Basic Loader Functions - Design of an Absolute Loader, A Simple Bootstrap Loader, Machine-Dependent Loader Features – Relocation, Program Linking, Algorithm and Data Structures for a Linking Loader; Machine-Independent Loader Features - Automatic Library Search, Loader Options, Loader Design Options - Linkage Editor, Dynamic Linkage, Bootstrap Loaders, Implementation Examples - MS-DOS Linker.


 * 1) Editors And Debugging Systems  6 Hours

Text Editors - Overview of Editing Process, User Interface, Editor Structure, Interactive Debugging Systems - Debugging Functions and Capabilities, Relationship With Other Parts Of The System, User-Interface Criteria


 * 1) Macro Processor 8 Hours

Basic Macro Processor Functions - Macro Definitions and Expansion, Macro Processor Algorithm and Data Structures, Machine-Independent Macro Processor Features - Concatenation of Macro Parameters, Generation of Unique Labels, Conditional Macro Expansion, Keyword Macro Parameters, Macro Processor Design Options - Recursive Macro Expansion, General-Purpose Macro Processors, Macro Processing Within Language Translators, Implementation Examples - MASM Macro Processor, ANSI C Macro Processor.


 * 1) Lex and Yacc – 1 6 Hours

Lex and Yacc - The Simplest Lex Program, Recognizing Words With LEX, Symbol Tables, Grammars, Parser-Lexer Communication, The Parts of Speech Lexer, A YACC Parser, The Rules Section, Running LEX and YACC, LEX and Hand- Written Lexers, Using LEX - Regular Expression, Examples of Regular Expressions, A Word Counting Program, Parsing a Command Line.


 * 1) Lex And Yacc - 2  6 Hours

Using YACC – Grammars, Recursive Rules, Shift/Reduce Parsing, What YACC Cannot Parse, A YACC Parser - The Definition Section, The Rules Section, Symbol Values and Actions, The LEXER, Compiling and Running a Simple Parser, Arithmetic Expressions and Ambiguity, Variables and Typed Tokens.

Text Books:


 * 1) Leland.L.Beck: System Software, 3rd Edition, Addison-Wesley, 1997.

(Chapters 1.1 to 1.3, 2 (except 2.5.2 and 2.5.3), 3 (except 3.5.2 and 3.5.3), 4 (except 4.4.3))


 * 1) John.R.Levine, Tony Mason and Doug Brown: Lex and Yacc, O'Reilly, SPD, 1998.

(Chapters 1, 2 (Page 2-42), 3 (Page 51-65))

Reference Books:

1. D.M.Dhamdhere: System Programming and Operating Systems, 2nd Edition, Tata McGraw - Hill, 1999.

Computer Networks 

Hours/Week : 04Exam Hours: 03
Total Hours : 52Exam Marks: 100

1. Foundation  8 Hours


 * 1) Building a Network; Applications; Requirements; Network Architecture; Implementing Network software; Performance.

2. Direct Link Networks 12 Hours


 * 1) Physically connecting hosts; Hardware building blocks; Encoding; Framing; Error detection; Reliable transmission; Ethernet (802.3); Ring; (802.5, FDDI, 802.17); Wireless (802.15.1, 802.11, 802.16, Cell Phone Technologies).

3. Packet Switching 7 Hours

Switching and forwarding; Bridges and LAN Switches

4.Internetworking 12 Hours

Simple internetworking (IP); Routing; Global Internet.


 * 1) End –to-End Protocols; Resource Allocation Issues 7 Hours

Simple demultiplexer (UDP); Reliable byte stream (TCP); Issues in resource allocation

6. Applications 6 Hours

Application-Layer overview; Domain Name System; Remote Login protocols; Electronic mail; File transfer and FTP; World Wide Web and HTTP; Overview of VoIP telephony; VoIP signaling protocols.

Text Books:

1. Larry L. Peterson and Bruce S. David: Computer Networks – A Systems Approach, 4th Edition, Elsevier, 2007.

(Chapters 1, 2, 3.1, 3.2, 4.1, 4.2, 4.3, 5.1, 5.2, 6.1)

2. Nader F. Mir: Computer and Communication Networks, Pearson Education, 2007.

(Chapters 9.1 to 9.6, 18.1, 18.2)

References: 

1. Behrouz A. Forouzan: Data Communications and Networking, 4th Edition, Tata McGraw-Hill, 2006.

2. William Stallings: Data and Computer Communication, 8th Edition, Pearson Education / PHI, 2007.

3. Alberto Leon-Garcia and Indra Widjaja: Communication Networks -Fundamental Concepts and Key architectures, 2nd Edition Tata McGraw-Hill, 2004.

Object Oriented Programming with C++

Subject Code: 07MCA33 IA Marks: 50

Hours/Week: 4 Exam Hours: 03

Total Hours: 52 Exam Marks: 100 

1. Overview of OOP  3 Hours

Object Oriented paradigm, Structured vs. Object Oriented Paradigm. Elements of Object Oriented Programming, Object, Classes, Encapsulation & data abstraction, Inheritance, Polymorphism etc.

2. C++ Overview 4 Hours

Introduction, different data types, operators, expressions, qualifiers, arrays and strings.

3. Modular Programming with Functions 8 Hours

Function Components, argument passing, inline functions, function overriding, function overloading, function templates, recursive functions.

4. Classes & Objects  18 Hours

Introduction, Class Specification, Class Objects, access members, defining member functions, data hiding, constructors, destructors, parameterized constructors, static data members, functions, scope resolution operator, Passing objects as arguments, returning objects, friend functions & classes, arrays of objects, Dynamic objects – Pointers to objects, Class members, Operator overloading using friend functions such as ++, --, [ ] etc.

5. Inheritance Virtual functions, Polymorphism 12 Hours

Base Class, Inheritance & protected members, protected base class inheritance, Inheriting multiple base classes, Constructors, Destructors & Inheritance

Passing parameters to base Class Constructors, Granting access, Virtual base classes

Virtual function – Calling a Virtual function through a base class reference, Virtual attribute is inherited, Virtual functions are hierarchical, pure virtual functions, abstract classes, using Virtual functions, Early & late binding.


 * 1) Generic Programming with Templates 3 Hours

Introduction, Function templates, Class templates.

7. I/O  4 Hours

IO Stream Library, output operator <<, input >>, additional i/o operators, overloading the output operator <<, overloading the io operator >>, file input & output.

Text Books: 


 * 1) H. Schild: C++ The Complete Reference, 4th Edition, Tata McGraw Hill, 2003.

(Chapters 11 to 17, 20, 21)


 * 1) K R Venugopal, Rajkumar, T., Ravi Shankar: Mastering C++, Tata McGraw Hill, 1997.

(Chapter 1, 3 to 18)

Reference Book: 


 * 1) Stanley B.Lippmann, Josee Lajore: C++Primer, 4th d Edition, Addison Wesley, 2005.

Database Management Systems

Subject Code: 07MCA34I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) Introduction  7 Hours

Introduction; An example; Characteristics of Database approach; Actors on the screen; Workers behind the scene; Advantages of using DBMS approach; A brief history of database applications; when not to use a DBMS. Data models, schemas and instances; Three-schema architecture and data independence; Database languages and interfaces; The database system environment; Centralized and client-server architectures; Classification of Database Management systems.


 * 1) Entity-Relationship Model  7 Hours

Using High-Level Conceptual Data Models for Database Design; An Example Database Application; Entity Types, Entity Sets, Attributes and Keys; Relationship types, Relationship Sets, Roles and Structural Constraints; Weak Entity Types; Refining the ER Design; ER Diagrams, Naming Conventions and Design Issues; Relationship types of degree higher than two.


 * 1) Relational Model and Relational Algebra 8 Hours 

Relational Model Concepts; Relational Model Constraints and Relational Database Schemas; Update Operations, Transactions and dealing with constraint violations; Unary Relational Operations: SELECT and PROJECT; Relational Algebra Operations from Set Theory; Binary Relational Operations : JOIN and DIVISION; Additional Relational Operations; Examples of Queries in Relational Algebra; Relational Database Design Using ER- to-Relational Mapping.


 * 1) SQL  16 Hours

SQL Data Definition and Data Types; Specifying basic constraints in SQL; Schema change statements in SQL; Basic queries in SQL; More complex SQL Queries. Insert, Delete and Update statements in SQL; Specifying constraints as Assertion and Trigger; Views (Virtual Tables) in SQL; Additional features of SQL; Database programming issues and techniques; Embedded SQL, Dynamic SQL; Database stored procedures and SQL / PSM.


 * 1) Database Design  8 Hours

Informal Design Guidelines for Relation Schemas; Functional Dependencies; Normal Forms Based on Primary Keys; General Definitions of Second and Third Normal Forms; Boyce-Codd Normal Form.

6. Transaction Management 6 Hours The ACID Properties; Transactions and Schedules; Concurrent Execution of Transactions; Lock- Based Concurrency Control; Performance of locking; Transaction support in SQL; Introduction to crash recovery.

Text Books:


 * 1) Elmasri and Navathe: Fundamentals of Database Systems, 5th Edition, Addison-Wesley, 2007

(Chapters 1, 2, 3 except 3.8, 5, 6.1 to 6.5, 7.1, 8, 9.1, 9.2 except SQLJ, 9.4, 10)


 * 1) Raghu Ramakrishnan and Johannes Gehrke: Database Management Systems, 3rd Edition, McGraw-Hill, 2003.

(Chapters 16, 17.1, 17.2, 18)

Reference Books:


 * 1) Silberschatz, Korth and Sudharshan: Data base System Concepts, 5th Edition, Mc-GrawHill, 2006.
 * 2) C.J. Date, A. Kannan, S. Swamynatham: A Introduction to Database Systems, 8th Edition, Pearson education, 2006.

Operating Systems

Subject Code: 07MCA35I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) Introduction to Operating Systems, System structures 6 Hours

What operating systems do; Computer System organization; Computer System architecture; Operating System structure; Operating System operations; Process management; Memory management; Storage management; Protection and security; Distributed system; Special-purpose systems; Computing environments.Operating System Services; User - Operating System interface; System calls; Types of system calls; System programs; Operating System design and implementation; Operating System structure; Virtual machines; Operating System generation; System boot.


 * 1) Process Management  7 Hours

Process concept; Process scheduling; Operations on processes; Inter-process communication. Multi-Threaded Programming: Overview; Multithreading models; Thread Libraries; Threading issues. Process Scheduling: Basic concepts; Scheduling criteria; Scheduling algorithms; Multiple-Processor scheduling; Thread scheduling.


 * 1) Process Synchronization 7 Hours

Synchronization: The Critical section problem; Peterson’s solution; Synchronization hardware; Semaphores; Classical problems of synchronization; Monitors.


 * 1) Deadlocks 6 Hours

Deadlocks: System model; Deadlock characterization; Methods for handling deadlocks; Deadlock prevention; Deadlock avoidance; Deadlock detection and recovery from deadlock.


 * 1) Memory Management  7 Hours

Memory Management Strategies: Background; Swapping; Contiguous memory allocation; Paging; Structure of page table; Segmentation. Virtual Memory Management: Background; Demand paging; Copy-on-write; Page replacement; Allocation of frames; Thrashing.

6. File System, Implementation of File System 7 Hours

File System: File concept; Access methods; Directory structure; File system mounting; File sharing; Protection. Implementing File System: File system structure; File system implementation; Directory implementation; Allocation methods; Free space management.

7. Secondary Storage Structures,Protection 6 Hours

Mass storage structures; Disk structure; Disk attachment; Disk scheduling; Disk management; Swap space management.Protection: Goals of protection, Principles of protection, Domain of protection, Access matrix, Implementation of access matrix, Access control, Revocation of access rights, Capability-Based systems.

8. Case Study: The Linux Operating System 6 Hours

Linux history; Design principles; Kernel modules; Process management; Scheduling; Memory management; File systems, Input and output; Inter-process communication.

Text Books:

1. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne: Operating System Principles, 7thedition, Wiley-India, 2006.

(Chapters: 1, 2, 3.1 to 3.4, 4.1 to 4.4, 5.1 to 5.5, 6.1 to 6.7, 7, 8.1 to 8.6, 9.1 to 9.6, 10, 11.1 to 11.5, 12.1 to 12.6, 17.1 to 17.8, 21.1 to 21.9)

Reference Books:

1. D.M Dhamdhere: Operating systems - A concept based Approach, 2nd Edition, Tata McGraw- Hill, 2002.

2. P.C.P. Bhatt: Operating Systems, 2nd Edition, PHI, 2006.

2. Harvey M Deital: Operating systems, 3rd Edition, Addison Wesley, 1990.

= System Programming Laboratory =

Subject Code: 07MCA36I.A. Marks: 50
Hours/Week: 03Exam Hours : 03

Total Hours : 42Exam Marks : 50

PART- A
Execute of the following programs using LEX:


 * 1) Program to count the number of vowels and consonants in a given string.
 * 2) Program to count the number of characters, words, spaces and lines in a given input file.
 * 3) Program to count number of
 * 4) Positive and negative integers
 * 5) Positive and negative fractions

4) Program to count the numbers of comment lines in a given C program. Also eliminate them and copy that program into separate file.


 * 1) Program to count the number of ‘scanf’ and ‘printf’ statements in a C program. Replace them with ‘readf’ and ‘writef’ statements respectively.
 * 2) Program to recognize a valid arithmetic expression and identify the identifiers and operators present. Print them separately.
 * 3) Program to recognize and count the number of identifiers in a given input file.

PART- B
Execute of the following programs using YACC:


 * 1) Program to test the validity of a simple expression involving operators +, -, * and /.
 * 2) Program to recognize nested IF control statements and display the number of levels of nesting.
 * 3) Program to recognize a valid arithmetic expression that uses operators +, -, * and /.
 * 4) Program to recognize a valid variable, which starts with a letter, followed by any number of letters or digits.
 * 5) Program to evaluate an arithmetic expression involving operators +, -, * and /.
 * 6) Program to recognize strings ‘aaab’, ‘abbb’, ‘ab’ and ‘a’ using the grammar

(anbn, n>=0)

7) Program to recognize the grammar (an b, n>=10).

Instructions:

In the examination, a combination of one LEX and one YACC problem has to be asked based on lots. Both will have equal weightages.

OOP with C++ Laboratory

Subject Code: 07MCA37I.A Marks: 50

Hours/Week: 3Exam Hours: 3

Total Hours: 42Exam Marks: 50

1. Given that an EMPLOYEE class contains the following members:

Data Members: Employee_Number, Employee_Name, Basic, DA, IT, Net_Sal

Member Functions: to read data, to calculate Net_Sal and to print data members

Write a C++ program to read data on N employees and compute the Net_Sal of each employee (DA = 52% of Basic and Income Tax = 30% of the gross salary)

2. Define a STUDENT class with USN, Name, and Marks in 3 tests of a subject. Declare an array of 10 STUDENT objects. Using appropriate functions, find the average of the two better marks for each student. Print the USN, Name and the average marks of all the students.

3. Write a C++ program to create a class called COMPLEX and implement the following overloading functions ADD that return a complex number:


 * 1) ADD(a, s2) – where ‘a’ is an integer (real part) and s2 is a complex number
 * 2) ADD(s1, s2) – where s1 and s2 are complex numbers

4. Write a C++ program to create a class called LIST (linked list) with member functions to insert an element at the front as well as to delete an element from the front of the list. Demonstrate all the functions after creating a list object.

5. Write a C++ program to create a template function for Quicksort and demonstrate sorting of integers and doubles.

6. Write a C++ program to create a class called STACK using an array of integers. Implement the following operations by overloading the operators ‘+’ and ‘-‘:


 * 1) s1 = s1 + element; where s1 is an object of the class STACK and element is an integer to be pushed on the top of the stack
 * 2) s1 = s1- ; where s1 is an object of the class STACK. ‘-‘ operator pops the element.

Handle the STACK empty and full conditions. Also display the contents of the stack after each operation, by overloading the << operator.

7. Write a C++ program to create a class called DATE. Accept two valid dates in the form dd/mm/yy. Implement the following operations by overloading the operators ‘+’ and ‘-‘. After every operation display the results by overloading the operator <<.


 * 1) no_of_days = d1 – d2; where d1 and d2 are DATE objects, and no_of_days is an integer
 * 2) d2 = d1 + no_of_days; where d1 is a DATE object and no_of_days is an integer

8. Create a class called MATRIX using two-dimensional array of integers. Implement the following operations by overloading the operator ++ which checks the compatibility of two matrices to be added and subtracted. Perform the addition and subtraction by overloading the + and – operators respectively. Display the results by overloading the operator <<.

If (m1==m2) then m3 = m1+m2 and m4 = m1-m2 else display error.

9. Write a C++ program to create a class called OCTAL which has the characteristics of an octal number. Implement the following operations by writing an appropriate constructor and an overloaded operator +.


 * 1) OCTAL h = x; where x is an integer.
 * 2) int y = h + k; where h is an OCTAL object and k is an integer

Display the OCTAL result by overloading the operator <<. Also display the values of h and y.

10. Write a C++ program to create a class called QUEUE with member functions to add an element and to delete an element from the queue. Using the member functions, implement a queue of integers and double. Demonstrate the operations by displaying the contents of the queue after every operation.

11. Write a C++ program to create a class called DLIST (doubly Linked List) with member functions to insert a node at a specified position and delete a node from a specified position of the list. Demonstrate the operations by displaying the content of the list after every operation.

12. Write a C++ program to create a class called STUDENT with data members USN, Name and Age. Using inheritance, create the classes UGSTUDENT and PGSTUDENT having fields as Semester, Fees and Stipend. Enter the data for at least 5 students. Find the semester-wise average age for all UG and PG students separately.

13. Write a C++ program to create a class called STRING and implement the following operations. Display the results after every operation by overloading the operator <<.


 * 1) STRING s1 = “VTU”
 * 2) STRING s2 = “BELGAUM”
 * 3) STRING s3 = s1 + s2 (Use copy constructor)

14. Write a C++ program to create a class called BIN_TREE (Binary Tree) with member functions to perform in-order, preorder and post-order traversals. Create a BIN_TREE object and demonstrate the traversals.

15. Write a C++ program to create a class called EXPRESSION. Using appropriate member functions convert a given valid Infix expression into postfix form. Display the infix and postfix expressions.

DBMS Laboratory

Subject Code: 07MCA38I.A. Marks : 50
Hours/Week : 03Exam Hours: 03

Total Hours : 42Exam Marks: 50

 * 1) Consider the Insurance database given below. The primary keys are underlined and the data types are specified.

PERSON (driver – id #: String, name: string, address: strong)

CAR (Regno: string, model: string, year: int)

ACCIDENT (report-number: int, accd-date: date, location: string)

OWNS (driver-id #:string, Regno:string)

PARTICIPATED (driver-id: string, Regno:string, report-number:int, damage amount:int)


 * 1) Create the above tables by properly specifying the primary keys and the foreign keys.
 * 2) Enter at least five tuples for each relation.
 * 3) Demonstrate how you


 * 1) Update the damage amount for the car with a specific Regno in the accident with report number 12 to 25000.
 * 2) Add a new accident to the database.

(iv) Find the total number of people who owned cars that were involved in accidents in 2008.


 * 1) Find the number of accidents in which cars belonging to a specific model were involved.
 * 2) Generate suitable reports.
 * 3) Create suitable front end for querying and displaying the results.

II. Consider the following relations for an order processing database application in a company.

CUSTOMER (cust #: int, cname: string, city: string)

ORDER (order #: int, odate: date, cust #: int, ord-Amt: int)

ORDER – ITEM (order #: int, item #: int, qty: int)

ITEM (item # : int, unit price: int)

SHIPMENT (order #: int, warehouse#: int, ship-date: date)

WAREHOUSE (warehouse #: int, city: string)


 * 1) Create the above tables by properly specifying the primary keys and the foreign keys.
 * 2) Enter at least five tuples for each relation.
 * 3) Produce a listing: CUSTNAME, #oforders, AVG_ORDER_AMT, where the middle column is the total numbers of orders by the customer and the last column is the average order amount for that customer.
 * 4) List the order# for orders that were shipped from all the warehouses that the company has in a specific city.
 * 5) Demonstrate the deletion of an item from the ITEM table and demonstrate a method of handling the rows in the ORDER_ITEM table that contain this particular item.
 * 6) Generate suitable reports.
 * 7) Create suitable front end for querying and displaying the results.

III. Consider the following database of student enrollment in courses & books adopted for each course.

STUDENT (regno: string, name: string, major: string, bdate:date)

COURSE (course #:int, cname:string, dept:string)

ENROLL ( regno:string, course#:int, sem:int, marks:int)

BOOK _ ADOPTION (course# :int, sem:int, book-ISBN:int)

TEXT (book-ISBN:int, book-title:string, publisher:string, author:string)


 * 1) Create the above tables by properly specifying the primary keys and the foreign keys.
 * 2) Enter at least five tuples for each relation.
 * 3) Demonstrate how you add a new text book to the database and make this book be adopted by some department.


 * 1) Produce a list of text books (include Course #, Book-ISBN, Book-title) in the alphabetical order for courses offered by the ‘CS’ department that use more than two books.
 * 2) List any department that has all its adopted books published by a specific publisher.
 * 3) Generate suitable reports.
 * 4) Create suitable front end for querying and displaying the results.

IV. The following tables are maintained by a book dealer.

AUTHOR (author-id:int, name:string, city:string, country:string)

PUBLISHER (publisher-id:int, name:string, city:string, country:string)

CATALOG (book-id:int, title:string, author-id:int, publisher-id:int, category-id:int, year:int, price:int)

CATEGORY (category-id:int, description:string)

ORDER-DETAILS (order-no:int, book-id:int, quantity:int)


 * 1) Create the above tables by properly specifying the primary keys and the foreign keys.
 * 2) Enter at least five tuples for each relation.


 * 1) Give the details of the authors who have 2 or more books in the catalog and the price of the books is greater than the average price of the books in the catalog and the year of publication is after 2000.
 * 2) Find the author of the book which has maximum sales.


 * 1) Demonstrate how you increase the price of books published by a specific publisher by 10%.
 * 2) Generate suitable reports.
 * 3) Create suitable front end for querying and displaying the results.


 * 1) Consider the following database for a banking enterprise

BRANCH(branch-name:string, branch-city:string, assets:real)

ACCOUNT(accno:int, branch-name:string, balance:real)

DEPOSITOR(customer-name:string, accno:int)

CUSTOMER(customer-name:string, customer-street:string, customer-city:string)

LOAN(loan-number:int, branch-name:string, amount:real)

BORROWER(customer-name:string, loan-number:int)


 * 1) Create the above tables by properly specifying the primary keys and the foreign keys
 * 2) Enter at least five tuples for each relation
 * 3) Find all the customers who have at least two accounts at the Main branch.
 * 4) Find all the customers who have an account at all the branches located in a specific city.
 * 5) Demonstrate how you delete all account tuples at every branch located in a specific city.
 * 6) Generate suitable reports.
 * 7) Create suitable front end for querying and displaying the results.

Instructions:


 * 1) The exercises are to be solved in an RDBMS environment like Oracle or DB2.
 * 2) Suitable tuples have to be entered so that queries are executed correctly.
 * 3) Front end may be created using either VB or VAJ or any other similar tool.
 * 4) The student need not create the front end in the examination. The results of the queries may be displayed directly.
 * 5) Relevant queries other than the ones listed along with the exercises may also be asked in the examination.
 * 6) Questions must be asked based on lots.

IV Semester

Topics in Enterprise Architecture - 1 

Subject Code: 07MCA41IA Marks: 50

Hours/Week: 4Exam Marks: 100

Total Hours: 52Exam Hours: 3

1. Introduction to Java  6 Hours

Java and Java applications; Java Development Kit (JDK); Java is interpreted, Byte Code, JVM; Object-oriented programming; Simple Java programs.

Data types and other tokens: Boolean variables, int, long, char, operators, arrays, white spaces, literals, assigning values; Creating and destroying objects; Access specifiers.

Operators and Expressions: Arithmetic Operators, Bitwise operators, Relational operators, The Assignment Operator, The ? Operator; Operator Precedence; Logical expression; Type casting; Strings.

Control Statements: Selection statements, iteration statements, Jump Statements.

2. Classes, Inheritance, Exceptions, Applets 6 Hours

Classes: Classes in Java; Declaring a class; Class name; Super classes; Constructors; Creating instances of class; Inner classes.

Inheritance: Simple, multiple, and multilevel inheritance; Overriding, overloading.

Exception handling: Exception handling in Java.

The Applet Class: Two types of Applets; Applet basics; Applet Architecture; An Applet skeleton; Simple Applet display methods; Requesting repainting; Using the Status Window; The HTML APPLET tag; Passing parameters to Applets; getDocumentbase and getCodebase; ApletContext and showDocument; The AudioClip Interface; The AppletStub Interface; Output to the Console.

3. Multi Threaded Programming, Event Handling 7 Hours

Multi Threaded Programming: What are threads? How to make the classes threadable; Extending threads; Implementing runnable; Synchronization; Changing state of the thread; Bounded buffer problems, read-write problem, producer-consumer problems.

Event Handling: Two event handling mechanisms; The delegation event model; Event classes; Sources of events; Event listener interfaces; Using the delegation event model; Adapter classes; Inner classes.

4. Swings 7 Hours

Swings: The origins of Swing; Two key Swing features; Components and Containers; The Swing Packages; A simple Swing Application; Create a Swing Applet; Jlabel and ImageIcon; JTextField;The Swing Buttons; JTabbedpane; JScrollPane; JList; JComboBox; JTable.

5. Java 2 Enterprise Edition Overview, Database Access 6 Hours

Overview of J2EE and J2SE.

The Concept of JDBC; JDBC Driver Types; JDBC Packages; A Brief Overview of the JDBC process; Database Connection; Associating the JDBC/ODBC Bridge with the Database; Statement Objects; ResultSet; Transaction Processing; Metadata, Data types; Exceptions.

6. Servlets 7 Hours

Background; The Life Cycle of a Servlet; Using Tomcat for Servlet Development; A simple Servlet; The Servlet API; The Javax.servlet Package; Reading Servlet Parameter; The Javax.servlet.http package; Handling HTTP Requests and Responses; Using Cookies; Session Tracking.

7. JSP, RMI 6 Hours

Java Server Pages (JSP): JSP, JSP Tags, Tomcat, Request String, User Sessions, Cookies, Session Objects.

Java Remote Method Invocation: Remote Method Invocation concept; Server side, Client side.

8. Enterprise Java Beans 7 Hours

Enterprise java Beans; Deployment Descriptors; Session Java Bean, Entity Java Bean; Message-Driven Bean; The JAR File.

Text Books:


 * 1) Herbert Schildt: Java The Complete Reference, 7th Edition, Tata McGraw Hill, 2007.

(Chapters 1, 2, 3, 4, 5, 6, 8, 10, 11, 21, 22, 29, 30, 31)


 * 1) Jim Keogh: J2EE The Complete Reference, Tata McGraw Hill, 2007.

(Chapters 5, 6, 11, 12, 15)

Reference Books:


 * 1) Y. Daniel Liang: Introduction to JAVA Programming, 6th Edition, Pearson Education, 2007.
 * 2) Stephanie Bodoff et al: The J2EE Tutorial, 2nd Edition, Pearson Education, 2004.

Software Engineering

Subject Code: 07MCA42I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) Overview 6 Hours

Introduction: FAQ's about software engineering, Professional and ethical responsibility.

Socio-Technical systems: Emergent system properties; Systems engineering; Organizations, people and computer systems; Legacy systems.


 * 1) Critical Systems, Software Processes 6 Hours

Critical Systems: A simple safety-critical system; System dependability; Availability and reliability.

Software Processes: Models, Process iteration, Process activities; The Rational Unified Process; Computer-Aided Software Engineering.


 * 1) Requirements  7 Hours

Software Requirements: Functional and Non-functional requirements; User requirements; System requirements; Interface specification; The software requirements document.

Requirements Engineering Processes: Feasibility studies; Requirements elicitation and analysis; Requirements validation; Requirements management.


 * 1) System models, Project Management 7 Hours

System Models: Context models; Behavioral models; Data models; Object models; Structured methods.

Project Management: Management activities; Project planning; Project scheduling; Risk management.


 * 1) Software Design  7 Hours

Architectural Design: Architectural design decisions; System organization; Modular decomposition styles; Control styles.

Object-Oriented design: Objects and Object Classes; An Object-Oriented design process; Design evolution.


 * 1) Development 6 Hours

Rapid Software Development: Agile methods; Extreme programming; Rapid application development.

Software Evolution: Program evolution dynamics; Software maintenance; Evolution processes; Legacy system evolution.


 * 1) Verification and Validation  7 Hours 

Verification and Validation: Planning; Software inspections; automated static analysis; Verification and formal methods.

Software testing: System testing; Component testing; Test case design; Test automation.


 * 1) Management  6 Hours 

Managing People: Selecting staff; Motivating people; Managing people; The People Capability Maturity Model.

Software Cost Estimation: Productivity; Estimation techniques; Algorithmic cost modeling, Project duration and staffing.

Text Books:

1. Ian Sommerville: Software Engineering, 8th Edition, Person Education Ltd., 2007.

(Chapters-: 1, 2, 3, 4, 5, 6, 7, 8, 11, 14, 17, 21, 22, 23, 25, 26)

Reference Books:


 * 1) Roger.S.Pressman: Software Engineering-A Practitioners approach, 7th Edition,McGraw-Hill, 2007.
 * 2) Shari Lawrence Pfleeger, Joanne M. Atlee : Software Engineering Theory and Practice, 3rd Edition, Pearson Education, 2006.
 * 3) Waman S Jawadekar: Software Engineering Principles and Practice, Tata McGraw Hill, 2004.

Web Programming

Subject Code: 07MCA43I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
1. Fundamentals of Web, XHTML - 1 12 Hours

Internet, WWW, Web Browsers, and Web Servers; URLs; MIME; HTTP; Security; The Web Programmers Toolbox.

XHTML: Origins and evolution of HTML and XHTML; Basic syntax; Standard XHTML document structure; Basic text markup; Images; Hypertext Links; Lists; Tables; Forms; Frames; Syntactic differences between HTML and XHTML.

2. CSS 6 Hours

Introduction; Levels of style sheets; Style specification formats; Selector forms; Property value forms; Font properties; List properties; Color; Alignment of text; The Box model; Background images; The and tags; Conflict resolution.

3. Javascript 8 Hours

Overview of Javascript; Object orientation and Javascript; General syntactic characteristics; Primitives, operations, and expressions; Screen output and keyboard input; Control statements; Object creation and modification; Arrays; Functions; Constructor; Pattern matching using regular expressions; Errors in scripts; Examples.

4. Javascript and HTML Documents, Dynamic Documents with Javascript 10 Hours

The Javascript execution environment; The Document Object Model; Element access in Javascript; Events and event handling; Handling events from the Body elements, Button elements, Text box and Password elements; The DOM 2 event model; The navigator object; DOM tree traversal and modification.

Introduction to dynamic documents; Positioning elements; Moving elements; Element visibility; Changing colors and fonts; Dynamic content; Stacking elements; Locating the mouse cursor; Reacting to a mouse click; Slow movement of elements; Dragging and dropping elements.

5. XML 6 Hours

Introduction; Syntax; Document structure; Document Type definitions; Namespaces; XML schemas; Displaying raw XML documents; Displaying XML documents with CSS; XSLT style sheets; XML processors; Web services.

6. Perl, CGI Programming 10 Hours

Origins and uses of Perl; Scalars and their operations; Assignment statements and simple input and output; Control statements; Fundamentals of arrays; Hashes; References; Functions; Pattern matching; File input and output; Examples.

The Common Gateway Interface; CGI linkage; Query string format; CGI.pm module; A survey example; Cookies.

Text Books:


 * 1) Robert W. Sebesta: Programming the World Wide Web, 4thEdition, Pearson Education, 2008.

(Chapters 1 to 9)

Reference Books:


 * 1) M. Deitel, P.J. Deitel, A. B. Goldberg: Internet & World Wide Web How to H program, 3rd Edition, Pearson Education / PHI, 2004.
 * 2) Chris Bates: Web Programming Building Internet Applications, 3rd Edition, Wiley India, 2006.
 * 3) Xue Bai et al: The Web Warrior Guide to Web Programming, Thomson, 2003.

Design and Analysis of Algorithms

Subject Code: 07MCA44I.A. Marks: 50

Hours/Week: 4Exam Hours: 03

Total Hours: 52Exam Marks: 100

1. Introduction 6 Hours

Notion of Algorithm, Fundamentals of Algorithmic Problem Solving, Important Problem Types, Fundamental data Structures

2. Fundamentals of the Analysis of Algorithm Efficiency 6 HoursAnalysis Framework, Asymptotic Notations and Basic efficiency classes, Mathematical analysis of Recursive and Nonrecursive algorithms, Examples

3. Brute Force 3 Hours

Selection Sort and Bubble Sort, Sequential Search and String Matching, Exhaustive Search

4. Divide-and-Conquer 5 Hours

Mergesort, Quicksort, Binary Search, Binary tree Traversals and related properties, Multiplication of large integers, Stressen’s Matrix Multiplication

5. Decrease-and-Conquer 5 Hours

Insertion Sort, Depth First and Breadth First Search, Topological sorting, Algorithms for Generating Combinatorial Objects.

6. Transform-and-Conquer 5 Hours

Presorting, Balanced Search Trees, Heaps and Heapsort, Problem Reduction

7. Space and Time Tradeoffs 4 Hours 

Sorting by Counting, Input Enhancement in String Matching, Hashing

8. Dynamic Programming 4 Hours

Computing a binomial coefficient, Warshall’s and Floyd’s Algorithms, The Knapsack Problem and Memory Functions

9. Greedy Technique 5 Hours

Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm, Huffman Trees

10. Limitations of Algorithm Power 4 Hours 

Lower-Bound Arguments, Decision Trees, P, NP and NP-Complete Problems

11. Coping with the Limitations of Algorithm Power 5 Hours

Backtracking, Branch-and-Bound, Approximation Algorithm for NP-Hard problems.

Text Books:


 * 1) Anany Levitin: Introduction to the Design and Analysis of Algorithms, Pearson Education, 2003.

(Chapters 1.1-1.4, 2.1-2.5, 3.1, 3.2, 3.4, 4.1-4.5, 5.1-5.4, 6.1, 6.3, 6.4, 6.6, 7.1-7.3, 8.1, 8.2, 8.4, 9.1-9.4, 10.1-10.3, 11.1-11.3)

Reference Books: 


 * 1) Coremen T.H., Leiserson C.E., and Rivest R.L.: Introduction to Algorithms, PHI, 1998.
 * 2) Horowitz E., Sahani S., Rajasekharan S.: Computer Algorithms, Galgotia Publications, 2001.

Computer Graphics and Visualization 

Hours/Week : 04Exam Hours: 03
Total Hours : 52Exam Marks: 100


 * 1) Introduction 7 Hours

Applications of computer graphics; A graphics system; Images: Physical and synthetic; The human visual system; The pinhole camera; The synthetic camera model; The programmer’s interface; Graphics architectures.

Graphics Programming: The Sierpinski gasket.

2. The OpenGL 6 Hours

The OpenGL API; Primitives and attributes; Color; Viewing; Control functions; The Gasket program; Polygons and recursion; The three-dimensional gasket.

3. Input and Interaction 6 Hours

Interaction; Input devices; Clients and servers; Display lists; Programming event-driven input; Menus; Picking; A simple paint program; Animating interactive programs; Design of interactive programs.

4. Geometric Objects and Transformations 7 Hours

Scalars, points, and vectors; Three-dimensional primitives; Coordinate systems and frames; Modeling a colored cube; Affine transformations; Rotation, translation and scaling; Transformation in homogeneous coordinates; OpenGL transformation matrices; Interfaces to three-dimensional applications.

5. Viewing 7 Hours

Classical and computer viewing; Positioning of the camera; Simple projections; Projections in OpenGL; Hidden-surface removal; Walking through a scene; Parallel-projection matrices; Perspective-projection matrices; Projections and shadows.

6. Shading 6 Hours

Light and matter; Light sources; The Phong reflection model; Computation of vectors; Polygonal shading; Approximation of a sphere by recursive subdivisions; Light surfaces in OpenGL; Specification of materials in OpenGL; Shading of the sphere model; Global rendering.

7. Implementation 7 Hours

The major tasks; Implementation of transformations; Line-segment clipping; Polygon clipping; Clipping of other primitives; Clipping in three dimensions; Hidden-surface removal; Scan conversion; Bresenham’s algorithm; Scan conversion of polygons; Antialiasing; Display considerations.

8. Visualization 6 Hours

Data + Geometry; Height field and contours; Visualizing surfaces and scalar fields; Isosurfaces and marching cubes; Direct volume rendering; Vector-field visualization; Tensor-visualization.

Text Books:

1. Edward Angel: Interactive Computer Graphics A Top-Down Approach with OpenGL, 2nd Edition, Addison-Wesley, 2000.

(Chapters 1, 2, 3, 4, 5, 6, 7, 12)

Reference Books:

1. F.S. Hill,Jr.: Computer Graphics Using OpenGL, 2nd Edition, Pearson education / PHI, 2001.

2. James D Foley, Andries Van Dam, Steven K Feiner, John F Hughes: Computer Graphics, Addison-Wesley, 1997.

3. Donald Hearn and Pauline Baker: Computer Graphics- C Version, 2nd Edition, Pearson Education / PHI, 2003.

UNIX Systems Programming 

Subject Code: 07MCA452I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) Introduction  6 Hours

UNIX and ANSI Standards: The ANSI C Standard, The ANSI/ISO C++ Standards, Difference between ANSI C and C++, The POSIX Standards, The POSIX.1 FIPS Standard, The X/Open Standards.

UNIX and POSIX APIs: The POSIX APIs, The UNIX and POSIX Development Environment, API Common Characteristics.


 * 1) UNIX Files  6 Hours

File Types, The UNIX and POSIX File System, The UNIX and POSIX File Attributes, Inodes in UNIX System V, Application Program Interface to Files, UNIX Kernel Support for Files, Relationship of C Stream Pointers and File Descriptors, Directory Files, Hard and Symbolic Links.

3. UNIX File APIs 7 Hours

General File APIs, File and Record Locking, Directory File APIs, Device File APIs, FIFO File APIs, Symbolic Link File APIs, General File Class, regfile Class for Regular Files, dirfile Class for Directory Files, FIFO File Class, Device File Class, Symbolic Link File Class, File Listing Program.


 * 1) UNIX Processes 7 Hours

The Environment of a UNIX Process: Introduction, main function, Process Termination, Command-Line Arguments, Environment List, Memory Layout of a C Program, Shared Libraries, Memory Allocation, Environment Variables, setjmp and longjmp Functions, getrlimit, setrlimit Functions, UNIX Kernel Support for Processes.

5. Process Control 7 Hours

Introduction, Process Identifiers, fork, vfork, exit, wait, waitpid, waited, wait3, wait4 Functions, Race Conditions, exec Functions, Changing User IDs and Group IDs, Interpreter Files, system Function, Process Accounting, User Identification, Process Times.

Process Relationships: Introduction, Terminal Logins, Network Logins, Process Groups, Sessions, Controlling Terminal, tcgetpgrp, tcsetpgrp, and tcgetsid Functions, Job Control, Shell Execution of Programs, Orphaned Process Groups.


 * 1) Signals and Daemon Processes 7 Hours

Signals: The UNIX Kernel Support for Signals, signal, Signal Mask, sigaction, The SIGCHLD Signal and the waitpid Function, The sigsetjmp and siglongjmp Functions, Kill, Alarm, Interval Timers, POSIX.lb Timers.

Daemon Processes: Introduction, Daemon Characteristics, Coding Rules, Error Logging, Single-instance daemons; Daemon conventions; Client-Server Model.


 * 1) Interprocess Communication - 1  6 Hours

Introduction; Pipes, popen, pclose Functions; Coprocesses; FIFOs; XSI IPC; Message Queues; Semaphores.


 * 1) Network IPC: Sockets  6 Hours

Introduction; Socket Descriptors; Addressing; Connection establishment; Data transfer; Socket options; Out-of-band data; Nonblocking and asynchronous I/O.

Text Books:


 * 1) Terrence Chan: Unix System Programming Using C++, Prentice-Hall of India / Pearson Education, 1999..

(Chapters 1, 5, 6, 7, 8, 9)


 * 1) W.Richard Stevens, Stephen A. Rago: Advanced Programming in the UNIX Environment, 2nd Edition, Pearson Education / Prentice-Hall of India, 2005.

(Chapters 7, 8, 9, 13, 15, 16)

Reference Books:

1. Marc J. Rochkind: Advanced UNIX Programming, 2nd Edition, Pearson Education, 2005.

2. Maurice.J.Bach: The Design of the UNIX Operating System, Pearson Education / PHI, 1987.


 * 1) Uresh Vahalia: UNIX Internals, Pearson Education, 2001.

Multimedia Systems

Subject Code: 07MCA453I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
1. Introduction, Media and Data Streams, Audio Technology 7 Hours

Multimedia Elements; Multimedia Applications; Multimedia Systems Architecture; Evolving Technologies for Multimedia Systems; Defining Objects for Multimedia Systems; Multimedia Data Interface Standards; The need for Data Compression; Multimedia Databases.

Media: Perception Media, Representation Media, Presentation Media, Storage Media; Characterizing Continuous Media Data Streams.

Sound: Frequency, Amplitude, Sound Perception and Psychoacoustics; Audio Representation on Computers; Three Dimensional Sound Projection; Music and MIDI Standards; Speech Signals; Speech Output; Speech Input; Speech Transmission.

2. Graphics and Images, Video Technology, Computer-Based Animation 7 Hours

Capturing Graphics and Images Computer Assisted Graphics and Image Processing; Reconstructing Images; Graphics and Image Output Options.

Basics; Television Systems; Digitalization of Video Signals; Digital Television; Basic Concepts; Specification of Animations; Methods of Controlling Animation; Display of Animation; Transmission of Animation; Virtual Reality Modeling Language.

3. Data Compression - 1 6 Hours

Storage Space; Coding Requirements; Source, Entropy, and Hybrid Coding; Basic Compression Techniques; JPEG: Image Preparation, Lossy Sequential DCT-based Mode, Expanded Lossy DCT-based Mode, Lossless Mode, Hierarchical Mode.

4. Data Compression - 2 6 Hours

H.261 (Px64) and H.263: Image Preparation, Coding Algorithms, Data Stream, H.263+ and H.263L; MPEG: Video Encoding, Audio Coding, Data Stream, MPEG-2, MPEG-4, MPEG-7; Fractal Compression.

5. Optical Storage Media 6 Hours

History of Optical Storage; Basic Technology; Video Discs and Other WORMs; Compact Disc Digital Audio; Compact Disc Read Only Memory; CD-ROM Extended Architecture; Further CD-ROM-Based Developments; Compact Disc Recordable; Compact Disc Magneto-Optical; Compact Disc Read/Write; Digital Versatile Disc.

6. Content Analysis 6 Hours

Simple Vs. Complex Features; Analysis of Individual Images; Analysis of Image Sequences; Audio Analysis; Applications.

7. Data and File Format Standards 7 Hours

Rich-Text Format; TIFF File Format; Resource Interchange File Format (RIFF); MIDI File Format; JPEG DIB File Format for Still and Motion Images; AVI Indeo File Format; MPEG Standards; TWAIN.

8. Multimedia Application Design 7 Hours

Multimedia Application Classes; Types of Multimedia Systems; Virtual Reality Design; Components of Multimedia Systems; Organizing Multimedia Databases; Application Workflow Design Issues; Distributed Application Design Issues.

Text Books:


 * 1) Ralf Steinmetz, Klara Narstedt: Multimedia Fundamentals: Vol 1-Media Coding and Content Processing, 2nd Edition, Pearson Education / PHI, 2003.

(Chapters 2, 3, 4, 5, 6, 7, 8, 9)


 * 1) Prabhat K. Andleigh, Kiran Thakrar: Multimedia Systems Design, PHI, 2003.

(Chapters 1, 3, 7)

Reference Books:


 * 1) K.R Rao, Zoran S. Bojkovic and Dragorad A. Milovanovic: Multimedia Communication Systems: Techniques, Standards, and Networks, Pearson Education, 2002.
 * 2) Nalin K Sharad: Multimedia information Networking, PHI, 2002.

Pattern Recognition

Subject Code: 07MCA454I.A. Marks : 50
 Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
1. Introduction 6 Hours

Machine perception, an example; Pattern Recognition System; The Design Cycle; Learning and Adaptation

2. Bayesian Decision Theory 7 Hours

Introduction, Bayesian Decision Theory; Continuous Features, Minimum error rate, classification, classifiers, discriminant functions, and decision surfaces; The normal density; Discriminant functions for the normal density.

3. Maximum-likelihood and Bayesian Parameter Estimation 7 Hours

Introduction; Maximum-likelihood estimation; Bayesian Estimation; Bayesian parameter estimation: Gaussian Case, general theory; Hidden Markov Models.

4. Non-parametric Techniques 6 Hours

Introduction; Density Estimation; Parzen windows; kn– Nearest- Neighbor Estimation; The Nearest- Neighbor Rule; Metrics and Nearest-Neighbor Classification.

5. Linear Discriminant Functions 7 Hours

Introduction; Linear Discriminant Functions and Decision Surfaces; Generalized Linear Discriminant Functions; The Two-Category Linearly Separable case; Minimizing the Perception Criterion Functions; Relaxation Procedures; Non-separable Behavior; Minimum Squared-Error procedures; The Ho-Kashyap procedures.

6. Stochastic Methods 6 Hours

Introduction; Stochastic Search; Boltzmann Learning; Boltzmann Networks and Graphical Models; Evolutionary Methods.

7. Non-Metric Methods 6 Hours

Introduction; Decision Trees; CART; Other Tree Methods; Recognition with Strings; Grammatical Methods.

8. Unsupervised Learning and Clustering 7 Hours

Introduction; Mixture Densities and Identifiability; Maximum-Likelihood Estimates; Application to Normal Mixtures; Unsupervised Bayesian Learning; Data Description and Clustering; Criterion Functions for Clustering.

Text Books:

1. Richard O. Duda, Peter E. Hart, and David G.Stork: Pattern Classification, 2nd Edition, Wiley-Interscience, 2001.

Reference Books:

1. Earl Gose, Richard Johnsonbaugh, Steve Jost : Pattern Recognition and Image Analysis, Pearson Education / PHI, 2007.

Principles of User Interface Design

Subject Code: 07MCA455 I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) Human Factors of Interactive Software, Theories, Principles and Guidelines   7 Hours

Introduction, Goals of Systems Engineering, Goals of Interface Design, Motivation for Human Factors in Design, Accommodation of Human Diversity, Goals for the Profession, High Level Theories, Object-Action Interface Model, Principle 1: Recognize the Diversity, Principle 2: Use the Eight Golden Rules of Interface Design, Principle 3: Prevent Errors, Guidelines for Date Display, Guidelines for Data Entry, Balance of Automation and Human Control.

Management Issue 6 Hours
Introduction, Organizational Design to Support Usability, The Three Pillars of Design, Development Methodologies, Ethnographic Observation, Participatory Design, Scenario Development, Social Impact Statement for Early Design Review, Legal Issues.

Expert Reviews, Usability Testing and Laboratories, Surveys, Acceptance Tests, Evaluation During Active Use, Controlled Psychologically Oriented Experiments


 * 1) Tools and Environments 7 Hours

Introduction, Specification Methods, Interface-Building Tools, Evaluation and Critiquing Tools.

Introduction, Examples of Direct-Manipulation Systems, Explanations of Direct Manipulation, Visual Thinking and Icons, Direct Manipulation Programming, Home Automation, Remote Direct Manipulation Virtual Environments.

Menus, Forms, Dialog Boxes and Commands 6 Hours
Task Related Organization, Item Presentation Sequence, Response Time and Display Rate, Fast Movement through Menus, Menu Layout, Form Fillin, Dialog Boxes.

Functionality to support Users Tasks, Command-Organization Strategies, The Benefits of Structure, Naming and Abbreviations, Command Menus, Natural Language in Computing.


 * 1) Interaction Devices and Response Time  7 Hours

Interaction Devices, Introduction, Keyboards and Function Keys, Pointing Devices, Speech Recognition, Digitization, and Generation, Image and Vide Displays, Printers. Theoretical Foundations, Expectations and Attitudes.


 * 1) Presentation Styles, Manuals, Help, and Tutorials - 1 6 Hours

Error Messages, Non-anthropomorphic Design, Display Design, Color. Reading from Paper Versus from Displays.


 * 1) Presentation Styles, Manuals, Help, and Tutorials – 2

Multiple-Window Strategies, Hypermedia and the World Wide Web – 1  7 Hours

Preparation of Printed Manuals, Preparation of Online Facilities.

Multiple-Window Strategies: Introduction, Individual-Window Design, Multiple- window Design, Co-ordination by Tightly Coupled Windows, Image Browsing and Tightly Coupled Windows, Personal Role Management an Elastic Windows.


 * 1) Multiple-Window Strategies, Hypermedia and the World Wide Web – 2  6 Hours 

Genres and Goals and Designers, Users and Their Tasks, Object-Action Interface Model for Web Site Design.

Text Books:


 * 1) Ben Shneiderman: Designing the User Interface, 3rd Edition, Addison-Wesley, 1998.

(Chapters 1 to 13, and 16)

Reference Books:


 * 1) Alan J Dix et. al.: Human-Computer Interaction, II Edition, Prentice-Hall, India,1998
 * 2) Eberts: User Interface Design, Prentice-Hall, 1994.

3. Wilber O Galitz: The Essential Guide to User Interface Design - An Introduction to GUI Design, Principles and Techniques, Wiley-Dreamtech India Pvt. Ltd, 1998.

Advanced Computer Networks

Subject Code: 07MCA456IA Marks : 50Hours/Week: 04Exam Hours: 03

Total Hours: 52Exam Marks: 100

1. Review of Network Models 5 Hours

Layered tasks; The OSI model and layers in the OSI model; TCP / IP protocol suite; Addressing.

2. SONET / SDH 5 Hours

Architecture; SONET layers; SONET frames; STS multiplexing; SONET networks; Virtual tributaries.

3. Frame Relay and ATM 4 Hours

Frame relay; ATM and ATM LANs

4. IPv6, Address Mapping and Error Reporting 6 Hours

IPv6: Advantages, Packet format, and Extension headers; Transition from IPv4 to IPv6: Dual stack, Tunneling, and Header translation; Address mapping: ARP, RARP, BOOTP, and DHCP; Error reporting: ICMP.

5. Multicast Routing Protocols 4 Hours

Unicast, multicast and broadcast; Applications; Multicasting routing; Routing protocols.

6. SCTP 4 Hours

SCTP services; SCTP features; Packet format; An SCTP association; Flow control; Error control; Congestion control.

7. Congestion Control and Quality of Service 6 Hours

Data traffic; Congestion and congestion control; Congestion control in TCP, Frame relay; Quality of Service; Techniques to improve QoS; Integrated services; Differentiated services.

8. Multimedia 6 Hours

Digitizing audio and video; Audio and video compression; Streaming stored audio / video; Streaming live audio / video; Real-time interactive audio / video; RTP; RTCP; VoIP.

9. Mobile Ad-Hoc Networks, Wireless Sensor Networks 12 Hours

Overview of wireless ad-hoc networks; Routing in ad-hoc networks; Routing protocols for ad-hoc networks; Security of ad-hoc networks.Sensor networks and protocol structures; Communication energy model; Clustering protocols; Routing protocols; Zigbee technology and IEEE 802.15.4

Text Books:


 * 1) Behrouz A. Forouzan, Data Communications and Networking, 4th Edition, Tata McGraw-Hill, 2006.

(Chapters 2, 17, 18, 20.3, 20.4, 21.1, 21.2, 22.4, 23.4, 24, 29)


 * 1) Nader F. Mir: Computer and Communication Networks, Pearson, 2007.

(Chapters 19, 20 excluding 20.5)

References: 

1. William Stallings, Data and Computer Communication, 5th Edition, Prentice Hall India.

2. William A. Shay, Understanding Data Communications and Networks, 2nd Edition, Thomson.


 * 1) Godbole, Data Communications and Networks, Tata McGraw-Hill 2002.
 * 2) Micael A. Gallo & William M. Handcock, Computer
 * 3) Communications and Networking Technologies, 2003 Edition, Thomson.

Java and J2EE Laboratory

Subject Code: 07MCA46I.A Marks: 50Hours/Week: 3Exam Hours: 03

Total Hours: 42Exam Marks: 50


 * 1) a) Write a JAVA Program to demonstrate Constructor Overloading and Method overloading.
 * 1) a) Write a JAVA Program to demonstrate Constructor Overloading and Method overloading.
 * 1) a) Write a JAVA Program to demonstrate Constructor Overloading and Method overloading.
 * 1) a) Write a JAVA Program to demonstrate Constructor Overloading and Method overloading.
 * 1) a) Write a JAVA Program to demonstrate Constructor Overloading and Method overloading.
 * 1) a) Write a JAVA Program to demonstrate Constructor Overloading and Method overloading.
 * 1) a) Write a JAVA Program to demonstrate Constructor Overloading and Method overloading.

b) Write a JAVA Program to implement Inner class and demonstrate its Access Protections.


 * 1) a) Write a JAVA Program to implement Inheritance.

b) Write a JAVA Program to implement Exception Handling (Using Nested try catch and finally).


 * 1) a) Write a JAVA Program to create an Interface and implement it in a class.

b) Write a JAVA Program to create a class (extending Thread) and use methods Thread class to change name, priority, of the current Thread and display the same.


 * 1) a) Write a JAVA Program to create a Scrolling Text using JAVA Applets.

b)Write a JAVA Program to pass parameters to Applets and display the same.


 * 1) Write a JAVA Program to insert data into Student DATA BASE and retrieve info base on particular queries (Using JDBC Design Front end using Swings).
 * 2) Write a JAVA Program to implement Client Server (Client requests a file,Server responds to client with contents of that file which is then display on the screen by Client – Socket Programming).
 * 3) Write a JAVA Program to implement a simple Client Server Application using RMI.
 * 4) Write a JAVA Servlet Program to implement a dynamic HTML using Servlet (user name and password should be accepted using HTML and displayed using a Servlet).
 * 5) Write a JAVA Servlet Program to Download a file and display it on the screen (A link has to be provided in HTML, when the link is clicked corresponding file has to be displayed on Screen)
 * 6) a) Write a JAVA Servlet Program to implement RequestDispatcher object (use include and forward methods).

b)Write a JAVA Servlet Program to implement and demonstrate get and Post methods(Using HTTP Servlet Class).


 * 1) Write a JAVA Servlet Program to implement sendRedirect method(using HTTP Servlet Class).
 * 2) Write a JAVA Servlet Program to implement sessions (Using HTTP Session Interface).
 * 3) a) Write a JAVA JSP Program to print 10 even and 10 odd number.

b) Write a JAVA JSP Program to implement verification of a particular user login and display a welcome page.


 * 1) Write a JAVA JSP Program to get student information through a HTML and create a JAVA Bean Class, populate Bean and display the same information through another JSP.

Web Programming Laboratory

Subject Code: 07MCA47I.A. Marks : 50
Hours/Week : 03Exam Hours: 03

Total Hours : 42Exam Marks: 50
'''Note: One exercise must be asked in the examination. '''

The assignment of the exercise must be based on lots.


 * 1) Develop and demonstrate a XHTML document that illustrates the use external style sheet, ordered list, table, borders, padding, color, and the tag.
 * 2) Develop and demonstrate a XHTML file that includes Javascript script for the following problems:


 * 1) Input: A number n obtained using prompt

Output: The first n Fibonacci numbers

b) Input: A number n obtained using prompt

Output: A table of numbers from 1 to n and their squares using alert


 * 1) Develop and demonstrate a XHTML file that includes Javascript script that uses functions for the following problems:


 * 1) Parameter: A string

Output: The position in the string of the left-most vowel

b) Parameter: A number

Output: The number with its digits in the reverse order


 * 1) a) Develop and demonstrate, using Javascript script, a XHTML document that collects the USN ( the valid format is: A digit from 1 to 4 followed by two upper-case characters followed by two digits followed by two upper-case characters followed by three digits; no embedded spaces allowed) of the user. Event handler must be included for the form element that collects this information to validate the input. Messages in the alert windows must be produced when errors are detected.

b) Modify the above program to get the current semester also (restricted to be a number from 1 to 8)


 * 1) a) Develop and demonstrate, using Javascript script, a XHTML document that contains three short paragraphs of text, stacked on top of each other, with only enough of each showing so that the mouse cursor can be placed over some part of them. When the cursor is placed over the exposed part of any paragraph, it should rise to the top to become completely visible.

b) Modify the above document so that when a paragraph is moved from the top stacking position, it returns to its original position rather than to the bottom.


 * 1) a) Design an XML document to store information about a student in an engineering college affiliated to VTU. The information must include USN, Name, Name of the College, Brach, Year of Joining, and e-mail id. Make up sample data for 3 students. Create a CSS style sheet and use it to display the document.

b) Create an XSLT style sheet for one student element of the above document and use it to create a display of that element.


 * 1) a) Write a Perl program to display various Server Information like Server Name, Server Software, Server protocol, CGI Revision etc.

b) Write a Perl program to accept UNIX command from a HTML form and to display the output of the command executed.


 * 1) a) Write a Perl program to accept the User Name and display a greeting message randomly chosen from a list of 4 greeting messages.

b) Write a Perl program to keep track of the number of visitors visiting the web page and to display this count of visitors, with proper headings.


 * 1) Write a Perl program to display a digital clock which displays the current time of the server.
 * 2) Write a Perl program to insert name and age information entered by the user into a table created using MySQL and to display the current contents of this table.
 * 3) Write a PHP program to store current date-time in a COOKIE and display the ‘Last visited on’ date-time on the web page upon reopening of the same page.
 * 4) Write a PHP program to store page views count in SESSION, to increment the count on each refresh, and to show the count on web page.
 * 5) Create a XHTML form with Name, Address Line 1, Address Line 2, and E-mail text fields. On submitting, store the values in MySQL table. Retrieve and display the data based on Name.
 * 6) Using PHP and MySQL, develop a program to accept book information viz. Accession number, title, authors, edition and publisher from a web page and store the information in a database and to search for a book with the title specified by the user and to display the search results with proper headings.

ALGORITHMS LABORATORY

Subject Code: 07MCA48I.A. Marks : 50
Hours/Week : 03Exam Hours: 03

Total Hours : 42Exam Marks: 50
Implement the following using C/C++ Language.


 * 1) Implement Recursive Binary search and Linear search and determine the time required to search an element. Repeat the experiment for different values of n, the number of elements in the list to be searched and plot a graph of the time taken versus n.
 * 2) Sort a given set of elements using the Heapsort method and determine the time required to sort the elements. Repeat the experiment for different values of n, the number of elements in the list to be sorted and plot a graph of the time taken versus n.
 * 3) Sort a given set of elements using Merge sort method and determine the time required to sort the elements. Repeat the experiment for different values of n, the number of elements in the list to be sorted and plot a graph of the time taken versus n.
 * 4) Sort a given set of elements using Selection sort and determine the time required to sort elements. Repeat the experiment for different values of n, the number of elements in the list to be sorted and plot a graph of the time taken versus n.
 * 5) a. Obtain the Topological ordering of vertices in a given digraph.

b. Implement All Pair Shortest paths problem using Floyd's algorithm.


 * 1) Implement 0/1 Knapsack problem using dynamic programming.
 * 2) From a given vertex in a weighted connected graph, find shortest paths to other vertices using Dijkstra's algorithm.
 * 3) Sort a given set of elements using Quick sort method and determine the time required sort the elements. Repeat the experiment for different values of n, the number of elements in the list to be sorted and plot a graph of the time taken versus n.
 * 4) Find Minimum Cost Spanning Tree of a given undirected graph using Kruskal's algorithm.
 * 5) a. Print all the nodes reachable from a given starting node in a digraph using BFS method.

b. Check whether a given graph is connected or not using DFS method.


 * 1) Find a subset of a given set S = {sl,s2,.....,sn} of n positive integers whose sum is equal to a given positive integer d. For example, if S= {1, 2, 5, 6, 8} and d = 9 there are two solutions{1,2,6}and{1,8}.A suitable message is to be displayed if the given problem instance doesn't have a solution.
 * 2) a. Implement Horspool algorithm for String Matching.

b. Find the Binomial Co-efficient using Dynamic Programming.


 * 1) Find Minimum Cost Spanning Tree of a given undirected graph using Prim’s algorithm.
 * 2) a. Implement Floyd’s algorithm for the All-Pairs- Shortest-Paths problem.

b. Compute the transitive closure of a given directed graph using Warshall's algorithm.


 * 1) Implement N Queen's problem using Back Tracking.

'''Note: In the examination questions must be given based on lots. '''

V SEMESTER

Object-Oriented Modeling and Design Patterns

Subject Code: 07MCA51I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
PART – A

1. Introduction, Modeling Concepts, class Modeling 7 Hours

What is Object Orientation? What is OO development? OO themes; Evidence for usefulness of OO development; OO modeling history.

Modeling as Design Technique: Modeling; abstraction; The three models.

Class Modeling: Object and class concepts; Link and associations concepts; Generalization and inheritance; A sample class model; Navigation of class models; Practical tips.

2. Advanced Class Modeling, State Modeling 6 Hours

Advanced object and class concepts; Association ends; N-ary associations; Aggregation; Abstract classes; Multiple inheritance; Metadata; Reification; Constraints; Derived data; Packages; Practical tips.

State Modeling: Events, States, Transitions and Conditions; State diagrams; State diagram behavior; Practical tips.

3. Advanced State Modeling, Interaction Modeling 6 Hours

Advanced State Modeling: Nested state diagrams; Nested states; Signal generalization; Concurrency; A sample state model; Relation of class and state models; Practical tips.

Interaction Modeling: Use case models; Sequence models; Activity models.

Use case relationships; Procedural sequence models; Special constructs for activity models.

4. Process Overview, System Conception, Domain Analysis 7 Hours

Process Overview: Development stages; Development life cycle.

System Conception: Devising a system concept; Elaborating a concept; Preparing a problem statement.

Domain Analysis: Overview of analysis; Domain class model; Domain state model; Domain interaction model; Iterating the analysis.

5. Application Analysis, System Design 7 Hours

Application Analysis: Application interaction model; Application class model; Application state model; Adding operations.

Overview of system design; Estimating performance; Making a reuse plan; Breaking a system in to sub-systems; Identifying concurrency; Allocation of sub-systems; Management of data storage; Handling global resources; Choosing a software control strategy; Handling boundary conditions; Setting the trade-off priorities; Common architectural styles; Architecture of the ATM system as the example.

6. Class Design, Implementation Modeling, Legacy Systems 7 Hours

Class Design: Overview of class design; Bridging the gap; Realizing use cases; Designing algorithms; Recursing downwards, Refactoring; Design optimization; Reification of behavior; Adjustment of inheritance; Organizing a class design; ATM example.

Implementation Modeling: Overview of implementation; Fine-tuning classes; Fine-tuning generalizations; Realizing associations; Testing.

Legacy Systems: Reverse engineering; Building the class models; Building the interaction model; Building the state model; Reverse engineering tips; Wrapping; Maintenance.

7. Design Patterns, Idioms 12 Hours

What is a pattern and what makes a pattern? Pattern categories; Relationships between patterns; Pattern description; Communication Patterns: Forwarder-Receiver; Client-Dispatcher-Server; Publisher-Subscriber; Management Patterns: Command processor; View Handler; Idioms: Introduction; What can idioms provide? Idioms and style; Where to find idioms; Counted Pointer example.

Text Books:

1. Michael Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, 2nd Edition, Pearson Education / PHI, 2005.

(Chapters 1 to 17, 23)

2. Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal: Pattern-Oriented Software Architecture, A System of Patterns, Volume 1, John Wiley and Sons, 2006.

(Chapters 1, 3.5, 3.6, 4)

Reference Books:

1. Grady Booch et al: Object-Oriented Analysis and Design with Applications, 3rd Edition, Pearson, 2007.

2. Mark Priestley: Practical Object-Oriented Design with UML, 2nd Edition, Tata McGraw-Hill, 2003.

3. K. Barclay, J. Savage: Object-Oriented Design with UML and JAVA, Elsevier, 2008.

4. Booch, G., Rumbaugh, J., and Jacobson, I.: The Unified Modeling Language User Guide, 2nd Edition, Pearson, 2005.

5. E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns- Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.

6. Simon Bennett, Steve McRobb and Ray Farmer: Object-Oriented Systems Analysis and Design Using UML, 2nd Edition, Tata McGraw-Hill, 2002.

System Modeling and Simulation

Subject Code: 07MCA52IA Marks : 50

Hours/Week: 04Exam Hours: 03

Total Hours: 52Exam Marks: 100

1. Introduction  8 Hours

When simulation is the appropriate tool and when it is not appropriate; Advantages and disadvantages of Simulation; Areas of application; Systems and system environment; Components of a system; Discrete and continuous systems; Model of a system; Types of Models; Discrete-Event System Simulation; Steps in a Simulation Study.

Simulation examples: Simulation of queuing systems; Simulation of inventory systems; Other examples of simulation

2. General Principles, Simulation Software 6 Hours

Concepts in Discrete-Event Simulation: The Event-Scheduling / Time-Advance Algorithm, World Views, Manual simulation Using Event Scheduling; List processing.

Simulation in Java; Simulation in GPSS.

3. Statistical Models in Simulation 6 Hours

Review of terminology and concepts; Useful statistical models; Discrete distributions; Continuous distributions; Poisson process; Empirical distributions.

4. Queuing Models 6 Hours

Characteristics of queuing systems; Queuing notation; Long-run measures of performance of queuing systems; Steady-state behavior of M/G/1 queue; Networks of queues.

5. Random-Number Generation, Random-Variate Generation 8 Hours

Properties of random numbers; Generation of pseudo-random numbers; Techniques for generating random numbers; Tests for Random Numbers.

Random-Variate Generation: Inverse transform technique; Acceptance-Rejection technique; Special properties.

6. Input Modeling 6 Hours 

Data Collection; Identifying the distribution with data; Parameter estimation; Goodness of Fit Tests; Fitting a non-stationary Poisson process; Selecting input models without data; Multivariate and Time-Series input models'''. '''

7. Output Analysis for a Single Model 6 Hours 

Types of simulations with respect to output analysis; Stochastic nature of output data; Measures of performance and their estimation; Output analysis for terminating simulations; Output analysis for steady-state simulations.

8. Verification and Validation of Simulation Models, Optimization 6 Hours 

Model building, verification and validation; Verification of simulation models; Calibration and validation of models, Optimization via Simulation

Text Books:

1. Jerry Banks, John S. Carson II, Barry L. Nelson, David M. Nicol: Discrete-Event System Simulation, 4th Edition, Pearson Education / PHI, 2007.

(Chapters1, 2, 3, 4.4, 4.5, 5, 6.1 to 6.3, 6.4.1, 6.6, 7, 8, 9, 10, 11, 12.4)

Reference Books:


 * 1) Lawrence M. Leemis, Stephen K. Park: Discrete – Event Simulation: A First Course, Pearson / Prentice-Hall, 2006.
 * 2) Averill M. Law: Simulation Modeling and Analysis,4th Edition, Tata McGraw-Hill, 2007.

Topics in Enterprise Architecture - 2

Subject Code: 07MCA53I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) The philosophy of .NET  6 Hours

Understanding the Previous State of Affairs, The .NET Solution, The Building Block of the .NET Platform (CLR,CTS, and CLS), The Role of the .NET Base Class Libraries, What C# Brings to the Table, An Overview of .NET Binaries ( aka Assemblies ), the Role of the Common Intermediate Language, The Role of .NET Type Metadata, The Role of the Assembly Manifast, Compiling CIL to Platform –Specific Instructions, Understanding the Common Type System, Intrinsic CTS Data Types, Understanding the Common Languages Specification, Understanding the Common Language Runtime A tour of the .NET Namespaces, Increasing Your Namespace Nomenclature, Deploying the .NET Runtime


 * 1) Building C# Applications  6 Hours

The Role of the Command Line Complier (csc.exe), Building C # Application using csc.exe Working with csc.exe Response Files, Generating Bug Reports, Remaining C# Compiler Options, The Command Line Debugger (cordbg.exe) Using the, Visual Studio .NET IDE, Other Key Aspects of the VS.NET IDE, C# “Preprocessor:” Directives, An Interesting Aside: The System. Environment Class


 * 1) C# Language Fundamentals.  8 Hours

The Anatomy of a Basic C# Class, Creating objects: Constructor Basics, The Composition of a C# Application, Default Assignment and Variable Scope, The C# Member Initialization Syntax, Basic Input and Output with the Console Class, Understanding Value Types and Reference Types, The Master Node: System, Object, The System Data Types (and C# Aliases), Converting Between Value Types and Reference Types: Boxing and Unboxing, Defining Program Constants, C# Iteration Constructs, C# Controls Flow Constructs, The Complete Set of C# Operators, Defining Custom Class Methods, Understating Static Methods, Methods Parameter Modifies, Array Manipulation in C #, String Manipulation in C#, C# Enumerations, Defining Structures in C#, Defining Custom Namespaces.

4. Object- Oriented Programming with C# 6 Hours

Forms Defining of the C# Class, Definition the “Default Public Interface” of a Type, Recapping the Pillars of OOP, The First Pillars: C#’s Encapsulation Services, Pseudo- Encapsulation: Creating Read-Only Fields, The Second Pillar: C#’s Inheritance Supports, keeping Family Secrets: The “ Protected” Keyword, Nested Type Definitions, The Third Pillar: C #’s Polymorphic Support, Casting Between.


 * 1) Exceptions and Object Lifetime.  6 Hours

Ode to Errors, Bugs, and Exceptions, The Role of .NET Exception Handing, the System. Exception Base Class, Throwing a Generic Exception, Catching Exception, CLR System – Level Exception (System. System Exception), Custom Application-Level Exception (System. System Exception), Handling Multiple Exception, The Family Block, the Last Chance Exception Dynamically Identifying Application – and System Level Exception Debugging System Exception Using VS. NET, Understanding Object Lifetime, the CIT of “new’, The Basics of Garbage Collection,, Finalization a Type, The Finalization Process, Building an Ad Hoc Destruction Method, Garbage Collection Optimizations, The System. GC Type.

6. Interfaces and Collections  6 Hours 

Defining Interfaces Using C# Invoking Interface Members at the object Level, Exercising the Shapes Hierarchy, Understanding Explicit Interface Implementation, Interfaces As Polymorphic Agents, Building Interface Hierarchies, Implementing, Implementation, Interfaces Using VS .NET, understanding the IConvertible Interface, Building a Custom Enumerator (IEnumerable and Enumerator), Building Cloneable objects ( ICloneable), Building Comparable Objects ( I Comparable ), Exploring the system. Collections Namespace, Building a Custom Container (Retrofitting the Cars Type).

7. Callback Interfaces, Delegates, and Events, Advanced Techniques  8 Hours

Understanding Callback Interfaces, Understanding the .NET Delegate Type, Members of System. Multicast Delegate, The Simplest Possible Delegate Example,, Building More a Elaborate Delegate Example, Understanding Asynchronous Delegates, Understanding (and Using)Events.

The Advances Keywords of C#, A Catalog of C# Keywords Building a Custom Indexer, A Variation of the Cars Indexer Internal Representation of Type Indexer. Using C# Indexer from VB .NET. Overloading operators, The Internal Representation of Overloading Operators, interacting with Overload Operator from Overloaded- Operator- Challenged Languages, Creating Custom Conversion Routines, Defining Implicit Conversion Routines, The Internal Representations of Customs Conversion Routines

8. Understanding .NET Assembles 6 Hours

Problems with Classic COM Binaries, An Overview of .NET Assembly, Building a Simple File Test Assembly, A C#. Client Application, A Visual Basic .NET Client Application, Cross Language Inheritance, Exploring the CarLibrary’s, Manifest, Exploring the CarLibrary’s Types, Building the Multifile Assembly ,Using Assembly, Understanding Private Assemblies, Probing for Private Assemblies (The Basics), Private A Assemblies XML Configurations Files, Probing for Private Assemblies ( The Details), Understanding Shared Assembly, Understanding Shared Names, Building a Shared Assembly, Understanding Delay Signing, Installing/Removing Shared Assembly, Using a Shared Assembly

Text Books: 


 * 1) Andrew Troelsen: Pro C# with .NET 3.0, Special Edition, Dream tech Press, India, 2007.

Chapters: 1 to 11 (up to pp.369)


 * 1) E. Balagurusamy: Programming in C#,, 5th Reprint, Tata McGraw Hill, 2004.

(Programming Examples 3.7, 3.10, 5.5, 6.1, 7.2, 7.4, 7.5, 7.6, 8.1, 8.2, 8.3, 8.5, 87, 8.8, 9.1, 9.2, 9.3, 9.4, 10.2, 10.4, 11.2, 11.4, 12.1, 12.4, 12.5, 12.6, 13.1, 13.2, 13.3, 13.6, 14.1, 14.2, 14.4, 15.2, 15.3, 16.1, 16.2, 16.3, 18.3, 18.5.18.6.)

Reference Books: 


 * 1) Tom Archer: Inside C#, WP Publishers, 2001.
 * 2) Herbert Schildt: The Complete Reference C#,, Tata McGraw Hill, 2004.

Information Retrieval

Subject Code: 07MCA541I.A. Marks: 50

Hours/Week: 4Exam Hours: 3

Total Hours: 52Exam Marks: 100


 * 1) Introduction, Retrieval Strategies - 1  7 Hours

Introduction; Retrieval Strategies: Vector Space Model; Probabilistic Retrieval strategies

2. Retrieval Strategies – 2 6 Hours

Some More Retrieval Strategies: Language Models; Inference Networks; Extended Boolean Retrieval; Latent Semantic Indexing; Neural Networks; Genetic Algorithms; Fuzzy Set Retrieval.


 * 1) Retrieval Utilities 7 Hours

Relevance feedback; Clustering; Passage-Based Retrieval; N-Grams; Regression Analysis; Thesauri; Semantic Networks; Parsing.


 * 1) Indexing and Searching 6 Hours

Introduction; Inverted Files; Other indices for text; Boolean queries; Sequential searching; Pattern matching; Structural queries; Compression.


 * 1) Cross-Language Information Retrieval and Efficiency 6 Hours

Introduction; Crossing the language barrier; Cross-Language retrieval strategies; Cross language utilities. Duplicate Document Detection.


 * 1) Integrating Structured Data and Text 6 Hours

Review of the relational model; A historical progression; Information retrieval as a relational application; Semi-structured search using a relational schema; Multi-dimensional data model.


 * 1) Parallel Information Retrieval, Distributed Information Retrieval  7 Hours

Parallel text scanning; Parallel indexing; Clustering and classification; Large parallel systems; A theoretic model of distributed information retrieval; Web search; Result fusion; Peer-to-Peer information systems; Other architectures.

8. Multimedia IR 7 Hours

Introduction; data modeling; Query languages; Spatial access methods; A general multimedia indexing approach; One-dimensional time series; Two-dimensional color images; Automatic picture extraction.

Text Books:


 * 1) David A. Grossman, Ophir Frieder: Information Retrieval Algorithms and Heuristics, 2nd Edition, Springer, 2004.

(Chapters 1, 2, 3, 4, 5, 6, 7, 8)


 * 1) Ricardo Baeza-Yates, Berthier Ribeiro-Neto: Modern Information Retrieval, Pearson Education, 1999

(Chapters 8, 11, 12)

Reference Books :


 * 1) William B. Frakes, Ricardo Baeza-Yates (Editors):Information Retrieval Data Structures & Algorithms, Prentice Hall PTR, 1992.

Data Mining

Subject Code: 07MCA542I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
1. Introduction, Data - 1 6 Hours

What is Data Mining? Motivating Challenges; The origins of data mining; Data Mining Tasks. Types of Data; Data Quality.

2. Data – 2 6 Hours

Data Preprocessing; Measures of Similarity and Dissimilarity

3. Classification 8 Hours

Preliminaries; General approach to solving a classification problem; Decision tree induction; Rule-based classifier; Nearest-neighbor classifier.

4. Association Analysis - 1 6 Hours

Problem Definition; Frequent Itemset generation; Rule Generation; Compact representation of frequent itemsets; Alternative methods for generating frequent itemsets.

5. Association Analysis - 2 6 Hours

FP-Growth algorithm, Evaluation of association patterns; Effect of skewed support distribution; Sequential patterns.

6. Cluster Analysis 7 Hours

Overview, K-means, Agglomerative hierarchical clustering, DBSCAN, Overview of Cluster Evaluation.

7. Further Topics in Data Mining 7 Hours

Multidimensional analysis and descriptive mining of complex data objects; Spatial data mining; Multimedia data mining; Text mining; Mining the WWW. Outlier analysis.

8. Applications 6 Hours

Data mining applications; Data mining system products and research prototypes; Additional themes on Data mining; Social impact of Data mining; Trends in Data mining.

Text Books:

1. Pang-Ning Tan, Michael Steinbach, Vipin Kumar: Introduction to Data Mining, Pearson Education, 2007.

(Chapter 1, 2, 4.1 to 4.3, 5.1, 5.2, 6, 8.1 to 8.4, 8.5.1)

2. Jiawei Han and Micheline Kamber: Data Mining – Concepts and Techniques, 2nd Edition, Morgan Kaufmann, 2006.

(Chapters 7.11, 10, 11)

Reference Books:

1. K.P.Soman, Shyam Diwakar, V.Ajay: Insight into Data Mining – Theory and Practice, PHI, 2006.

Supply Chain Management

Subject Code: 07MCA543I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
= 1. Introduction to Supply Chain, Performance of Supply Chain 6 Hours =

What is a Supply Chain; Decision phases in a supply Chain; Process view of a Supply Chain; The importance of Supply Chain Flows; Examples of Supply Chains.
Competitive and Supply Chain strategies; Achieving strategic fit; Expanding strategic scope.

Drivers of Supply Chain Performance; A framework for structuring drivers; Facilities, Inventory, Transportation, and Information; Obstacles to achieve strategic fit.
The role of distribution in the Supply Chain; factors influencing distribution network design; Design options for a distribution network; the value of distributors in the Supply Chain; Distribution Networks in practice.

3. Network Design 7 Hours
== The role of network design in the Supply Chain; Factors influencing Network design Decisions; A framework for Network Design Decisions; Models for facility Location and Capacity Allocation; making Network Design decisions in practice. == == The impact of uncertainty on Network design; Discounted cash flow analysis; Representations of uncertainty; Evaluating Network Design decisions using Decision Trees; Making Supply Chain decisions under uncertainty in practice. ==

4. Demand Forecasting, Aggregate Planning 7 Hours
= The role of forecasting in a Supply Chain; Characteristics of forecast; Components of a forecast and forecasting methods; Basic approach of Demand forecasting; Time series forecasting methods; Measures of forecast errors; The role of aggregate planning in a supply Chain; The aggregate planning problem; Aggregate planning strategies. = = 5. Inventory Management 6 Hours = The role of cycle inventory in a supply Chain; Economies of scale to exploit fixed costs, quantity discounts; Short-term discounting; Managing multi-echelon cycle inventory; Estimating cycle inventory related costs in practice.

= 6. Transportation 7 Hours = The role of transportation in the Supply Chain; Factors affecting transportation decisions; Modes of transportation and their performance characteristics; Design options for a transportation network; Trade-offs in transportation design; Tailored transportation; Routing and scheduling in transportation; Making transportation decisions in practice.

= 7. Pricing and Revenue Management, Coordination 7 Hours = The role of revenue management in Supply Chain; revenue management for multiple customer segments, perishable assets, seasonal demand, and bulk and spot contracts; Using revenue management in practice.

Lack of Supply Chain coordination and Bullwhip effect; Effect of lack of coordination on performance; Obstacles to coordination in the Supply Chain; managerial levers to achieve coordination; Building strategic partnerships and trust within a supply Chain; Achieving coordination in practice.

8. IT, Internet and Supply Chain 6 Hours
The role of IT in the Supply Chain; The Supply Chain IT framework; CRM; Internal SCM; Supplier Relationship Management; The transaction management foundation; The future if IT in SCM; Supply Chain It in practice.

The role of E-Business in Supply Chain; The E-Business framework; The B2B addition to the E-Business framework; E-Business in practice

Text Books :


 * 1) Sunil Chopra, Pter Meindl: Supply Chain Management Strategy, Planning, and Operation, 2nd Edition, Prentice-Hall of India, 2004.

(Chapters 1, 2, 4, 4, 5, 6, 7, 8.1 to 8.3, 10, 14, 15, 16, 17, 18)

Reference Books:


 * 1) David Simchi-Levi, Philp Kaminky, Edith Simchi-Levi: Designing and Managing The Supply Chain Concepts, Strategies & Case Studies, 3rd Edition, tata McGraw Hill, 2003.
 * 2) R.P. Mohanty, S.G. Deshmukh: Supply Chain Management Theories & Practices, Bizmantra, 2005.

3. Rahul V. Altekar: Supply Chain Management Concepts and Cases, PHI, 2005.

4. M Martin Christopher: Logistics and Supply Chain Management, 2nd Edition, Pearson Education, 1998.

Network Management

Subject Code: 07MCA544IA Marks: 50

Hours/Week: 04Exam Hours: 03

Total Hours: 52Exam Marks: 100

1. Introduction 7 Hours 

Analogy of Telephone Network Management, Data and Telecommunication Network Distributed computing Environments, TCP/IP-Based Networks: The Internet and Intranets, Communications Protocols and Standards- Communication Architectures, Protocol Layers and Services; Case Histories of Networking and Management – The Importance of topology, Filtering Does Not Reduce Load on Node, Some Common Network Problems; Challenges of Information Technology Managers, Network Management: Goals, Organization, and Functions- Goal of Network Management, Network Provisioning, Network Operations and the NOC, Network Installation and Maintenance; Network and System Management, Network Management System platform, Current Status and Future of Network Management.

= 2. Basic Foundations: Standards, Models, and Language 6 Hours = == Network Management Standards, Network Management Model, Organization Model, Information Model – Management Information Trees, Managed Object Perspectives, Communication Model; ASN.1- Terminology, Symbols, and Conventions, Objects and Data Types, Object Names, An Example of ASN.1 from ISO 8824; Encoding Structure; Macros, Functional Model. == 3. SNMPv1 Network Management - 1 6 Hours

Managed Network: The History of SNMP Management, Internet Organizations and standards, Internet Documents, The SNMP Model, The Organization Model, System Overview.

4. SNMPv1 Network Management – 2 7 Hours

The Information Model – Introduction, The Structure of Management Information, Managed Objects, Management Information Base.

The SNMP Communication Model – The SNMP Architecture, Administrative Model, SNMP Specifications, SNMP Operations, SNMP MIB Group, Functional Model.

5. SNMP Management – RMON 6 Hours

Remote Monitoring, RMON SMI and MIB, RMONI1- RMON1 Textual Conventions, RMON1 Groups and Functions, Relationship Between Control and Data Tables, RMON1 Common and Ethernet Groups, RMON Token Ring Extension Groups, RMON2 – The RMON2 Management Information Base, RMON2 Conformance Specifications; ATM Remote Monitoring, A Case Study of Internet Traffic Using RMON.

6. Broadband Network Management: ATM Networks 6 Hours

== Broadband Networks and Services, ATM Technology – Virtual Path-Virtual Circuit, TM Packet Size, Integrated Service, SONET, ATM LAN Emulation, Virtual LAN; ATM Network Management – The ATM Network Reference Model, The Integrated Local Management Interface, The ATM Management Information Base, The Role of SNMP and ILMI in ATM Management, M1 Interface: Management of ATM Network Element, M2 Interface: Management of Private Networks, M3 Interface: Customer Network Management of Public Networks, M4 Interface: Public Network Management, Management of LAN Emulation, ATM Digital Exchange Interface Management. == 7. Broadband Network Management 6 Hours

== Broadband Access Networks and Technologies – Broadband Access Networks, roadband Access Technology; HFCT Technology – The Broadband LAN, The Cable Modem, The Cable Modem Termination System, The HFC Plant, The RF Spectrum for Cable Modem; Data Over Cable Reference Architecture; HFC Management – Cable Modem and CMTS Management, HFC Link Management, RF Spectrum Management, DSL Technology; Asymmetric Digital Subscriber Line Technology – Role of the ADSL Access Network in an Overall Network, ADSL Architecture, ADSL Channeling Schemes, ADSL Encoding Schemes; ADSL Management – ADSL Network Management Elements, ADSL Configuration Management, ADSL Fault Management, ADSL Performance Management, SNMP-Based ADSL Line MIB, MIB Integration with Interfaces Groups in MIB-2, ADSL Configuration Profiles. ==

8. Network Management Applications 8 Hours
Configuration Management- Network Provisioning, Inventory Management, Network Topology, Fault Management- Fault Detection, Fault Location and Isolation Techniques, Performance Management – Performance Metrics, Data Monitoring, Problem Isolation, Performance Statistics; Event Correlation Techniques – Rule-Based Reasoning, Model-Based Reasoning, Case-Based Reasoning, Codebook correlation Model, State Transition Graph Model, Finite State Machine Model, Security Management – Policies and Procedures, Security Breaches and the Resources Needed to Prevent Them, Firewalls, Cryptography, Authentication and Authorization, Client/Server Authentication Systems, Messages Transfer Security, Protection of Networks from Virus Attacks, Accounting Management, Report Management, Policy-Based Management, Service Level Management.

Text Books:

1. Mani Subramanian: Network Management- Principles and Practice, Pearson Education Publication, 2003.

Reference Books:

1. J. Richard Burke: Network management Concepts and Practices: a Hands-On Approach, PHI, 2008.

Compiler Design

Subject Code: 07MCA545IA Marks: 50

Hours/ Week: 04Exam Hours: 03

Total Hours: 52Exam Marks: 100

1. Introduction, Lexical analysis 8 Hours

Language processors; The structure of a Compilers; The evolution of programming languages; The science of building a compiler; Applications of Compiler technology; Programming language basics;

Lexical analysis: The Role of Lexical Analyzer; Input Buffering; Specifications of Tokens; Recognition of Tokens.

2. Syntax Analysis – 1 6 Hours

Introduction; Context-free Grammars; Writing a Grammar; Top-down Parsing.

3. Syntax Analysis – 2 6 Hours

Bottom-up Parsing; Introduction to LR Parsing: Simple LR.

4. Syntax Analysis – 3 6 Hours

More powerful LR parsers; Using ambiguous grammars; Parser Generators.

5. Syntax-Directed Translation 6 Hours

Syntax-Directed definitions; Evaluation order for SDDs; Applications of Syntax-directed translation; Syntax-directed translation schemes. 

6. Intermediate Code Generation 8 Hours

Variants of syntax trees; Three-address code; Types and declarations; Translation of expressions; Type checking; Control flow; Back patching; Switch statements; Intermediate code for procedures.

7. Run-Time Environments 6 Hours

Storage Organization; Stack allocation of space; Access to non-local data on the stack; Heap management; Introduction to garbage collection.

8. Code Generation 6 Hours

Issues in the design of Code Generator; The Target language; Addresses in the target code; Basic blocks and Flow graphs; Optimization of basic blocks; A Simple Code Generator.

Text Books:

1. Alfred V Aho, Monica S. Lam, Ravi Sethi, Jeffrey D Ullman: Compilers- Principles, Techniques and Tools, 2nd Edition, Addison-Wesley, 2007.

(Chapters 1, 3.1 to 3.4, 4, 5.1 to 5.4, 6, 7.1 to 7.5, 8.1 to 8.6)

Reference Books:


 * 1) Charles N. Fischer, Richard J. leBlanc, Jr.: Crafting a Compiler with C, Pearson Education, 1991.
 * 2) Andrew W Apple: Modern Compiler Implementation in C, Cambridge University Press, 1997.
 * 3) Kenneth C Louden: Compiler Construction Principles & Practice, Thomson Education, 1997.

Software Architectures

Subject Code: 07MCA546I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
1. Introduction 6 Hours

The Architecture Business Cycle: Where do architectures come from? Software processes and the architecture business cycle; What makes a “good” architecture? What software architecture is and what it is not; Other points of view; Architectural patterns, reference models and reference architectures; Importance of software architecture; Architectural structures and views.

2. Architectural Styles and Case Studies 7 Hours

Architectural styles; Pipes and filters; Data abstraction and object-oriented organization; Event-based, implicit invocation; Layered systems; Repositories; Interpreters; Process control; Other familiar architectures; Heterogeneous architectures.

Case Studies: Keyword in Context; Instrumentation software; Mobile robotics; Cruise control; Three vignettes in mixed style.

3. Quality 6 Hours

Functionality and architecture; Architecture and quality attributes; System quality attributes; Quality attribute scenarios in practice; Other system quality attributes; Business qualities; Architecture qualities.

Achieving Quality: Introducing tactics; Availability tactics; Modifiability tactics; Performance tactics; Security tactics; Testability tactics; Usability tactics; Relationship of tactics to architectural patterns; Architectural patterns and styles.

4. Architectural Patterns 20 Hours

Introduction; From mud to structure: Layers, Pipes and Filters, Blackboard.

Distributed Systems: Broker; Interactive Systems: MVC, Presentation-Abstraction-Control.

Adaptable Systems: Microkernel; Reflection.

7. Some Design Patterns 6 Hours

Structural decomposition: Whole – Part; Organization of work: Master – Slave; Access Control: Proxy.

8. Designing and Documenting Software Architecture 7 Hours

Architecture in the life cycle; Designing the architecture; Forming the team structure; Creating a skeletal system.

Uses of architectural documentation; Views; Choosing the relevant views; Documenting a view; Documentation across views.

Text Books:

1. Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, 2nd Edition, Pearson Education, 2003.

(Chapters 1, 2, 4, 5, 7, 9)

2. Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal: Pattern-Oriented Software Architecture, A System of Patterns, Volume 1, John Wiley and Sons, 2006.

(Chapters 2, 3.1 to 3.4)

3. Mary Shaw and David Garlan: Software Architecture- Perspectives on an Emerging Discipline, Prentice-Hall of India / Pearson Education, 2007.

(Chapters 1.1, 2, 3)

Reference Books:

1. E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns- Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.

Web site for Patterns: http://www.hillside.net/patterns/

Information and Network Security

Subject Code: 07MCA551I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100

 * 1) Planning for Security 6 Hours

Introduction; Information Security Policy, Standards, and Practices; The Information Security Blue Print; Contingency plan and a model for contingency plan.


 * 1) Security Technology 12 Hours

Introduction; Physical design; Firewalls; Protecting Remote Connections.

Introduction; Intrusion Detection Systems (IDS); Honey Pots, Honey Nets, and Padded cell systems; Scanning and Analysis Tools.


 * 1) Cryptography 8 Hours

Introduction; A short History of Cryptography; Principles of Cryptography; Cryptography Tools; Attacks on Cryptosystems.


 * 1) Introduction to Network Security, Authentication Applications  8 Hours

Attacks, services, and Mechanisms; Security Attacks; Security Services; A model for Internetwork Security; Internet Standards and RFCs.

Kerberos, X.509 Directory Authentication Service.


 * 1) Electronic Mail Security 6 Hours

Pretty Good Privacy (PGP); S/MIME.

7. IP Security 6 Hours

IP Security Overview; IP Security Architecture; Authentication Header; Encapsulating Security Payload; Combining Security Associations; Key Management.


 * 1) Web Security 6 Hours

Web security requirements; Secure Socket layer (SSL) and Transport layer Security (TLS); Secure Electronic Transaction (SET).

Text Books:


 * 1) Michael E. Whitman and Herbert J. Mattord: Principles of Information Security, 2nd Edition, Thomson, 2005.

(Chapters 5, 6, 7, 8; Exclude the topics not mentioned in the syllabus)


 * 1) William Stallings: Network Security Essentials: Applications and Standards, Pearson Education, 2000.

(Chapters: 1, 4, 5, 6, 7, 8)

Reference Book:

1. Behrouz A. Forouzan: Cryptography and Network Security, Special Indian Edition, Tata McGraw-Hill, 2007.

Software Testing

Subject Code: 07MCA552I.A. Marks: 50

Hours/Week: 4Exam Hours: 3

Total Hours: 52 Exam Marks: 100

1. Basics of Software Testing 12 Hours

Human Errors and Testing; Software Quality; Requirements, Behavior and Correctness; Correctness versus Reliability; Testing and Debugging; Test Metrics; Software and Hardware Testing; Testing and Verification; Defect Management; Execution History;

Test-generation Strategies, Static Testing.

Model-Based Testing and Model Checking; Control-Flow Graph; Types of Testing; The Saturation Effect.

2. Test Generation from Requirements, Structural Testing 20 Hours

Introduction; The Test-Selection Problem; Equivalence Partitioning; Boundary Value Analysis; Category-Partition Method.

Cause-Effect Graphing, Test Generation from Predicates.

Structural Testing: Overview; Statement testing; Branch testing; Condition testing, Path testing; Procedure call testing; Comparing structural testing criteria; The infeasibility problem.

3. Dependence, Data Flow Models, and Data Flow Testing 5 Hours

Definition-Use pairs; Data flow analysis; Classic analyses; From execution to conservative flow analysis; Data flow analysis with arrays and pointers; Inter-procedural analysis; Overview of data flow testing; Definition-Use associations; Data flow testing criteria; Data flow coverage with complex structures; The infeasibility problem.

4. Test Case Selection and Adequacy, Test Execution 5 Hours

Overview; Test specification and cases; Adequacy criteria; Comparing criteria; Overview of test execution; From test case specification to test cases; Scaffolding; Generic versus specific scaffolding; Test oracles; Self-checks as oracles; Capture and replay.

5. Process 10 Hours

Test and analysis activities within a software process: The quality process; Planning and monitoring; Quality goals; Dependability properties; Analysis; Testing; Improving the process; Organizational factors.

Integration and component-based software testing: Overview; Integration testing strategies; Testing components and assemblies.

System, Acceptance and Regression Testing: Overview; System testing; Acceptance testing; Usability; Regression testing; Regression test selection techniques; Test case prioritization and selective execution.

Text Books:

1. Aditya P Mathur: Foundations of Software Testing, Pearson Education, 2008.

(Chapters 1 excluding 1.15, 1.16, 1.17, 2, 6)

2. Mauro Pezze, Michal Young: Software Testing and Analysis – Process, Principles and

Techniques, John Wiley & Sons, 2008.

(Chapters 4, 6, 9, 12, 13, 17, 21, 22)

Reference Books:

1. Srinivasan Desikan, Gopalaswamy Ramesh: Software testing Principles and Practices, 2nd Edition, Pearson, 2007.

2. Ron Patton: Software Testing, 2nd edition, Pearson, 2004.

3. Brian Marrick:The Craft of Software Testing, Pearson, 1995.

Services Oriented Architecture

Subject Code: 07MCA553I.A. Marks: 50

Hours/Week: 4Exam Hours: 3

Total Hours: 52Exam Marks: 100

1. Introduction o SOA, Evolution of SOA 8 Hours

Fundamental SOA; Common Characteristics of contemporary SOA; Common tangible benefits of SOA; An SOA timeline (from XML to Web services to SOA); The continuing evolution of SOA (Standards organizations and Contributing vendors); The roots of SOA (comparing SOA to Past architectures).

2. Web Services and Primitive SOA 6 Hours

The Web services framework; Services (as Web services); Service descriptions (with WSDL); Messaging (with SOAP).

3. Web Services and Contemporary SOA 12 Hours

Message exchange patterns; Service activity; Coordination; Atomic Transactions; Business activities; Orchestration; Choreography.

Addressing; Reliable messaging; Correlation; Polices; Metadata exchange; Security; Notification and eventing

4. Principles of Service – Orientation 7 Hours

Services-orientation and the enterprise; Anatomy of a service-oriented architecture; Common Principles of Service-orientation; How service orientation principles inter-relate; Service-orientation and object-orientation; Native Web service support for service-orientation principles.

5. Service Layers 6 Hours

Service-orientation and contemporary SOA; Service layer abstraction; Application service layer, Business service layer, Orchestration service layer; Agnostic services; Service layer configuration scenarios

6. Business Process Design 7 Hours

WS-BPEL language basics; WS-Coordination overview; Service-oriented business process design; WS-addresing language basics; WS-ReliableMessaging language basics

7. SOA Platforms 6 Hours

SOA platform basics; SOA support in J2EE; SOA support in .NET; Integration considerations

Text Books:

1. Thomas Erl: Service-Oriented Architecture – Concepts, Technology, and Design, Pearson Education, 2005.

Reference Books:

1. Eric Newcomer, Greg Lomow: Understanding SOA with Web Services, Pearson Education, 2005.

Mobile Computing

Subject Code: 07MCA554IA Marks: 50

Hours/Week: 04Exam Hours: 03

Total Hours: 52Exam Marks: 100

1. Mobile Devices and Systems, Architectures 8 Hours

Mobile phones, Digital Music Players, Handheld Pocket Computers, Handheld Devices, Operating Systems, Smart Systems, Limitations of Mobile Devices, Automotive Systems

GSM – Services and System Architectures, Radio Interfaces, Protocols, Localization, Calling, Handover, General Packet Radio Service

2. Wireless Medium Access Control and CDMA – based Communication 6 Hours

Medium Access Control, Introduction to CDMA – based Systems, OFDM

3. Mobile IP Network Layer, Mobile Transport Layer 7 Hours

IP and Mobile IP Network Layers Packet Delivery and Handover Management, Registration, Tunneling and Encapsulation, Route Optimization, Dynamic Host Configuration Protocol.

Indirect TCP, Snooping TCP, Mobile TCP, Other Methods of TCP – layer Transmission for Mobile Networks.

4. Databases 5 Hours

Database Hoarding Techniques, Data Caching, Client – Server Computing and Adaptation, Transactional Models, Query Processing, Data Recovery Process, Issues relating to Quality of Service

5. Data Dissemination and Broadcasting Systems 5 Hours

Communication Asymmetry, Classification of Data – Delivery Mechanisms, Data Dissemination Broadcast Models, Selective Tuning and Indexing Techniques, Digital Audio Broadcasting, Digital video Broadcasting.

6. Data Synchronization in Mobile Computing Systems 6 Hours

Synchronization, Synchronization Protocols, SyncML – Synchronization Language for Mobile Computing, Synchronized Multimedia Markup Language (SMIL).

7. Mobile Devices, Server and Management, Wireless LAN, Mobile Internet Connectivity and Personal Area Network 8 Hours

Mobile agent, Application Server, Gateways, Portals, Service Discovery, Device Management, Mobile File Systems.

Wireless LAN (WiFi) Architecture and Protocol Layers, WAP 1.1 and WAP 2.0 Architectures, Bluetooth – enabled Devices Network, Zigbee.

8. Mobile Application languages – XML, Java, J2ME and JavaCard, Mobile Operating Systems 7 Hours

Introduction, XML, JAVA, Java 2 Micro Edition (J2ME), JavaCard

Operating System, PalmOS, Windows CE, Symbian OS, Linux for Mobile Devices

Text Book:


 * 1) Raj Kamal: Mobile Computing, Oxford University Press, 2007.

Reference BOOKs:


 * 1) Asoke Talkukder, Roopa R Yavagal: Mobile Computing – Technology, Applications and Service Creation, Tata McGraw Hill, 2005.
 * 2) Reza B’Far: Mobile Computing Principles – Designing and Developing Mobile Applications with UML and XML, 5th Edition, Cambridge University press, 2006.
 * 3) Uwe Hansmann, Lothat Merk, Martin S Nicklous and Thomas Stober: Principles of Mobile Computing, 2nd Edition, Springer International Edition, 2003.

4. Schiller: Mobile Communication, Pearson Publication, 2004.

Artificial Intelligence

Subject Code: 07MCA555I.A. Marks : 50
Hours/Week : 04Exam Hours: 03

Total Hours : 52Exam Marks: 100
1. Introduction 7 Hours

What is AI? Intelligent Agents: Agents and environment; Rationality; the nature of environment; the structure of agents. Problem-solving: Problem-solving agents; Example problems; Searching for solution; Uninformed search strategies.

2. Informed Search, Exploration, Constraint Satisfaction, Adversial Search 7 Hours

Informed search strategies; Heuristic functions; On-line search agents and unknown environment. Constraint satisfaction problems; Backtracking search for CSPs. Adversial search: Games; Optimal decisions in games; Alpha-Beta pruning.

3. Logical Agents 6 Hours

Knowledge-based agents; The wumpus world as an example world; Logic; propositional logic Reasoning patterns in propositional logic; Effective propositional inference; Agents based on propositional logic.

4. First-Order Logic, Inference in First-Order Logic 12 Hours

Representation revisited; Syntax and semantics of first-order logic; Using first-order logic; Knowledge engineering in first-order logic. Propositional versus first-order inference; Unification and lifting; Forward chaining; Backward chaining; Resolution.

5. Knowledge Representation 7 Hours

Ontological engineering; Categories and objects; Actions, situations, and events; Mental events and mental objects; The Internet shopping world; Reasoning systems for categories; Reasoning with default information; Truth maintenance systems.

6. Planning, Uncertainty, Probabilistic Reasoning 7 Hours

Planning: The problem; Planning with state-space approach; Planning graphs; Planning with propositional logic.

Uncertainty: Acting under certainty; Inference using full joint distributions; Independence; Bayes’ rule and its use.

Probabilistic Reasoning: Representing knowledge in an uncertain domain; The semantics of Bayesian networks; Efficient representation of conditional distributions; Exact inference in Bayesian networks.

7. Learning, AI: Present and Future 6 Hours

Learning: Forms of Learning; Inductive learning; Learning decision trees; Ensemble learning; Computational learning theory.

AI: Present and Future: Agent components; Agent architectures; Are we going in the right direction? What if AI does succeed?

Text Books:

1. Stuart Russel, Petr Norvig: Artificial Intelligence A Modern Approach, 2nd Edition, Pearson Education, 2003.

( Chapters 1.1, 2, 3.1 to 3.4, 4.1, 4.2, 4.5, 5.1, 5.2, 6.1, 6.2, 6.3, 7, 8, 9, 10, 11.1, 11.2, 11.4, 11.5, 13.1, 13.4, 13.5, 13.6, 14.1, 14.2, 14.3, 14.4, 18, 27)

Reference Books:

1. Elaine Rich, Kevin Knight: Artificial Intelligence, 2nd Edition, Tata McGraw Hill, 1991.

2. Nils J. Nilsson: Principles of Artificial Intelligence, Elsevier, 1980.

Web 2.0 and Rich Internet Applications

Subject Code: 07MCA556IA Marks: 50

Hours/ Week: 04Exam Hours: 03

Total Hours: 52Exam Marks: 100


 * 1) Introduction, Web Services 8 Hours

What is Web 2.0?, Folksonomies and Web 2.0, Software As a Service (SaaS), Data and Web 2.0, Convergence, Iterative development, Rich User experience, Multiple Delivery Channels, Social Networking.

Web Services: SOAP, RPC Style SOAP, Document style SOAP, WSDL, REST services, JSON format, What is JSON?, Array literals, Object literals, Mixing literals, JSON Syntax, JSON Encoding and Decoding, JSON versus XML.

2. Building Rich Internet Applications with AJAX 12 Hours

Building Rich Internet Applications with AJAX: Limitations of Classic Web application model, AJAX principles, Technologies behind AJAX, Examples of usage of AJAX, Dynamic web applications through Hidden frames for both GET and POST methods.

IFrames, Asynchronous communication and AJAX application model, XMLHTTP Object – properties and methods, handling different browser implementations of XMLHTTP, The same origin policy, Cache control, AJAX Patterns (Only algorithms – examples not required): Predictive fetch pattern, Submission throttling pattern, Periodic refresh, Multi stage download, Fall back patterns.

3. Building Rich Internet Applications with Flex 24 Hours

Flash player, Flex framework, MXML and Actionscript, Working with Data services, Understanding differences between HTML and Flex applications, Understanding how Flex applications work, Understanding Flex and Flash authoring, MXML language, a simple example.

Using Actionscript, MXML and Actionscript correlations. Understanding Actionscript 3.0 language syntax: Language overview, Objects and Classes, Packages and namespaces, Variables & scope of variables, case sensitivity and general syntax rules, Operators, Conditional, Looping, Functions, Nested functions, Functions as Objects, Function scope, OO Programming in Actionscript: Classes, Interfaces, Inheritance, Working with String objects, Working with Arrays, Error handling in Actionscript: Try/Catch, Working with XML

Framework fundamentals, Understanding application life cycle, Differentiating between Flash player and Framework, Bootstrapping Flex applications, Loading one flex application in to another, Understanding application domains, Understanding the preloader.

Managing layout, Flex layout overview, Working with children, Container types, Layout rules, Padding, Borders and gaps, Nesting containers, Making fluid interfaces.

Working with UI components: Understanding UI Components, Creating component instances, Common UI Component properties, Handling events, Button, Value selectors, Text components, List based controls, Data models and Model View Controller, Creating collection objects, Setting the data provider, Using Data grids, Using Tree controls, Working with selected values and items, Pop up controls, Navigators, Control bars

Working with data: Using data models, Using XML, Using Actionscript classes, Data Binding.


 * 1) Building Advanced Web 2.0 applications  8 Hours

Definition of mash up applications, Mash up Techniques, Building a simple mash up application with AJAX, Remote data communication, strategies for data communication, Simple HTTPServices, URLLoader in Flex, Web Services in Flex, Examples: Building an RSS reader with AJAX, Building an RSS reader with Flex.

Text Books:


 * 1) Nicholas C Zakas et al: Professional AJAX, Wrox publications, 2006.

(Chapters 1 to 4, Chapter 6 pp157-166, Chapter 7 pp191-196)


 * 1) Chafic Kazoun: Programming Flex 2, O’Reilly publications, 2007.

(Chapters 1, Chapters 3 to 7, Chapter 12, Chapter 16 pp380-403)


 * 1) Francis Shanahan: Mashups, Wrox, 2007.

(Chapters 1, 6)

Reference Books:


 * 1) Thomas A. Powel: Ajax The Complete reference, McGraw Hill, 2008.
 * 2) Gottfried Vossen, Stephan Hagemann: Unleashing Web 2.0 From Concepts to Creativity, Elsevier, 2007.
 * 3) Colin Moock: Essential Actionscript 3.0, O’Reilly Publications, 2007.
 * 4) Steven Holzner : Ajax Bible Wiley India, 2007.
 * 5) Justin Gehtland et al: A Web 2.0 primer Pragmatic Ajax, SPD Publications, 2006.
 * 6) Eric Van derVlist et al: Professional Web 2.0 Programming, Wiley India, 2007.

Software Design Laboratory

Subject Code: 07MCA56I.A Marks: 50

Hours/Week: 3Exam Hours: 03

Total Hours: 42Exam Marks: 50

The student has to draw the necessary UML diagrams using any suitable UML Drawing Tool and implement in Java OR C++ OR C# a program to demonstrate the Design Pattern specified by the Examiner.

The Design Pattern is allotted based on lots from the following list:


 * 1) Expert
 * 2) Controller
 * 3) Publisher-Subscriber
 * 4) Command
 * 5) Forward-Receive
 * 6) Client-Dispatcher
 * 7) Proxy
 * 8) Façade
 * 9) Polymorphism

.Net Laboratory

Subject Code: 07MCA57I.A Marks: 50

Hours/Week: 3Exam Hours: 03

Total Hours: 42Exam Marks: 50

1. Write a Program in C# to Check whether a number is Palindrome or not.

2. Write a Program in C# to demonstrate Command line arguments Processing.

3. Write a Program in C# to find the roots of Quadratic Equation.

4. Write a Program in C# to demonstrate boxing and unBoxing.

5. Write a Program in C# to implement Stack operations.

6. Write a program to demonstrate Operator overloading.

7. Write a Program in C# to find the second largest element in a single dimensional array.

8. Write a Program in C# to multiply to matrices using Rectangular arrays.

9. Find the sum of all the elements present in a jagged array of 3 inner arrays.

10. Write a program to reverse a given string using C#.

11. Using Try, Catch and Finally blocks write a program in C# to demonstrate error handling.

12. Design a simple calculator using Switch Statement in C#.

13. Demonstrate Use of Virtual and override key words in C# with a simple program

14. Implement linked lists in C# using the existing collections name space.

15. Write a program to demonstrate abstract class and abstract methods in C#.

16. Write a program in C# to build a class which implements an interface which is already existing.

17. Write a program to illustrate the use of different properties in C#.

18. Demonstrate arrays of interface types with a C# program.

Mini Project

Subject Code: 07MCAI.A Marks: 50

Hours/Week: 3Exam Hours: 03

Total Hours: 42Exam Marks: 50

NOTES:


 * A team of TWO students must develop the mini project. However, during the examination, each student must demonstrate the project individually.
 * The team may implement a mini project of their choice.
 * The team must submit a Brief Project Report (25 to 30 Pages) that must include the following:
 * Introduction
 * Requirements
 * Software Development Process Model Adopted
 * Analysis and Design Models
 * Implementation
 * Testing
 * The Report must be valuated for 10 marks, Demonstration for 30 marks and Viva for 10 marks.