Professional Documents
Culture Documents
INFORMATION TECHNOLOGY
SRIRANGAM, TIRUCHIRAPPALLI
COURSE
NO
CODE
COURSE TITLE
1.
2.
3.
4.
2+ 1
5*
week
industry
training
5.
6,
16
20
TOTAL CREDITS
SEMESTER II
SL.
COURSE
NO
CODE
COURSE TITLE
1.
2.
2+ 1
week
industry
training
5*
3.
Elective I
4.
Elective II
5.
Elective III
6.
Entrepreneurship Development
16
19
TOTAL CREDITS
2
* A one week industrial visit in order to enhance their interdisciplinary learning, product design
and IT enabled service skills.
SEMESTER III
SL.
COURSE
NO
CODE
COURSE TITLE
1.
12 Credits
TOTAL CREDITS
13 Credits
SEMESTER IV
SL.
COURSE
NO
CODE
COURSE TITLE
18 Credits
TOTAL CREDITS
18 Credits
Software Documentation
Software Reuse
Elective - II
Elective - III
FIRST SEMESTER
APPLIED PROBABILITY AND STATISTICS
L T P C
3 1 0 4
Course Objectives:
To introduce the basic concepts of one dimensional and two dimensional Random
variables.
To provide information about Estimation theory, Correlation, Regression and Testing
of hypothesis.
To enable the students to use the concepts of multivariate normal distribution and
principle components analysis.
5. Dallas E Johnson, Applied Multivariate Methods for Data Analysis, Thomson and Duxbury
press, 1998.
ADVANCED DATA STRUCTURES AND ALGORITHMS
L T P C
3 0 2 4
Course objectives:
To understand the principles of iterative and recursive algorithms.
To learn the graph search algorithms.
To study network flow and linear programming problems.
To learn the hill climbing and dynamic programming design techniques.
To develop recursive backtracking algorithms.
To get an awareness of NP completeness and randomized algorithms.
To learn the principles of shared and concurrent objects.
To learn concurrent data structures.
ITERATIVE AND RECURSIVE ALGORITHMS : Iterative Algorithms:Measures of
Progress and Loop Invariants-Paradigm Shift: Sequence of Actions versus Sequence of
Assertions- Steps to Develop an Iterative Algorithm-Different Types of Iterative Algorithms-Typical Errors-Recursion-Forward versus Backward- Towers of Hanoi- Checklist for Recursive
Algorithms-The Stack Frame-Proving Correctness with Strong Induction- Examples of
Recursive Algorithms-Sorting and Selecting Algorithms-Operations on Integers- Ackermanns
Function- Recursion on Trees-Tree Traversals- Examples- Generalizing the Problem - Heap Sort
and Priority Queues-Representing Expressions.
OPTIMISATION ALGORITHMS : Optimization Problems-Graph Search AlgorithmsGeneric Search-Breadth-First Search-Dijkstras Shortest-Weighted-Path -Depth-First SearchRecursive Depth-First Search-Linear Ordering of a Partial Order- Network Flows and Linear
Programming-Hill Climbing-Primal Dual Hill Climbing- Steepest Ascent Hill Climbing-Linear
Programming-Recursive Backtracking- Developing Recursive Backtracking Algorithm- Pruning
Branches-Satisfiability.
DYNAMIC PROGRAMMING ALGORITHMS : Developing a Dynamic Programming
Algorithm-Subtle Points- Question for the Little Bird- Subinstances and Subsolutions-Set of
Subinstances-Decreasing Time and Space-Number of Solutions-Code. Reductions and NPCompleteness-Satisfiability-Proving NP-Completeness- 3- Coloring- Bipartite Matching.
Randomized Algorithms-Randomness to Hide Worst Cases- Optimization Problems with a
Random Structure.
SHARED OBJECTS AND CONCURRENT OBJECTS: Shared Objects and Synchronization
-Properties of Mutual Exclusion-The Moral- The Producer Consumer Problem -The Readers
Writers Problem-Realities of Parallelization-Parallel Programming- Principles- Mutual
Exclusion-Time- Critical Sections--Thread Solutions-The Filter Lock-Fairness-Lamports
Bakery Algorithm-Bounded Timestamps-Lower Bounds on the Number of Locations-Concurrent
6
REFERENCES:
1. Jeff Edmonds, How to Think about Algorithms, Cambridge University Press, 2008.
2. M. Herlihy and N. Shavit, The Art of Multiprocessor Programming, Morgan Kaufmann,
2008.
3. Steven S. Skiena, The Algorithm Design Manual, Springer, 2008.
4. Peter Brass, Advanced Data Structures, Cambridge University Press, 2008.
5. S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGrawHill, 2008.
6. J. Kleinberg and E. Tardos, "Algorithm Design, Pearson Education, 2006.
7. T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms, PHI
Learning Private Limited, 2012.
8. Rajeev Motwani and Prabhakar Raghavan, Randomized Algorithms, Cambridge University
Press, 1995.
9. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer
Algorithms, Addison-Wesley, 1975.
10. A. V. Aho, J. E. Hopcroft, and J. D. Ullman,Data Structures and Algorithms, Pearson,
2006.
To learn what the object-oriented (OO) approach to software development is, through OO
principles and design patterns.
To learn UML (Unified Modeling Language) that is part of most CASE (Computer Aided
Software Engineering) tools and the benefits of visual modelling / diagramming.
Develop teamwork and communication skills through the course group project.
developing class diagrams - Implementing class diagrams in Java - Difficulties and risks when
creating class diagrams.
DESIGN PATTERNS: Introduction to patterns - The Abstraction- Occurrence pattern - The
General Hierarchy pattern - The Player-Role pattern - The Singleton pattern - The Observer
pattern - The Delegation pattern - The Adapter pattern - The Facade pattern - The Immutable
pattern - The Read-Only Interface pattern - The Proxy pattern - The Factory pattern - Enhancing
OCSF to employ additional design patterns - Difficulties and risks when using design patterns.
USER INTERFACE DESIGN: User-centered design - Characteristics of users - The basics of
user interface design - Usability principles - Evaluating user interfaces - Implementing a simple
Graphical User Interface in Java - Difficulties and risks in user-centered design.
INTERACTIONS AND BEHAVIOR MODEL: Interaction diagrams - State diagrams Activity diagrams - Implementing classes based on interaction and state diagrams - Difficulties
and risks in modeling interactions and behavior.
SOFTWARE ARCHITECTURE AND DESIGN: The process of design - Principles leading
to good design - Techniques for making good design decisions - Model Driven Development Software architecture - Architectural patterns - Writing a good design document - Design of a
feature for the Simple Chat instant messaging application - Difficulties and risks in design.
TESTING AND INSPECTION: Basic definitions - Effective and efficient testing - Defects in
ordinary algorithms - Defects in numerical algorithms - Defects in timing and co-ordination:
deadlocks, livelocks and critical races - Defects in handling stress and unusual situations Documentation defects - Writing formal test cases and test plans - Strategies for testing large
systems - Inspections - Quality assurance in general - Test cases for phase 2 of the Simple Chat
instant messaging system - Difficulties and risks in quality assurance.
SOFTWARE PROJECT MANAGEMENT: Software process models - Cost estimation Building software engineering teams - Project scheduling and tracking - Contents of a project
plan - Difficulties and risks in project management.
LAB COMPONENTS:
1. The students should develop all the necessary requirements based on IEEE
standards or any other standardized standards and should prepare requirement
document and design document after completion.
2. Use any open source software for requirements elicitation, requirements analysis
and requirements validation (RequisitePro).
3. Use any open source software for performing software design based on the
requirements obtained in 2 for each system.
4. The students are expected to carry out one or two case studies.
1. ONLINE SHOPPING MALL
PROJECT DESCRIPTION:
The Online Shopping Mall (OSM) application enables vendors to set up online shops,
customers to browse through the shops, and a system administrator to approve and reject
requests for new shops and maintain lists of shop categories. Also on the agenda is designing an
online shopping site to manage the items in the shop and also help customers purchase them
online without having to visit the shop physically.
The online shopping mall will showcase a complete shopping experience in a small
package. This project envisages bridging the gap between the seller, the retailer and the
customer. A very high flexibility is being maintained in the design process so that this project
can take the following path:
A multiple merchant venue with each merchant having his/her own window which the
customer can visit to browse and subsequently buy the products.
Maintaining the deliverable goods as well as services through single or multiple windows
is also on the agenda.
Target Users:
Mall Administrator: The Mall Administrator is the super user and has complete control over all
the activities that can be performed. The application notifies the administrator of all shop
creation requests, and the administrator can then approve or reject them. The administrator also
manages the list of available product categories. The administrator can also view and delete
entries in the guestbook.
Shop Owner: Any user can submit a shop creation request through the application. When the
request is approved by the Mall Administrator, the requester is notified, and from there on is
given the role of Shop Owner. The Shop Owner is responsible for setting up the shop and
maintaining it. The job involves managing the sub-categories of the items in the shop. Also, the
shop owner can add or remove items from his shop. The Shop Owner can view different reports
that give details of the sales and orders specific to his shop. The Shop Owner can also decide to
close shop and remove it from the mall.
Mall Customer/Guests: A Mall Customer can browse through the shops and choose products to
place in a virtual shopping cart. The shopping cart details can be viewed and items can be
removed from the cart. To proceed with the purchase, the customer is prompted to login. Also,
the customer can modify personal profile information (such as phone number and shipping
address) stored by the application. The customer can also view the status of any previous orders.
EMPLOYEES:
Purchase department under a Purchase manager to overlook purchasing activities if
warehousing needs arise.
Sales department under a Sales manager who will look after the sale of products and services.
10
Accounts department under an Accounts manager to look after the accounting activities of
the enterprise.
2. BANKING SYSTEM
PROJECT DESCRIPTION:
A bank has several automated teller machines (ATMs), which are geographically
distributed and connected via a wide area network to a central server. Each ATM machine has a
card reader, a cash dispenser, a keyboard/display, and a receipt printer. By using the ATM
machine, a customer can withdraw cash from either checking or savings account, query the
balance of an account, or transfer funds from one account to another. A transaction is initiated
when a customer inserts an ATM card into the card reader. Encoded on the magnetic strip on the
back of the ATM card is the card number, the start date, and the expiration date.
Assuming the card is recognized, the system validates the ATM card to determine that
the expiration date has not passed, that the user-entered PIN (personal identification number)
matches the PIN maintained by the system, and that the card is not lost or stolen. The customer is
allowed three attempts to enter the correct PIN; the card is confiscated if the third attempt fails.
Cards that have been reported lost or stolen are also confiscated.
If the PIN is validated satisfactorily, the customer is prompted for a withdrawal, query, or
transfer transaction. Before withdrawal transaction can be approved, the system determines that
sufficient funds exist in the requested account, that the maximum daily limit will not be
exceeded, and that there are sufficient funds available at the local cash dispenser.
If the transaction is approved, the requested amount of cash is dispensed, a receipt is
printed containing information about the transaction, and the card is ejected. Before a transfer
transaction can be approved, the system determines that the customer has at least two accounts
and that there are sufficient funds in the account to be debited. For approved query and transfer
requests, a receipt is printed and card ejected.
A customer may cancel a transaction at any time; the transaction is terminated and the
card is ejected. Customer records, account records, and debit card records are all maintained at
the server.
3. CAMPUS MANAGEMENT SYSTEM
PROJECT DESCRIPTION:
The Campus Management System; is fully computerized information organization,
storage and retrieval system that could provide us any information about an Institute just at the
click of a mouse. The most fascinating asset about a computerized College fee Manager is that it
enables us to explore any institute related information at any time on demand and that too in an
absolutely user friendly environment that could be accessed even by a layman very easily
To automate the functions at a Higher Education Institute, the main missions of this
software are as under
To reduce the typing work by keeping maximum information available on the screen
To reduce the expenditure involving stationery items such as paper, ledgers, fee receipt
book etc.
To analyse, plan and forecast the inflation or recession graph of the in college in the near
future based on the colleges record of revenue sources and expenditure.
To provide the most important feature of maintaining the valuable back-up of the critical
data.
To be bestowed with the latest security facilities provided by the modern computerized
DBMS.
Design an air traffic control system (ATCS) that is fault tolerant and scalable, according
to the specific requirements listed in the following sections. The primary objective of the ATCS
is to provide separation services for aircraft that are flying in controlled air space, or where poor
visibility prevents from maintaining visual separation. Aircraft are separated from one another
and from terrain hazards.
13
Meal Deliverer: As the Cafeteria Staff prepare orders for delivery, they will print delivery
instructions and issue delivery requests to the Meal Deliverer, who is either another cafeteria
employee or a contractor. The Meal Deliverer will pick up food and delivery instructions for
each meal and deliver it to the Patron. The Meal Deliverers primary interactions with the system
will be to reprint the delivery instructions on occasion and to confirm that a meal was (or was
not) delivered.
REFERENCES:
1. Timothy C. Lethbridge and Robert Laganiere, Object oriented Software Engineering:
Practical software Development using UML and Java, Tata McGraw Hill, 2010.
2. Bernd Bruegge, Alan H Dutoit, Object-Oriented Software Engineering, 2 nd ed, Pearson
Education, 2004.
3. Martin Fowler, UML Distilled, 3rd edition, Addison Wesley, 2004.
4. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns:
Elements of Reusable Object-Oriented Software, Addison Wesley. October 1994.
5. Craig Larman, Applying UML and Patterns 3rd ed, Pearson Education, 2005.
6. Stephen Schach, Software Engineering 7th ed, McGraw-Hill, 2007.
7. Ivar Jacobson, Grady Booch, James Rumbaugh, The Unified Software Development
Process, Pearson Education, 1999.
14
INTRODUCTION
Need for Formal methods Problems in Natural Language Specifications, Formal Versus
Informal Programming Advantages of Formal Methods Requirements of Formal System
Types Prepositional Logic Predicate Logic Relationships and Functions.
FORMAL SPECIFICATION STYLE
Model-Oriented Specifications Concurrency-Based Specifications Example Specification
Languages.
VDM
Introduction to VDM Basic Types Quote Types Compound Types Optional Types
Functions Operations Additional Constructs Modules.
THE Z NOTATION
The Interchange Language User-Defined Identifiers Data Types Basic Types Compound
Types Schemas Additional Constructs.
15
REFERENCES:
1.
Andrew Harry, Formal Methods: Fact File VDM and Z, John Wiley and
2.
Jim Woodcock, Jim Davies, Using Z Specification, Refinement and Proof, Prentice Hall
International, 1996.
16
Sons, 1996.
using MS Project 2010 - Case study of cost estimation models and cost estimation
tools - Study of SCM tools like Visual source safe 6.0
REFERENCES:
1. Roger S Pressman, Software Engineering, A Practitioners Approach McGraw Hill
Edition, New Delhi, 2008.
2. Watts Humphrey, Managing the Software Process , Pearson Education, New Delhi, 2000.
3. Pankaj Jalote, Software Project Management in practice, Pearson Education, New Delhi,
2002.
18
19
SECOND SEMESTER
ENTERPRISE SOFTWARE ARCHITECTURE AND DESIGN
L T P C
3 0 2 4
Course Objectives:
Middleware: Enterprise Information Systems - Communication - System and Failure Models Remote Procedure Call - Message-Oriented Middleware - Web Services and Service-Oriented
Architecture (SOA) - Cloud Computing - Naming and Discovery.
Data Modeling: Entities and Relationships - Concepts and Entities - Attributes and
Relationships - Properties of Relationship Types - Special Relationship Types - XML Schemas Defining New Types - Defining Simple Types - Defining Complex Types - Derived Types
Derived Simple Types - Derived Complex Types - Document Hierarchies - Relationship Types
in XML Schemas - Meta schemas and Meta models.
Data Processing: Processing XML Data - Tree Processing - Schema Binding - Stream
Processing - External Processing - Query Languages and XQuery - XML Databases - Storage
as Relational Tables - Storage as Large Strings - Native XML Storage - Web Services - Simple
Object Access Protocol - WSDL: Web Services Description Language - Web Service Policy Presentation Layer: JSON and JQUERY.
Domain-Driven Architecture: Software Architecture - Domain-Driven Design - Application
Frameworks - Domain-Specific Languages (DSLs) - An Example API for Persistent Domain
Objects - Domain-Driven Architecture.
Service-Oriented Architecture: Services and Procedures - Service-Oriented Architecture
(SOA) - Service Design Principles - Service-Oriented Architecture (SOA) Governance Standardized Service Contract - Operations Contract - Data Contract - Policy Contract - Binding
Contract - Contract Versioning - Service Loose Coupling - Motivation for Loose Coupling Contract Development - Loose Coupling Patterns - Cost of Loose Coupling - Service
Abstraction - Platform Abstraction - Protocol Abstraction - Procedural Abstraction - State
Abstraction - Data Abstraction - Endpoint Abstraction - Service Reusability - Parameterization
and Bounded Polymorphism - Subtyping, Inheritance, and Contracts - Does Service-Oriented
Architecture Require Subtyping - Patterns for Service Reusability - Service Autonomy 20
Replicating Computation - Replicating State - Sources of Errors and Rejuvenation - Caching Service Statelessness - Contexts and Dependency Injection - Service Discoverability - Global
Discovery - Local Discovery - Layered Naming - Further Patterns.
Resource-Oriented Architecture: Representational State Transfer - RESTful Web Services Resource-Oriented Architecture (ROA) - Interface Description Languages - Web Services
Description Language (WSDL) - Web Application Description Language (WADL) - An
Example Application Program Interface (API) for Resource-Oriented Web Services Hypermedia Control and Contract Conformance.
LAB COMPONENTS:
The students are expected to carry out one or two case studies.
CASE Study 1: Create a web page with the following using HTML5
(i) To embed an image map in a web page
(ii) To fix the hot spots
(iii) Show all the related information when the hot spots are clicked.
CASE Study 2: Create a web page with all types of Cascading style sheets.
CASE Study 3: Implement Client Side Scripts for Validating Web Form Controls using
JavaScript.
CASE Study 4: Designing Quiz Application Personal Information System Using JavaScript
CASE Study 5: Write a JavaScript for Loan Calculation.
CASE Study 6: Develop and demonstrate a HTML file that includes JavaScript that uses
functions for the following problems:
a) 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
CASE Study 7: Develop PHP program using Arrays, control structures, looping structures
and Form Handling
CASE Study 8: 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.
CASE Study 9: Write an AJAX program for parsing a JSON file and formatting the output.
CASE Study 10: Develop a web application for Airline Reservation System using PHP &
AJAX.
21
CASE Study 11: Develop a web application for Airline Reservation System using EJB.
CASE Study 12: Develop a web application for Airline Reservation System using JSP.
CASE Study 13: Writing an RMI application for Airline Reservation System to access a
remote method
CASE Study 14: Writing an application for Airline Reservation System using CORBA
CASE Study 15: Writing an application for Airline Reservation System using COM
CASE Study 16: Writing an application for Airline Reservation System using DCOM
CASE Study 17: Writing a Servlet program with database connectivity for a web based
application such as students result status checking, PNR number enquiry etc
CASE Study 18: XML document creation.
CASE Study 19: Importing and Exporting XML document in database.
CASE Study 20: XSL Transformation
CASE Study 21: Internal and External DTD creation
CASE Study 22: XML Schema creation
CASE Study 23: Parsing XML document using DOM/SAX parser.
CASE Study 24: Web Service creation using JAX-WS
CASE Study 25: Web Service creation using JAX-RS
CASE Study 26: Web Service creation using .NET
CASE Study 27: JAXB Marshaling and Unmarshaling
CASE Study 28: Implementation of RESTful services
CASE Study 29: Design of simple cloud services
REFERENCES:
1. Dominic Duggan , Enterprise Software Architecture and Design , Wiley, 2012
2. Dominic Duggan , Enterprise and Cloud Computing , Wiley, 2013.
22
To provide students with the knowledge, skill and in-depth technical understanding of the
key concepts required to design and build dependable software systems.
To achieve the gap between the theory and practice of software development and, in
particular, through the transfer of knowledge from the classroom via research driven and
commercially relevant project.
23
Quality assurance models : Models for Quality Assurance-ISO-9000 Series- CMM- CMMITest Maturity Models, SPICE, Malcolm Baldrige Model- P-CMM.
Software quality assurance trends:
Software Process- PSP and TSP - OO
Methodology, Clean-room software engineering, Defect injection and prevention -Internal
Auditing and Assessments-Inspections & Walkthroughs.
LAB COMPONENTS:
The students are expected to carry out one or two case studies.
Design a set of test cases for the unit using your equivalence classes and boundary values.
For each test case, specify the equivalence classes covered, input values, expected outputs, and
test case identifier. Show in tabular form that you have covered all the classes and boundaries.
Implement this module in the programming language of your choice. Run the module with your
test cases and record the actual outputs. Save an uncorrected version of the program for future
use.
24
25
Inputs
Actions
no more tokens
Identifier
A2: Look up the op code and store its binary value in op code field.
MOVE, JUMP
A3: Look up symbol in symbol table and store its value in address field.
colon
A4: Convert number to binary, and store that value in address field.
Integer
A5: Place instruction in the object module, and print a line in the listing.
A6: Print error message and put all zeroes in the instruction.
Using this information and any assumptions you need to make, develop a state transition diagram
for the assembler. From the state transition diagram develop a set of test cases that will cover all
26
of the state transitions. Be sure to describe the exact sequence of inputs as well as the expected
Sequence of state changes and actions.
CASE STUDY 6: Stress Testing of a Map-Aided Vehicle Tracking and Scheduling System
The American package courier and freight business faced the double pressures of consolidation
and unstoppable increases in fuel costs. In mid-2008, pump prices were already double those
prevailing in early 2007. As well, the recent decision of long-time price leader DHL to colocate dozens of routes with erstwhile competitor UPS revealed just how fragile are market
positions built through decades of promotions.
In Omaha, regional freight leader Red Ball Trucking1 was keener than most to maximize
operating efficiencies out of its substantial fleet of trucks and vans and thereby maintain margins
in the face of low-cost rivals. In March 2008, a brand-new map-based adjunct to the companys
proprietary logistics and routing system neared rollout. Extensive white box, line-by-line
testing had eliminated most of the gross errors but the Red Ball CEO was concerned about the
scalability of the program test bed.
Find out whether the map-enhanced vehicle tracking and scheduling system would remain stable
at benchmarks of 50, 100 and 1000 concurrent users. Clean up any remaining bugs not caught by
in-house.
CASE
STUDY
9:
Consider
an
Web
based
Loan
application
system
http://www.mortgagecalculator.org/ , which calculates the total interest, Monthly payment
etc., to be paid based on the Loan term, loan interest, loan amount etc.,
a) Write down the requirement specification for the above application.
b) Design the test cases and perform Validation testing for the above application
using any automated tool.
CASE
STUDY
10:
Consider
an
Web
based
Tax
application
http://finotax.com/itax/itax1011.htm, which calculates the Total tax to be paid for the academic
year based on Total income, total deductions etc.,
a) Write down the requirement specification for the above application.
b) Design test cases and perform Functional testing.
CASE STUDY 11: Develop a Java program for student marks analyzing system.
a) The System obtains following informations from the faculty generates report Roll
No, Name, Department, Semester, Marks obtained in each subject.
b) The total for each student should be calculated and ranked based on total and pass
in all the subject appeared.
c) The Final report should display rank, percentage, Class, Pass/Fail Status for each
student.
Perform Unit testing for the above program using Junit feature.
CASE STUDY 12:
Consider an Web based Loan application system
http://www.mortgagecalculator.org/, which calculates the total interest, Monthly payment etc.,
to be paid based on the Loan term, loan interest, loan amount etc.,
a) Write down the requirement specification for the above application.
b) Design the test cases and perform Function testing for the above application
using any automated tool.
CASE
STUDY
13:
Consider
an
Web
based
Tax
application
http://finotax.com/itax/itax1011.htm, which calculates the Total tax to be paid for the academic
year based on Total income, total deductions etc.,
a) Write down the requirement specification for the above application.
b) Design test cases and perform performance testing, using any automated tool.
CASE STUDY 14: Consider the ticket reservation scenario of online Air ticket reservation
system and perform Load testing and analyze its metrics like response time, through put,
Maximum user load, resource utilization.
CASE STUDY 15: Consider the browse catalog scenario of Library management system and
perform stress testing and verify whether the system is able to recover itself after stress testing.
CASE STUDY 16: Develop a java GUI for Login scenario of course registration system.
Implement encryption technique in the above scenario.
a) Perform manual security testing to crack the above program.
b) Calculate the response time in the above scenario.
CASE STUDY 17:Write a Java program for sorting the input in ascending order.
a) Calculate cyclomatic complexity
b) Perform Manual testing to see whether all the paths are covered or not.
c) Perform Manual testing to see whether all the decision braches are covered or not.
CASE
STUDY
18:
Consider
an
Web
based
Tax
application
http://finotax.com/itax/itax1011.htm, which calculates the Total tax to be paid for the academic
year based on Total income, total deductions etc.,
28
CASE STUDY 29: Prepare test plan and develop test case hierarchy
CASE STUDY 30: Generate Test cases and Test Documentation in the following
applications Library System, Course Registration System, Implement a Quiz System, Student
Marks Analyzing System, Online Ticket Reservation System, Stock Management System, RealTime Scheduler
REFERENCES:
1. Boris Beizer, Software Testing Techniques, 2nd Edition, Dream tech press, New Delhi,
2003.
2. Edward Kit, Software Testing in the Real World - Improving the Process,
Pearson
Education, 2004.
3. William E. Perry, Effective methods for software testing, 2nd Edition, John Wiley,
2000.
4. Stephen H.Kan,Metric and Models in software Quality Engineering, Addison QWesley
1995.
5. S.A.Kelkar,Software quality and Testing, PHI Learing, Pvt, Ltd., New Delhi 2012.
30
ENTREPRENEURSHIP DEVELOPMENT
L T P C
1 0 1 1
Er.-Entrepreneurship-Enterprise: Conceptual issues - Entrepreneurship vs. Management Roles and functions of Er in relation to the enterprise and in relation to the economy Entrepreneurship is an interactive process between the individual and the environment - Small
business as seedbed of Entrepreneurship - Entrepreneur competencies - Entrepreneur motivation
- performance and rewards.
Opportunity scouting and idea generation: role of creativity and innovation and business
research - Sources of business ideas - Entrepreneur opportunities in contemporary business
environment, for example opportunities in net-work marketing, franchising, business process
outsourcing in the early 21 century.
The students may be advised to visit various product/service franchises, BPO concerns
and meet up/down links in the net-work marketing.
REFERENCES:
1. Brandt, Steven C., The 10 Commandments for Building a Growth Company,
31
32
Guidelines:
Seminar should be based on thrust areas in Software Engineering
Students should do literature survey and identify the topic of seminar and finalize in
consultation with Guide/Supervisor. Students should use multiple literatures and
understand the topic and compile the report in standard format and present in front of
Panel of Examiners appointed by the Head of the Department/Institute of respective
Programme.
Seminar should be assessed based on following points:
Quality of Literature survey and Novelty in the topic
Relevance to the specialization
Understanding of the topic
Quality of Written and Oral Presentation
33
Credits
12
Dissertation -I should be assessed based on following points:
Quality of Literature survey and Novelty in the problem
Clarity of Problem definition and Feasibility of problem solution
Relevance to the specialization
Clarity of objective and scope
Dissertation -I should be assessed through a presentation by a panel of Internal
examiners appointed by the Head of the Department/Institute of respective Programme
34
ELECTIVE - I
REQUIREMENTS FOR REAL TIME SYSTEMS
L T P C
3 0 0 3
Course Objectives:
1. Phillip A. Laplante, Real time Systems Design and Analysis : An Engineer's Handbook:,
Prentice Hall of India.
2. C.M.Krishna, Kangg.Shin, Real Time Systems, McGraw Hill
3. Kotonya G. and Sommerville I, Requirements Engineering Processes and Techniques, John
Wiley and Sons, 1998.
4. Skidmore S. and Eva M, Introducing Systems Development, Palgrave Macmillan, 2004.
5. Yeates D. and Wakefield T, Systems Analysis and Design, FT Prentice Hall, 2003
6. Alexander I. and Stevens R, Writing Better Requirements, Addison Wesley, 2002.
7. Alexander I. and Maiden N, Scenarios, Stories and Use Cases, John Wiley and Sons, 2004.
8. Paul D., Yeates D. et al, Business Analysis, British Computer Society, 2006.
9. Andrew Stellman and Jennifer Greene, Applied Software Project Management, Cambridge,
MA: O'Reilly Media, 2005.
10. Hassan Gomaa, Software Development of Real time systems, Edgar H. Sibley, 1996.
11. Derek J.Hatley, Imtiaz A. Pirbhai, Strategies for Real time Systems Specification, Dorset
House Publishing
36
To know how humans interact with physical and information environments, and
how to design software with human's information needs and their cognitive
capacities in mind.
Interaction design: Process of design Task centered and user centered design
Functionality and usability Design guidelines The use of models in interface design
Iteration prototyping formal methods Task and user analysis Specifying usability
requirements Interface style and design guides Prototyping tools.
Universal design: Universal design principles Multi modal interaction for pervasive
computing environments.
HCI in the software process : Software life cycle Iterative and prototyping Principles of
support usability standards guide lines HCI patterns golden rules and heuristics.
IMPLEMENTATION AND EVALUATION
Implementation issues: Elements of windowing systems user interface management systems
Response time Colors Short cuts Symbols Adaptable interfaces self configuring
systems for mobile devices.
Evaluation techniques: Evaluation through expert analysis and user participation Evaluation
methodologies Evaluation criteria: functionality usability learnability initiative.
MODELS AND THEORIES
Cognitive models Communication and collaboration models: Models of the system:
Standard formalisms Interaction models continuous behavior.
Modeling rich interaction: Status event analysis Rich context low intention and sensor
based interaction.
APPLICATIONS
Socio organization issues and stakeholder requirements: Organizational issues capturing
requirements.
Ubiquitous Computing: Introduction of Ubiquitous computing Virtual and augmented reality.
Context aware User Interfaces: Augmented reality context aware systems context
aware toolkits and architectures.
Hypertext, multimedia and the World Wide Web: Understanding hyper test Web
technology and issues static and dynamic web content.
REFERENCES:
1. Dix, Finlay, Abowd and Beale. Human Computer Interaction, Second edition, Prentice
Hall, 1998.
38
39
SOFTWARE AGENTS
L T P C
3 0 0 3
Course Objectives:
AGENTS OVERVIEW
Agent Definition Agent Programming Paradigms Agent Vs Object Aglet Mobile Agents
Agent Frameworks Agent Reasoning.
JAVA AGENTS
Processes Threads Daemons Components Java Beans ActiveX Sockets RPCs
Distributed Computing Aglets Programming Jini Architecture Actors and Agents Typed
and proactive messages.
MULTIAGENT SYSTEMS
Interaction between agents Reactive Agents Cognitive Agents Interaction protocols
Agent coordination Agent negotiation Agent Cooperation Agent Organization SelfInterested agents in Electronic Commerce Applications.
INTELLIGENT SOFTWARE AGENTS
Interface Agents Agent Communication Languages Agent Knowledge Representation
Agent Adaptability Belief Desire Intension Mobile Agent Applications.
AGENTS AND SECURITY
Agent Security Issues Mobile Agents Security Protecting Agents against Malicious Hosts
Untrusted Agent Black Box Security Authentication for agents Security issues for Aglets.
REFERENCES:
1.
Bigus & Bigus, " Constructing Intelligent agents with Java ", Wiley, 1997.
2.
3.
4.
Richard Murch, Tony Johnson, "Intelligent Software Agents", Prentice Hall, 2000.
40
5.
Course Objectives:
To gain familiarity with current research and state of the art in aspect-oriented design.
To become proficient in using the most important aspect-oriented language and tools.
To develop a critical understanding of the strengths and weaknesses of the current work.
REFERENCES:
1. Ivan Kiselev, Aspect-Oriented Programming with AspectJ, Sams , 2002.
2. D.Joseph Gradecki , Nicholas Lesiecki , Mastering AspectJ: Aspect-Oriented
Programming in Java , Wiley, First Edition, 2003.
41
42
Software
Course Objectives:
1. To analyze and understand the differences between the open source model and the commercial
proprietary model
2. To gain hands-on skills and experience in using a variety of open source software and to
develop and use evaluative methods for assessing OSS products
LINUX BASICS: Overview of free/open source software Definition of FOSS and GNU
History of GNU/Linux and the free software movement Advantages of free software and
GNU/Linux FOSS usage Trends and potential Global and Indian GNU/Linux OS
installation Detect hardware Configure disk partitions and file systems Install a
GNU/Linux distribution Basic shell commands Logging in Listing files Editing files
Copying/moving files Viewing file contents Changing file modes and permissions Process
management User and group management File ownerships and permissions PAM
authentication Introduction to common system configuration files and log files Configuring
networking Basics of TCP/IP networking and routing Connecting to the internet. (through
dialup DSL- Ethernet Leased line)
LINUX FUNDAMENTALS: Configuring additional hardware Sound cards Displays and
Display cards Network cards Modems USB drives CD writers Understanding the OS
bootup process Performing everyday tasks using gnu/linux Accessing the internet playing
music Editing documents and spreadsheets Sending and receiving email Copy files from
disks and over the network Playing games Writing CDS X window system configuration
and utilities Configure X windows Detect display devices Installing software From
source code as well as using binary packages Setting up email servers Using postfix ( SMTP
Services) Courier ( MAP & POP3 Services) Squirrel mail ( Web Mail Services) Setting up
web servers Using apache ( HTTP Services) PHP (Server-Side Scripting) Perl ( CGI
Support) Setting up file services Using samba ( File and Authentication Services for
Windows Networks) Using NFS ( File Services for Gnu/Linux / Unix Networks) Setting up
proxy services Using squid ( Http / Ftp / Https Proxy Services) Setting up printer services
Using CUPS (Print Spooler) Foomatic.(Printer Database)
DEVELOPMENT ENVIRONMENT: Setting up a firewall Using netfilter and IP tables
Using the GNU compiler collection GNU compiler tools C preprocessor (CPP) C compiler
(GCC) and the C++ compiler (G++) Assembler (GAS) Understanding build systems
Constructing make files and using make Using autoconf and autogen to automatically generate
make files tailored for different development environments Using source code versioning and
management tools Using CVS to manage source code revisions Patch and diff.
LINUX INTERNALS: Understanding the GNU LIBC libraries and linker Linking against
object archives (.a libraries) and dynamic shared object libraries (.so libraries) Generating
statically linked binaries and libraries Generating dynamically linked libraries Using the
GNU debugging tools GDB to debug programs Graphical debuggers like DDD Memory
debugging / profiling libraries MPATROL and VALGRIND Review of common programming
43
practices and guidelines for GNU/Linux and FOSS Basics of bash SED and Awk scriptingBasics of the X windows server architecture.
DESKTOP PROGRAMMING: QT programming GTK+ programming Python
programming Programming GUI applications with localization support.
OPEN STANDARDS: National Information Standards Organization (NISO), The Digital
Library Federation (DLF). The Dublin Core Metadata Initiative. MARC standards, Resource
Description and Access (RDA). Open Archives Initiative. OAI-PMH. Search / Retrieval via
URL (SRU), SRW/CQL. Java Platform, Enterprise Edition (Java EE).
OPEN SOURCE LICENSES: GNU General Public License (GPL) version 2,3, GNU Lesser
General Public License (LGPL) version 2.1,3, GNU Affero General Public License (AGPL)
version 3, Apache License, Version 2.0, Artistic License 2.0, etc.
REFERENCES
1.
N. B. Venkateshwarlu, Introduction to Linux: Installation and Programming, B S
Publishers, 2005.
2.
Matt Welsh, Matthias Kalle Dalheimer, Terry Dawson and Lar Kaufman, Running
Linux, 4th Edition, O'Reilly Publishers, 2002.
3.
Carla Schroder, Linux Cookbook, 1st Edition, O'Reilly Cookbooks Series, November
2004.
4.
Open Sources: Voices from the Open Source Revolution, 1st Edition, January 1999.
URL: http://www.oreilly.com/catalog/opensources/book/toc.html
5.
The Linux Cookbook: Tips and Techniques for Everyday Use, 1st Edition, Michael
Stutz, 2001. URL: http://dsl.org/cookbook/cookbook_toc.html
6.
The Linux System Administrators' Guide, Lars Wirzenius, Joanna Oja, Stephen
Stafford, and Alex Weeks, December 2003. URL: ttp://www.tldp.org/guides.html
7.
Using GCC, Richard Stallman et al. URL: http://www.gnu.org/doc/using.html
8.
An
Introduction
to
GCC,
Brian
Gough.
URL:
http://www.networktheory.co.uk/docs/gccintro/
9.
GNU Autoconf, Automake and Libtool, Gary V. Vaughan, Ben Elliston, Tom Tromey
and Ian Lance Taylor. URL: http://sources.redhat.com/autobook/
10. Open Source Development with CVS, 3rd Edition, Karl Fogel and Moshe Bar.
URL:http://cvsbook.red-bean.com/
11. Advanced Bash Scripting Guide, Mendel Cooper, June 2005.
URL: http://www.tldp.org/guides.html
12. GTK+/GNOME Application Development, Havoc Pennington.
URL: http://developer.gnome.org/doc/GGAD/
13. Python Tutorial, Guido van Rossum, Fred L. Drake, Jr., Editor.
URL: http://www.python.org/doc/current/tut/tut.html
14. http://directory.fsf.org/GNU/
15. http://www.diglib.org
16. http://www.niso.org/`
44
45
ELECTIVE II
SOFTWARE DOCUMENTATION
L T P C
3 0 0 3
Course Objectives:
BASIC CONCEPTS
Importance of documentation -- Need for Software Documentation - different types of
documentation -- Understanding task orientation - Analyzing users - Writing user scenarios User informational needs - Document goals - User work motivations - User analysis checklist Constructing a task list - Categorization -Writing steps as actions - Task analysis.
DOCUMENTATION PLANNING
Planning and writing documents - Task list and Schedule - Guidelines - Documentation process Documentation plan - Document review form - Review plan - Schedule -Checklist.
DOCUMENTATION TESTING
Usability tests - Advantages of field testing - Editing and fine tuning - Problems - Designing for
task orientation - Page showing elements of document design - Screen showing elements for
online help design - Solutions to the design problem for printed and online documentation.
DOCUMENTATION LAYOUTS
Laying out pages and screens - Elements of page and screen design - Designing type - Effective
writing style - Using graphical that support decision making - Functions of graphics - Type and
elements of graphics.
DOCUMENTATION GUIDELINES
Writing to guide - Procedures - Guidelines - Writing to support - Reference - Structural reference entry - Checklist - Designing index - User oriented index - Case studies Technical
documentation IEEE standards Documenting the code.
46
REFERENCES:
1. Thomas T. Barker , "Writing s/w documentation - a task oriented approach", Allyn &
Bacon Series of Technical Communication , 1998.
2. Edmond H.Weiss, How To Write Usable User Documentation : Second Edition , Oryx
Press; 2nd edition 1991.
3. Huckin, et al, " Technical Writing and Professional Communication ", McGraw Hill,
1991.
4. IEEE Standards on Documentation
47
SOFTWARE REUSE
L T P C
3 0 0 3
Course Objectives:
To familiarize students with principles, practicalities and key research issues in software
reuse and, in particular, a Product Line approach to reuse.
FUNDAMENTALS
Organizing Reuse Introduction Motivation for Reuse Reuse Driven Organizations
Managing a Reuse Project The Characteristics of Reuse of Project Roles in Reuse Projects
Adopting a Project to Reuse Reuse Tools
REUSE METRICS
Managing a Repository The REBOOT Component Model Classification Configuration
Management of the Repository Managing the Repository Computer Supported Cooperative
Working Process Metrics for Reuse Product Metrics Cost Estimation Forming a Reuse
Strategy Assessing Reuse Maturity
REUSABLE COMPONENTS
Practicing Reuse Generic Reuse Development Processes Develop for Reuse Develop with
Reuse Testing Reusable Components Object Oriented Components Techniques and Life
Cycles Object Oriented Development for Reuse Detailed Design for Reuse Implementation
for Reuse Verification Test and Validation
REUSE PHASES
Development with Reuse With Reuse Specific Activities Common Reuse Processes Phases
of Development with Reuse Impact of Reuse on Development Cycle
CLEAN ROOM SOFTWARE ENGINEERNG
Re-engineering for Reuse Methodology Retrieving Objects in NonObject Oriented Code
Measurements Tools Support for Re-engineering Overview of Clean Room Software
Engineering Phases in Clean Room Method Box Structures Algorithms Adapting the Box
Structures.
REFERENCES:
1. Even-Andre Karisson, Software Reuse A Holistic Approach, John Wiley and Sons,
1996.
2. Karma McClure, Software Reuse Techniques Additional reuse to the Systems
development process, Prentice Hall, 1997.
48
Course Objectives:
To learn about quality of architecture and source code and how it affects software
maintenance and evolution.
REFERENCES:
1. Grubb and Takang, Software Maintenance: Concepts and Practices, 2nd edition, World
Scientific, 2003.
2. Stanislaw Jarzabek, Effective Software Maintenance and Evolution: A Reuse-Based
Approach, Auerbach publications, 2007.
3. April A. and Abran A., Software Maintenance Management, Wiley, 2008.- Guide to the
Software Engineering Body of Knowledge: 2004 ed., Abran A., Moore J.W.(Executive
Ed.), Bourque P., Dupuis R. (Ed.). IEEE Computer Society Press, April 2005.
4. IEEE Std 1219-1998, IEEE Standard for Software Maintenance.
49
SOFTWARE REFACTORING
L T P C
3 0 0 3
Course objectives:
To learn about Refactoring, need for refactoring and the problems with refactoring
To gain expertise in building test, refactoring, composing methods, removing parameters
To understand organizing data, replace, remove, preserve objects etc
To apprehend generalization, extract and replace field, class, object , perform big
refactoring
To skill in refactoring reuse and tools for refactoring
INTRODUCTION
Refactoring, a First Example - The Starting Point - The First Step in Refactoring - Decomposing
and Redistributing the Statement Method - Replacing the Conditional Logic on Price Code with
Polymorphism - Principles in Refactoring- Defining Refactoring - Why Should You Refactor When Should You Refactor - What Do I Tell My Manager? - Problems with Refactoring Refactoring and Design - Refactoring and Performance - Where Did Refactoring Come From? Bad Smells in Code - Duplicated Code - Long Method - Large Class - Long Parameter List Divergent Change - Shotgun Surgery - Feature Envy - Data Clumps - Primitive Obsession Switch Statements - Parallel Inheritance Hierarchies - Lazy Class - Speculative Generality Temporary Field - Message Chains - Middle Man - Inappropriate Intimacy - Alternative Classes
with Different Interfaces - Incomplete Library Class - Data Class - Refused Bequest
BUILDING TESTS
The Value of Self-testing Code - The JUnit Testing Framework - Adding More Tests - Toward a
Catalog of Refactorings - Format of the Refactorings - Finding References - How Mature Are
These Refactorings? - Composing Methods - Extract Method - Inline Method - Inline Temp Replace Temp with Query - Introduce Explaining Variable - Split Temporary Variable - Remove
Assignments to Parameters - Replace Method with Method Object - Substitute Algorithm Moving Features Between Objects - Move Method - Move Field - Extract Class - Inline Class Hide Delegate - Remove Middle Man - Introduce Foreign Method - Introduce Local Extension
DATA ORGANIZATION
Organizing Data - Self Encapsulate Field - Replace Data Value with Object - Change Value to
Reference - Change Reference to Value - Replace Array with Object - Duplicate Observed Data
- Change Unidirectional Association to Bidirectional - Change Bidirectional Association to
Unidirectional - Replace Magic Number with Symbolic Constant - Encapsulate Field Encapsulate Collection - Replace Record with Data Class - Replace Type Code with Class Replace Type Code with Subclasses - Replace Type Code with State/Strategy - Replace Subclass
with Fields - Simplifying Conditional Expressions - Decompose Conditional - Consolidate
Conditional Expression - Consolidate Duplicate Conditional Fragments - Remove Control Flag 50
Replace Nested Conditional with Guard Clauses - Replace Conditional with Polymorphism Introduce Null Object - Introduce Assertion - Making Method Calls Simpler - Rename Method Add Parameter - Remove Parameter - Separate Query from Modifier - Parameterize Method Replace Parameter with Explicit Methods - Preserve Whole Object - Replace Parameter with
Method - Introduce Parameter Object - Remove Setting Method - Hide Method - Replace
Constructor with Factory Method - Encapsulate Downcast - Replace Error Code with Exception
- Replace Exception with Test
GENERALIZATIONS
Dealing with Generalization - Pull Up Field - Pull Up Method - Pull Up Constructor Body - Push
Down Method - Push Down Field - Extract Subclass - Extract Superclass - Extract Interface Collapse Hierarchy - Form Template Method - Replace Inheritance with Delegation - Replace
Delegation with Inheritance - Big Refactorings - The Nature of the Game - Why Big
Refactorings Are Important - Four Big Refactorings - Tease Apart Inheritance - Convert
Procedural Design to Objects - Separate Domain from Presentation - Extract Hierarchy
REFACTORING, REUSE AND REALITY
Reality check - Why Are Developers Reluctant to Refactor Their Programs - Resources and
References for Refactoring - Implications Regarding Software Reuse and Technology Transfer Refactoring Tools - Refactoring with a Tool - Technical Criteria for a Refactoring Tool Practical Criteria for a Refactoring Tool - Putting It All Together
REFERENCES:
1. Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts ," Refactoring :
Improving the Design of Existing Code , Addison Wesley, 2011
2. Martin Lippert, Stephen Roock," Refactoring in Large Software Projects: Performing
Complex Restructurings ", John Wiley and sons ltd, 2006
3. William C. Wake ,"Refactoring workbook", Pearson Education Inc. 2004
4. William J. Brown," Anti Patterns: refactoring software, architectures, and projects in
crisis",
5. Joshua Kerievsky," Refactoring to Patterns" , Addison-Wesley, 2005
51
52
REFERENCES:
1.
2.
Stephen H. Kan, Metrics and Models in Software quality Engineering, 2nd Ed., Addison
Wesley, 2002
Allan C. Gillies, Software Quality: Theory and Management, Thomson Learning,
2003.
3.
Norman E. Fenton and Shari Lawrence Pfleeger, Software Metrics, Thomson, 2003.
4.
Mordechai Ben, Menachem and Garry S.Marliss, Software Quality, Thomson Asia Pvt.
Ltd., 2003
5.
ISO 9000-3, Notes for the Application of the ISO 9001 Standard to software
development.
6.
Kamna Malik and Praveen Choudry, Software Quality : A Practitioner Approach, PHI,
2000.
53
ELECTIVE III
MOBILE AND PERVASIVE COMPUTING
L T P C
3 0 0 3
Course objectives :
INTRODUCTION
Differences between Mobile Communication and Mobile Computing Contexts and Names
Functions Applications and Services New Applications Making Legacy Applications
Mobile Enabled Design Considerations Integration of Wireless and Wired Networks
Standards Bodies Pervasive Computing Basics and Vision Principles of Pervasive
Computing Categories of Pervasive Devices
Scene Analysis Delaunay Triangulation and Voronoi graphs Types of Context Role of
Mobile Middleware Adaptation and Agents Service Discovery MiddlewareHealth BANMedical and Technological Requirements-Wearable Sensors-Intra-BAN communications
APPLICATION DEVELOPMENT
Three tier architecture - Model View Controller Architecture - Memory Management
Information Access Devices PDAs and Smart Phones Smart Cards and Embedded Controls
J2ME Programming for CLDC GUI in MIDP Application Development ON Android and
iPhone
REFERENCES:
1. Asoke K Talukder, Hasan Ahmed, Roopa R Yavagal, Mobile Computing: Technology,
Applications and Service Creation, 2nd ed, Tata McGraw Hill, 2010.
2. Reto Meier, Professional Android 2 Application Development, Wrox Wiley,2010.
3. Pei Zheng and Lionel M Li, Smart Phone & Next Generation Mobile Computing, Morgan
Kaufmann Publishers, 2006.
4. Frank Adelstein, Fundamentals of Mobile and Pervasive Computing, TMH, 2005
5. Jochen Burthardt et al, Pervasive Computing: Technology and Architecture of Mobile
Internet Applications, Pearson Education, 2003
6. Feng Zhao and Leonidas Guibas, Wireless Sensor Networks, Morgan Kaufmann
Publishers, 2004
7. Uwe Hansmaan et al, Principles of Mobile Computing, Springer, 2003
8. Reto Meier, Professional Android 2 Application Development, Wrox Wiley, 2010.
9. Mohammad s. Obaidat et al, Pervasive Computing and Networking, John wiley
10. Stefan Poslad, Ubiquitous Computing: Smart Devices, Environments and Interactions,
Wiley, 2009.
55
Course objectives:
To introduce the student to various Image processing and Pattern recognition techniques.
To study the mathematical morphology necessary for Image processing and Image
segmentation.
INTRODUCTION
Elements of an Image Processing System- Mathematical Preliminaries- Image EnhancementGrayscale Transformation- Piecewise Linear Transformation-Bit Plane Slicing- Histogram
Equalization--Histogram Specification- Enhancement by Arithmetic Operations- Smoothing
Filter- Sharpening Filter- Image Blur Types and Quality Measures.
PATTERN RECOGNITION
The Unsupervised Clustering Algorithm-Bayes Classifier- Support Vector Machine- Neural
Networks-The Adaptive Resonance Theory Network-Fuzzy Sets in Image Analysis-Document
image processing and classification-Block Segmentation and Classification- Rule-Based
Character Recognition system- Logo Identification-Fuzzy Typographical Analysis for Character
Pre classification-Fuzzy Model for Character Classification.
APPLICATIONS
Face and Facial Feature Extraction-Extraction of Head and Face Boundaries and Facial FeaturesRecognizing Facial Action Units-Facial Expression Recognition in JAFFE Database-Image
Steganography- Types of Steganography- Applications of Steganography- Embedding Security
and Imperceptibility- Examples of Steganography Software-Genetic Algorithm Based
Steganography.
REFERENCE:
1. Image Processing and Pattern Recognition: Fundamentals and Techniques- Frank Y Shih,
Willey IEEE Press, April 2010.
2. Rafael C. Gonzalez, Richard E. Woods, Steven Eddins, Digital Image Processing using
MATLAB, Pearson Education, Inc., 2004.
3. D.E. Dudgeon and R.M. Mersereau, Multidimensional Digital Signal Processing,
4. Prentice Hall Professional Technical Reference, 1990.
5. William K. Pratt, Digital Image Processing, John Wiley, New York, 2002.
6. Milan Sonka et al, Image Processing, Analysis and Machine Vision, Brookes/Cole, Vikas
Publishing House, 2nd edition, 1999;
7. Sid Ahmed, M.A., Image Processing Theory, Algorithms and Architectures, McGrawHill,
1995
57
COURSE OBJECTIVES:
REFERENCES
1. Michael Berthold, David J. Hand, Intelligent Data Analysis, Springer, 2007.
2. Anand Rajaraman and Jeffrey David Ullman, Mining of Massive Datasets, Cambridge
University Press, 2012.
3. Bill Franks, Taming the Big Data Tidal Wave: Finding Opportunities in Huge Data
Streams with Advanced Analytics, John Wiley & sons, 2012.
4. Glenn J. Myatt, Making Sense of Data, John Wiley & Sons, 2007
5. Pete Warden, Big Data Glossary, OReilly, 2011.
6. Jiawei Han, Micheline Kamber Data Mining Concepts and Techniques, Second
Edition, Elsevier, Reprinted 2008.
7. Da Ruan,Guoquing Chen, Etienne E.Kerre, Geert Wets, Intelligent Data Mining,
Springer,2007
8. Paul Zikopoulos ,Dirk deRoos , Krishnan Parasuraman, Thomas Deutsch , James
Giles , David Corrigan, Harness the Power of Big Data The IBM Big Data Platform,
Tata McGraw Hill Publications, 2012
9. Michael Minelli (Author), Michele Chambers (Author), Ambiga Dhiraj (Author) , Big
Data, Big Analytics: Emerging Business Intelligence and Analytic Trends for Today's
Businesses,Wiley Publications, 2013
59
WEB SERVICES
L T P C
3 0 0 3
Course Objectives:
60
Semantic Web Role of Meta data in web content Resource Description Framework RDF
schema Architecture of semantic web content management workflow XLANG WSFL .
REFERENCES:
1. Ron Schmelzer et al, XML and Web Services, Pearson Education, 2002.
2. Sandeep Chatterjee and James Webber, Developing Enterprise Web Services: An
Architect's Guide, Prentice Hall, 2004.
3. Frank P.Coyle, XML, Web Services and the Data Revolution, Pearson Education,
2002.
4. Keith Ballinger, .NET Web Services Architecture and Implementation, Pearson
Education, 2003.
5. Henry Bequet and Meeraj Kunnumpurath, Beginning Java Web Services, Apress,
2004.
6. Russ Basiura and Mike Batongbacal, Professional ASP .NET Web Services, Apress,
2003.
61
To identify appropriate programming tools that allow for the flexibility, scalability and
interoperability required for a cloud application
To develop cloud applications based on functional and technical requirements and cloud
application architecture
3.
4.
5.
6.
7.
8.
J. Lowry , Programming WCF Services: Mastering WCF Services and the Azure
AppFabric Bus , O'Reilly 2011
63