master of computer applications scheme of iii-iv · pdf filemaster of computer applications....

71
NIE, Mysore – 8. Department of MCA THE NATIONAL INSTITUTE OF ENGINEERING, MYSORE – 8. (Autonomous Institution under VTU) Master of Computer Applications Scheme of III-IV Semester MCA (2016-2017) Department of MCA

Upload: ngothien

Post on 10-Mar-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

NIE, Mysore – 8. Department of MCA

THE NATIONAL INSTITUTE OF ENGINEERING, MYSORE – 8.

(Autonomous Institution under VTU)

Master of Computer Applications

Scheme of

III-IV Semester MCA

(2016-2017)

Department of MCA

NIE, Mysore – 8. Department of MCA

Master of Computer Applications

Vision of the Institution “NIE will be a globally acknowledged institution providing value based technological and educational services through best-in-class people and infrastructure”

Mission of the Institution

• To impart state-of-the-art engineering education through strong theoretical foundations and practical training to students in their choice of specialization.

• To create new knowledge through innovation and cutting-edge research in science and engineering.

• To provide a platform for inclusiveness and collaboration by following ethical and responsible engineering practices for long-term interaction with academia and industry.

• To encourage entrepreneurship and to develop sustainable technologies for the benefit of global society.

Vision of the Department

“MCA will be an outstanding department contributing significantly to teaching, research and consultancy, through well equipped laboratories and well trained staff to meet global challenges in the field of computer engineering & applications”

Mission of the Program

• To impart quality technical education and provide skills in Computer

Application through best of practices.

• To produce graduates who can contribute professionally to the society and widely as IT professionals or entrepreneurs.

NIE, Mysore – 8. Department of MCA

Graduate Attributes

1. Computational Knowledge: Apply knowledge of computing fundamentals, computing specialization, mathematics and domain knowledge appropriate for the computing specialization to the abstraction and conceptualization of computing models from defined problems and requirements.

2. Problem Analysis: Identify, formulate, research literature and solve complex computing problems reaching substantiated conclusions using fundamental principles of Mathematics, Computing Sciences and relevant domain disciplines.

3. Design / Development of solutions: Design and evaluate solutions for complex computing problems and evaluate systems, components or processes that meet specified needs with appropriate considerations for public health and safety, cultural societal and environmental considerations.

4. Conduct Investigations of complex computing problems: Use research based knowledge and research methods including design of experiments, analysis and interpretation of data and synthesis of the information to provide valid conclusions.

5. Modern Tool Usage: Create, select, adopt and apply appropriate techniques, resources and modern computing tools to complex computing activities with an understanding of the limitations.

6. Professional Ethics: Understand and commit to professional ethics and cyber regulations, responsibilities and norms of professional computing practice.

7. Life Long Learning: Recognize the need and have the ability to engage in independent learning for continual development as a Computing Professional.

8. Project Management and Finance: Demonstrate knowledge and understanding of the computing and management principles and apply these to once own work as a member and leader in a team to manage projects and in multidisciplinary environments.

9. Communication Efficacy: Communicate effectively with the computing community and society at large about complex computing activities by being able to comprehend and write effective reports and design documentation, make effective presentations and give and understand clear instructions.

10. Societal and environmental concern: Understand and assess societal, environmental, health safety, legal and cultural issues within local and global contexts and consequential responsibilities relevant to professional computing practice.

11. Individual and Team work: Function effectively as an individual and as a member or leader in diverse teams in multi-disciplinary environments.

NIE, Mysore – 8. Department of MCA

12. Innovation and entrepreneurship: Identify a timely opportunity and using innovation to pursue that opportunity to create value and wealth for the betterment of the individual and society at large.

Program Educational Objectives

The Department will produce graduates who

PEO1: Work productively as IT professional both at supportive and leadership roles.

PEO2: Advance successfully in their chosen career path utilizing technical abilities, leadership qualities, communication and interpersonal skills with high regard to legal and ethical responsibilities.

PEO3: Build their profession adopting to the changes in the technology with lifelong learning.

NIE, Mysore – 8. Department of MCA

Program Outcomes

Graduates will have an

PO1: Ability to apply knowledge of mathematics, computer science and domain knowledge to solve problems in the computational world.

PO2: Ability to analyze real world/scientific problems and convert them to computable algorithm.

PO3: Ability to evaluate, analyze and use available technological solutions to design and implement the same.

PO4: Ability to work with complex computing problem environment, use knowledge both technical and research to provide valid conclusions of experiments based on analysis and interpretation of data.

PO5: Ability to use/evaluate the various software tools and networking requirements for solutions.

PO6: Ability to adhere to the professional ethics, follow cyber rules and regulations and be a responsible citizen.

PO7: Ability to be a lifelong learner in the field of computer science.

PO8: Ability to demonstrate the knowledge and understanding hardware, software, networking and Finance requirements for the Society

PO9: Ability to communicate effectively with the fellow members and also with other uses of the computing community and society.

PO10: Ability to experience the industrial environment for understanding the impact of computational solutions in a global and societal context.

PO11: Ability to function effectively as an individual and also work collaboratively in a team.

PO12: Ability to become leaders, entrepreneurs, and provide solutions to complex problems in life.

NIE, Mysore – 8. Department of MCA

SCHEME OF TEACHING AND EXAMINATION THIRD SEMESTER MCA (AUTONOMOUS SCHEME)

Sl. No

Sub Code Subject Title Teaching

Dept.

Contact Hrs./Week Credits

Marks

Exam Duration

L T P CIE SEE Total (Hrs)

1 MCA0453 Programming in Java MCA 4 0 0 4 50 50 100 3

2 MCA0412

Analysis & Design of Algorithms MCA 4 0 0 4 50 50 100 3

3 MCA0418 Computer Networks MCA 4 0 0 4 50 50 100 3

4 MCA0454

Management Information Systems MCA 3 2 0 4 50 50 100 3

5 MCA04-- Elective – I MCA 4 0 0 4 50 50 100 3

6 MCA0106 Algorithms Laboratory MCA 0 0 3 1.5 50 – 50 --

7 MCA0117

Java Programming Laboratory MCA 0 0 3 1.5 50 – 50 --

TOTAL 19 2 6 23 350 250 600

FOURTH SEMESTER MCA (AUTONOMOUS SCHEME)

Sl. No

Sub Code Subject Title Teaching

Dept.

Contact Hrs./Week Credits

Marks

Exam Duration

L T P CIE SEE Total (Hrs) 1 MCA

0455 Advanced Java Programming MCA 4 0 0 4 50 50 100 3

2 MCA0416 Software Engineering MCA 4 0 0 4 50 50 100 3

3 MCA0456

Advanced Web Programming MCA 4 0 0 4 50 50 100 3

4 MCA04-- Elective – II MCA 4 0 0 4 50 50 100 3

5 MCA04-- Elective – III MCA 4 0 0 4 50 50 100 3

6 MCA0202

Professional Communication and Ethics

MCA 2 0 0 2 50 – 50 3

7 MCA0118

Advanced Java Programming Laboratory

MCA 0 0 3 1.5 50 – 50 --

8 MCA0119

Advanced Web Programming Laboratory

MCA 0 0 3 1.5 50 – 50 --

9 MCA0120 Mini Project – I MCA 0 0 2 1 – 50 50 --

TOTAL 22 0 8 26 400 300 700 Pattern of course evaluation for both CIE and SEE will be mentioned in the abridged lesson plan and the Course Instructor (CI) will discuss the same with the students during the first/second session of the semester

NIE, Mysore – 8. Department of MCA

Programming in JAVA (4:0:0)

Subject Code : MCA0453 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100 Pre-Requisites: Object Oriented Programming with C++ Course Outcomes On successful completion of the course, the students will be able to

1. Appraise Java Programming Fundamentals. 2. Explore and employ object oriented concepts of Java for a given problem. 3. Choose and develop an appropriate Interfaces for a given problem. 4. Determine and employ multi-threaded programming and Handling exceptions. 5. Design appropriate graphical user interfaces using applets and swings. 6. Explore and apply available utilities in Java.

UNIT I Java Programming Fundamentals The Java Language, The Key Attributes of Object-Oriented Programming, The Java Development Kit, A First Simple Program, Handling Syntax Errors, The Java Keywords, Identifies in Java, The Java Class Libraries. Introducing Data Types and Operators Java’s Primitive Types, Literals, A Closer Look at Variables, The Scope and Lifetime of Variables, operators, Shorthand Assignments, Type conversion in Assignments, Using Cast, Operator Precedence, Expressions. Program Control Statements Input characters from the Keyword, The if statement, Nested ifs, The if-else-if Ladder, The Switch Statement, Nested switch statements, The for Loop, The Enhanced for Loop, The While Loop, The do while Loop, Use break, Use continue, Nested Loops. Self Learning Exercise: Basic Programs on above concepts. UNIT 2 Introducing Classes, Objects and Methods Class Fundamentals, How Objects are Created, Reference Variables and Assignment, Methods, Returning from a Method, Returning Value, Using Parameters, Constructors, Parameterized Constructors, The new operator Revisited, Garbage Collection and Finalizers, The this Keyword. More Data Types and Operators Arrays, Multidimensional Arrays, Alternative Array Declaration Syntax, Assigning Array References, Using the Length Member, The For-Each Style for Loop, Strings, The Bitwise operators. String Handling String Fundamentals, The String

NIE, Mysore – 8. Department of MCA

Constructors, Three String-Related Language Features, The Length() Method, Obtaining the characters within a string. Self Learning Exercise: String comparison, using indexOf() and lastIndexOf(), Changing the case of characters within a string, StringBuffer and String Builder. UNIT 3 A Closer Look at Methods, Classes Controlling Access to Class Members, Pass Objects to Methods, How Arguments are passed, Returning Objects, Method Overloading, Overloading Constructors, Recursion, Understanding Static, Introducing Nested and Inner Classes. Inheritance: Inheritance Basics, Member Access and Inheritance, Constructors and Inheritance, Using super to Call Superclass constructors, Using super to Access Superclass Members, Creating a Multilevel Hierarchy, When are Constructors Executed, Superclass References and Subclass Objects, Method Overriding, Overridden Methods support polymorphism, Why Overridden Methods, Using Abstract Classes, Using finalInterfaces: Interface Fundamentals, Creating an Interface, Implementing an Interface, Using Interface References, Implementing Multiple Interfaces, Constants in Interfaces, Interfaces can be extended, Nested Interfaces. Packages Package Fundamentals, Packages and Member Access, Importing Packages, Static Import. Self Learning Exercise: The Object Class. UNIT 4 Exception Handling The Exception Hierarchy, Exception Handling Fundamentals, The Consequences of an Uncaught Exception, Exceptions Enable you to handle errors gracefully, using Multiple catch clauses, Catching subclass Exceptions, try blocks can be nested, Throwing an Exception, A Closer look at Throwable, using finally, using throws, Java’s Built-in Exceptions. Multithreaded Programming: Multithreading fundamentals, The Thread Class and Runnable Interface, Creating Thread, Creating Multiple Threads, Determining When a Thread Ends, Thread Priorities, Synchronization, using Synchronization Methods, The Synchronized Statement. Self Learning Exercise: Thread Communication using notify(), wait() and notify All(), suspending, Resuming and stopping Threads. UNIT 5 Enumerations Enumerations, Java Enumeration are class types, The Values() and Valueof() Methods, Constructors, methods, instance variables and enumerations, autoboxing, annotations. Generics: Generics Fundamentals Bounded Types, Generic Methods, Generic Constructors, Some Generic Restrictions Applets: Applet basics, A complete Applet Skeleton, Applet Initialization and Termination, A key Aspect of an Applet Architecture, Passing parameters to Applets.

NIE, Mysore – 8. Department of MCA

Self Learning Exercise: Requesting Repainting, using the status window. UNIT 6 Swings: Swings Fundamentals, The origin and Design philosophy of swing, Components and containers, Layout managers, A first simple swing Example, Event Handling, Exploring Swing Controls -JLabel and ImageIcon, The Swing Buttons. Networking with Java.net Networking fundamentals, The Networking classes and Interfaces, The InetAddress class, The Socket Class, The URL class, The URLConnection Class. Self Learning Exercise: The HttpURL Connection Class. Text Book: 1. Java Fundamentals, A comprehensive Introduction by Herbert Schildt, Dale Skrien. Tata McGraw Hill Edition 2013. Reference Books : 1. Programming with Java by T V Suresh Kumar, BEshwara Reddy and P Raghavan, Sanguine Technical Publishers, 2011. 2. Java Programming by Hari Mohan Pandey, Pearson Education, 2012. 3. Java 6 Programming, Black Book, KoGenT ,dreamtech Press, 2012. 4. Introduction to Java Programming, Comprehensive Edition, by Y.Daniel Liang, Pearson Education, 2011.

NIE, Mysore – 8. Department of MCA

Analysis and Design of Algorithms (4:0:0)

Sub Code : MCA0412 CIE : 50% Hrs/Week : 04 SEE : 50% SEE : 3 Hrs Max Marks : 100

Pre-requisite: Data Structures and Algorithms with C Course outcomes: On successful completion of the course, the students will be able to

1. Analyze Recursive and Non-recursive algorithms in terms of time and space complexities.

2. Distinguish algorithm design strategies like Brute force, Divide-and-conquer, Decrease-and-conquer, Transform-and-Conquer, Dynamic Programming and Greedy techniques

3. Apply the design strategies for solving variety of problem types. 4. Examine the limitations of algorithm power and choose suitable solutions like

Backtracking and Branch-and-bound. UNIT 1 Introduction Notion of Algorithm, Fundamentals of Algorithmic Problem Solving, Fundamental data Structures Fundamentals of the Analysis of Algorithm Efficiency, Analysis Framework: Asymptotic Notations and Basic efficiency classes, Mathematical analysis of Recursive, Examples, Mathematical analysis of Non-recursive algorithms, Examples. Self-Learning Exercise: Important Problem Types. UNIT 2 Brute Force and Divide-and-Conquer Selection Sort, Bubble Sort, Sequential Search and String Matching, Exhaustive Search, Merge sort, Quick sort, Binary Search, Binary tree Traversals and related properties, Stressen’s Matrix Multiplication. Self-Learning Exercise: Multiplication of large integers. UNIT 3 Decrease-and-Conquer and Transform-and-Conquer Insertion Sort, Depth First and Breadth First Search, Topological sorting, Presorting, Balanced Search Trees, Heaps and Heap sort, Problem Reduction.

NIE, Mysore – 8. Department of MCA

Self-Learning Exercise: Algorithms for Generating Combinatorial Objects. UNIT 4 Space, Time Tradeoffs and Dynamic Programming Sorting by Counting, Input Enhancement in String Matching, Hashing, Computing a binomial coefficient, Warshall’s algorithm, Floyd’s Algorithms. Self-Learning Exercise: Knapsack Problem and Memory Functions. UNIT 5 Greedy Techniques and Limitations of Algorithm Power Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s algorithm, Huffman Trees, Lower-Bound Arguments, Decision Trees, P, NP problems Self-Learning Exercise: NP-Complete Problems. UNIT 6 Coping with the Limitations of Algorithm Power Backtracking, n-Queen problem, Branch-and-Bound, Assignment problem, Travelling Salesperson Problem. Self-Learning Exercise: Approximation Algorithm for NP Hard problems. Text Books: 1. Anany Levitin: Introduction to the Design and Analysis of Algorithms, Pearson Education, 2003. 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

NIE, Mysore – 8. Department of MCA

Computer Networks (4:0:0)

Subject Code : MCA0418 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite: NA Course Outcomes On successful completion of the course, the students will be able to:

1. List the different types of network architecture with their layers and functions. 2. Compare different types of encoding techniques and error detection techniques 3. Analyze different types of packet forwarding, routing techniques with their

algorithms. 4. Distinguish when to use UDP and TCP protocols and the applications of different

type of application layer protocols. 5. Discuss the different applications of computer network.

UNIT 1 Foundation Applications, Building a Network, Requirements, Network Architecture, Performance. Self Learning Exercise: High speed networks. UNIT 2 Direct Link Networks Perspective on connection, Encoding; Error detection; Reliable transmission; Ethernet (802.3) Self Learning Exercise: Wireless (802.15.1, 802.11, 802.16, Cell Phone Technologies). UNIT 3 Packet Switching: Switching and bridging, basic internetworking, routing. Self Learning Exercise: LAN Switches.

UNIT 4 Internetworking Routing, Global Internet. Self Learning Exercise: ARP in ATM, CIDR.

NIE, Mysore – 8. Department of MCA

UNIT 5 End –to-End Protocols; Resource Allocation Issues Simple de-multiplexer (UDP); Reliable byte stream (TCP). Self Learning Exercise: Issues in resource allocation. UNIT 6 Applications Traditional applications, Multimedia applications, Self Learning Exercise: Infrastructure services. Text Books: 1. Larry L. Peterson and Bruce S. David: Computer Networks – A Systems Approach, 5th Edition, Elsevier, 2012. 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, 2007. 3. Alberto Leon-Garcia and Indra Widjaja: Communication Networks –Fundamental Concepts and Key architectures, 2nd Edition Tata McGraw-Hill, 2004.

NIE, Mysore – 8. Department of MCA

Management Information Systems (3:2:0)

Sub Code : MCA0454 CIE : 50% Hrs/Week : 03 SEE : 50% SEE Hours : 3 Hrs Max Marks : 100 Pre-requisite : NA Course Outcome: On successful completion of the course the students will be able to

1. Recall and understand the different types of systems. 2. Identify and analyze requirements for information systems 3. Understand and apply design principles in Information Systems 4. Understand, analyze and apply system development & project management

principles 5. Effectively choose, compare, evaluate and conclude technology alternatives to

solve problems in an MIS context. Also take proper decisions as part of a DSS. 6. Able to understand the concepts of MIS to adapt to equivalent Client server

architectural systems. UNIT 1 Systems Engineering System concepts, system control, types of systems, handling system complexity, Classes of systems, General model of MIS, Need for system analysis, System analysis for existing system & new requirement, system development model, MIS & system analysis Information and Knowledge Information concepts, classification of information, methods of data and information collection, value of information, information: A quality product, General model of a human as information processor, Knowledge, Introduction of MIS: MIS Concept, Definition, Role of the MIS, Impact of MIS, MIS and the user, MIS support to the management, Management effectiveness and MIS, Organization as system. MIS: organization effectiveness. Self Learning Exercise: Management as a control system. UNIT 2 Strategic Management of Business Concept of corporate planning, Need for strategic planning, Development of the business strategies, tools of planning. Self Learning Exercise: Type of strategies, short-range planning. UNIT 3 Developing Business/IT Strategies/IT Solutions Planning fundamentals (real world cases), Organizational planning, planning for competitive advantage, (SWOT Analysis),

NIE, Mysore – 8. Department of MCA

Business models and planning. Business/IT planning, identifying business/IT strategies, Implementation Challenges, Change management, SDLC, prototyping. Self Learning Exercise: Developing business systems, (real world case). UNIT 4

Business Process Re -Engineering Introduction, Business process, process model of the organization, value stream model of the organization, what delay the business process, relevance of information technology, MIS and BPR Technology of Information System Introduction, Data processing, Transaction processing, Application processing, information system processing, TQM of information systems. Self Learning Exercise: Human factors & user interface, Strategic nature of IT decision, MIS choice of information technology. UNIT 5 Decision Making and DSS Decision making concepts; decision making process, decision-making by analytical modeling, Behavioral concepts in decision making, DSS components. Self Learning Exercise: Organizational decision-making, Decision structures. UNIT 6

Client Server Architecture and E-business Technology Client server architecture, implementation strategies, Introduction to E-business, model of E- business, Intranet/Extranet Self Learning Exercise: Internet and World Wide Web. Text Books: 1. Management Information Systems - Waman S Jawadekar, 3rd Edition, Tata McGraw

Hill, 2007. Chapters: 1, 3, 5, 6, 7,8, 11, 16.1 to 16.7, 16.10 to 16.12, 18.7, 18.8, 20. 2. Management Information Systems, James A O’Brien and George M Marakas, 7th

Edition, Tata McGraw Hill, 2006. Chapters: 1, 7, 10, 11. Reference Books: 1. Principles of Information Systems, Ralph M Stair and George W Reynolds, 6th

Edition, Thomson, 2003. 2. Information Systems - The Foundation of E-Business, Steven Alter, 4th Edition,

Pearson Education Asia, 2002. 3. Management Information System, MahadeoJaiswal and Monika Mital, 3rd Edition,

Oxford University Press, 2006. 4. Management Information Systems – Effy Oz, 5th Edition, Thomson Course

Technology, 2007.

NIE, Mysore – 8. Department of MCA

Algorithms Laboratory (0:0:3)

Sub Code : MCA0106 CIE : 50% Hrs/Week : 03 SEE : 50% SEE Hours : 3 Hrs Max Marks : 50 Pre-requisite : NA Course outcomes: On successful completion of the course, the students will be able to 1. Identify Different Sorting and Searching algorithms and analyze them in terms of

space and time complexities. 2. Design and implement algorithms using Brute-Force method 3. Develop DFS, BFS and Topological sorting algorithms using divide and conquer

techniques. 4. Devise solutions, using Dynamic Programming methods, to binomial coefficients

problem, shortest path problems with Warshall’s and Floyd’s Algorithms, Knapsack Problem, etc.

5. Write programs to implement Prim’s Algorithm, Kruskal’s Algorithm and Dijkstra’s Algorithm using Greedy Technique.

NIE, Mysore – 8. Department of MCA

Java Programming Laboratory (0:0:3)

Sub Code : MCA0117 CIE : 50% Hrs/Week : 03 SEE : 50% SEE Hours : 3 Hrs Max Marks : 50 Pre-requisite : NA Course Outcome: On successful completion of the course, the students will be able to 1. Gain exposure to state-of-the-art JAVA development tools. 2. Explore and design solutions in JAVA for a given problem. 3. Propose accurately documented implementations 4. Adapt critical thinking skills and creativity to solve problems.

JAVA programs on classes, constructor overloading, method overloading, inner class anonymous inner classes, various access protections, Inheritance, method overriding, built-in and user-defined Exception handling programs, creation of interfaces, enumerations, generics, applets and swings.

NIE, Mysore – 8. Department of MCA

IV MCA

NIE, Mysore – 8. Department of MCA

Advanced Java Programming (4:0:0)

Sub Code : MCA0455 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite: Programming in Java Course Outcomes: The student on completion of this course will able to 1. Understand the concepts of JDBC. 2. Illustrate the basics of web applications using JSP technology. 3. Construct and develop how to write complex code using proper design- structure. 4. Analyze connectivity syntaxes for real world applications. 5. Implement the successor of JSP called the struts technology. 6. Adapt, build web applications with the navigational language designed to work with struts. UNIT - 1 JDBC Introduction to JDBC, JDBC environment setup – core Java installation and sql or mysql installation, JDBC Driver types, Creating a simple JDBC application – steps involved, SQLException methods, JDBC data types, Simple programs using JDBC concepts Self Learning Exercise: SQL DDL, DML and DCL concepts using JDBC. UNIT - 2 Servlets Servlet Structure, Servlet packaging, HTML building utilities, Lifecycle, Single Thread model interface, Handling client requests: form data, HTTP request headers, simple programs, advanced programs using jdbc. Self Learning Exercise: Handling cookies and session tracking. UNIT - 3 JSP Overview of JSP technology, need of jsp, benefits of JSP, Advantages of JSP, Basic syntax, Invoking java code with JSP scripting elements, creating Template Text, Invoking java code from jsp, limited java code in jsp, using jsp expressions, comparing

NIE, Mysore – 8. Department of MCA

servlets and jsp, writing scriplets. For example using scriplets to make parts of jspconditional, using declarations, declaration example. Simple programs, advanced programs using Jdbc. Self Learning Exercise: Installation of JSP pages, Tomcat configuration for JSP UNIT - 4 Introduction to Struts Why servlets are not dead?, The problems with Model 1, Model 2, Struts Overview, Upgrading to Struts 2. Model 2 applications, model 2 overview, model 2 with a servlet controller, model 2 with a filter dispatcher, Examples and programs. Starting with Struts The benefits of struts, How struts works, Interceptors, Struts Configuration files, Self Learning Exercise: A simple Struts Application, Dependency Injection. UNIT - 5 Actions and Results Action classes, accessing resources, passing static parameters to an action, the Action Support class, results, Self Learning Exercise: Exception handling with Exception Mapping, Wildcard Mapping, Dynamic Method Invocation, Testing Action classes. UNIT - 6 OGNL The value stack, reading object stack object properties, reading context map object properties, invoking fields and methods, working with Arrays, Self Learning Exercise: working with lists, working with maps, JSP EL: When OGNL can't help. Text Books: 1. Marty Hall, Larry Brown. Core Servlets and Java Server Pages. Volume 1: Core

Technologies. Second Edition. (Chapters 3,4,5,10,11). 2. Budi Kurniawan, A Tutorial Struts 2 Design and Programming Second Ed., BPB

Publications. (Chapters: 1,2,3,4)

Reference Books: 1. Kathy Sierra, Cert Bates - Head first servlets and JSP, 2nd edition. O'Reilly

Publications.

2. Donald Brown, Chad Michael and others – Struts 2 in Action. Manning Publications

NIE, Mysore – 8. Department of MCA

Software Engineering (4:0:0) Sub Code : MCA0416 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite: NA Course Outcomes: On successful completion of the course, the students will be able to

1. Identify and Design Software Processes 2. Plan how and when to adapt waterfall lifecycle model or replace it by other alternative

like iterative lifecycle model. 3. Summarize end-user requirements and translate them into system and software

requirements. 4. Ability to identify software development needs and challenges that require various

engineering solutions and formulate such solutions.

UNIT - 1 Overview 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.Critical Systems, Software Processes 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, Professional and ethical responsibility. Self-Learning Exercise: Legacy systems. UNIT - 2 Requirements 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. Self-Learning Exercise: Requirements management. UNIT - 3 System models, Project Management System Models: Context models; Behavioral models; Data models; Object models; structured methods. Project Management: Management activities; Project planning; Project scheduling. Self-Learning Exercise: Risk management.

NIE, Mysore – 8. Department of MCA

UNIT - 4 Software Design Architectural Design: Architectural design decisions; System organization; Modular decomposition styles; Control styles. Object-Oriented design: Objects and Object Classes; An Object-Oriented design process. Self-Learning Exercise: Design evolution. UNIT - 5 Development Rapid Software Development: Agile methods; Extreme programming; Rapid application development. Software Evolution: Program evolution dynamics; Software maintenance; Evolution processes; Legacy system evolution. Verification and Validation Planning; Software inspections; automated static analysis; Verification and formal methods. Software testing: System testing; Component testing, Test case design. Self-Learning Exercise: Test automation. UNIT - 6 Management Managing People: Selecting staff; Motivating people; Managing people; The People Capability Maturity Model. Software Cost Estimation: Productivity; Estimation techniques; Algorithmic cost modeling. Self-Learning Exercise: 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, 7thEdition,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.

NIE, Mysore – 8. Department of MCA

Advanced Web Programming (4:0:0) Sub Code : MCA0456 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite: Web Technologies Course Outcomes: The student on completion of this course will able to 1.Identify the usage of Perl. 2. Discuss the applications of CGI. 3. Select appropriate Perl or PHP for solving a problem. 4. Build web applications with Perl and PHP. 5. Explain More Ruby concepts like-Pattern matching, methods, classes, arrays etc and Introduction concept of Rails. 6. Discuss concept related to introduction web 2.0-Saas, Web services. UNIT - 1 Programming in Perl Origins and uses of Perl, Scalars and their operations, Assignment statements and simple input and output, Control statements, Fundamentals of arrays, Hashes, References, Functions. Self Learning Exercise: Pattern matching, File input and output; Examples.

UNIT - 2 CGI Scripting: What is CGI? Developing CGI Applications, Processing CGI, Introduction to CGI.pm, CGI.pm methods, Creating HTML Pages Dynamically. Self Learning Exercise: Using CGI.pm – An Example, Adding Robustness, Carp, Cookies.

UNIT - 3 Building Web Applications with Perl: Uploading files, Tracking users with Hidden Data, Using Relational Databases, using lib www, Introduction to PHP: Origins and uses of PHP, Overview of PHP, General syntactic characteristics, Primitives,operations and expressions,Output, Control statements. Self Learning Exercise: Arrays, Functions, Pattern matching, Form handling, Files.

NIE, Mysore – 8. Department of MCA

UNIT - 4 Building Web applications with PHP: Tracking users, cookies, sessions, Using Databases, Handling XML. Introduction to Ruby: Origins and uses of Ruby, Scalar types and their operations. Self Learning Exercise: Simple input and output, Control statements. UNIT - 5 Ruby:Arrays, Hashes, Methods, Classes, Code blocks and iterations, Pattern matching. Introduction to Rails: Overview of Rails, Document requests processing forms Self Learning Exercise: Rails applications with Databases, Layouts.

UNIT - 6 Introduction web 2.0: 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: Web Services: SOAP, RPC Style SOAP, Document style SOAP, WSDL, REST services, JSON format, What is JSON?, Array literals, Object literals, Mixing literals, JSON 005Syntax. Self Learning Exercise: JSON Encoding and Decoding, JSON versus XML. Text Books: 1. Chris Bates: Web Programming Building Internet Applications, 3rd Edn, Wiley India, 2006 (Chapter 10,11,13) 2. Robert W. Sebesta: Programming the World Wide Web, 4th Edition, Pearson Education, 2008. (Chapters 8,11,13, 14, 15) 3. Francis Shanahan: Mashups, Wiley India 2007(Chapters 1, 6)

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. Xue Bai et al: The Web Warrior Guide to Web Programming, Thomson, 2003. 3. Joel Murach’s PHP and MySQL. Mauch’s Publications, First Edition

NIE, Mysore – 8. Department of MCA

Professional Communication Ethics(2:0:0) Sub Code : MCA0202 CIE : 50%

Hrs/Week : 02 SEE : 50%

SEE Hours : 2 Hrs Max Marks : 100 Pre-requisites: NIL Course Outcomes: On successful completion of the course, the students will be able to

1. Explain the fundamentals of Technical Communication . 2. Interpret the importance delivering the best technical presentation. 3. Outline the basics of Entrepreneurship. 4. Examine and practice the knowledge of IT professional ethics.

UNIT - 1 Basics of Technical Communication and its Barriers Introduction, The Process of Communication-The communication Cycle, Noise, General and Technical Communication; Language as a tool of Communication-Characteristics of Language; Levels of Communication-Extra personal, Intrapersonal, Interpersonal, Organizational and Mass; The flow of Communication-Downward, Upward, Lateral and Diagonal; Communication Networks-Formal and Informal network models. Self Learning Exercise: Importance of Technical Communication. UNIT - 2 Effective Presentation StrategiesIntroduction, Defining Purpose, Analyzing Audience and Locale, Organizing Contents, Preparing an outline, Visual Aids, Understanding Nuances of Delivery, Kinesics, Proxemics, Paralinguistics. Self Learning Exercise: Chronemics UNIT - 3 Group Communication Introduction, Group Discussion, Organizational Group Discussions-Brainstorming, Nominal, Delphi Techniques, Group Discussion as part of a Selection Process-Characteristics, Evaluation Components, Leadership skills, Meetings, Conferences; Interviews: Introduction, Objectives, Types of Interviews. Self Learning Exercise: Job Interviews

NIE, Mysore – 8. Department of MCA

UNIT - 4 Entrepreneurship Evolution of Concept of Entrepreneur, Concept of Entrepreneur, Characteristics of Entrepreneur, Distinction between Entrepreneur and Manager, Technical Entrepreneur, Charms of Being an Entrepreneur, Types of Entrepreneur, Intrapreneurs, Ultrapreneurs, Concept of Entrepreneurship, Evolution of Entrepreneurship, Role of Entrepreneurship in Economic Development, Stages in the Entrepreneurial Process. Self Learning Exercise: Functions of an Entrepreneur UNIT - 5 An Overview of Ethics What are Ethics? Ethics in Information Technology (IT) Self Learning Exercise: Ethics in the Business World UNIT - 6 Ethics for IT Professionals and IT users and PrivacyIT professionals, The Ethical behavior of IT professionals, IT Users; Privacy: Privacy Protection and the Law. Self Learning Exercise: Key Privacy and Anonymity Issues. Text Books: 1. Technical Communication - Principles and Practices, Meenakshi Raman and

Sangeeta Sharma, Oxford University Press, 2004. 2. Ethics in Information Technology, George Reynolds, Thomson Course

Technology, 2003. 3. Management and Enterpreneurship, Veerabhadrappa Havinal, New Age

International (P)Limited publishers, 2009. Reference Books: 1. Effective Technical Communication by M.Ashraf Rizivi, 1st Edition, Tata McGraw

Hill, 2005. 2. Ethics in Engineering by Mike W Martin and Ronald Schinzinger, 3rd Edition,

Tata McGrawHill, 2003.

NIE, Mysore – 8. Department of MCA

Advanced Java Programming Laboratory (0:0:3)

Subject Code : MCA0118 CIE : 50%

Hrs/Week : 03 SEE : 50%

SEE Hours : 3 Hrs Max Marks: 50

Pre-requisite : Programming in Java

Course Outcomes:

On successful completion of the course, the students will be able to:

1. Distinguish OO programming from declarative and procedural ones and to design programs using the object-oriented paradigm 2. Analyze and design a computer program to solve real world problems based on object oriented principles and ability to implement these designs 3. Acquire the knowledge of basic JAVA library and tools at a depth that is required to solve real-world programming problems 4. Produce accurately documented implementations 5. Gain exposure to state-of-the-art development tools 6. Use critical thinking skills and creativity to solve problems.

IDE: ECLIPSE /Netbeans, Apache tomcat server for servlets and JSP programs, ODBC-JDBC Connectivity Bridge software. (Note: Initial programs to work with notepad editor and compile and execute in jdk environment command prompt) Advanced JAVA programs on JSP, servlets, Struts, programs on cookies, session creation, and web application using database connectivity.

NIE, Mysore – 8. Department of MCA

Advanced Web Programming Laboratory (0:0:3)

Sub Code : MCA0119 CIE : 50%

Hrs/Week : 03 SEE :50%

SEE Hours : 3 Hrs Max Marks : 50

Pre-requisites : Web Technologies

Course Outcomes:

The student on successful completion of this course should be able to

1. Learn the usage of HTML, design and implement simple applications. 2. Discuss the need of JavaScript and CSS in web applications. 3. Develop a structured and well-documented computer program. 4. Apply the Web Technology techniques to solve practical Web problems. 5. Identify the need of XML in web applications. 6. Design and implement web applications using HTML, JavaScript programming environment

Advanced Programs on HTML tags, CSS, JavaScript, XML documents and XML style sheets, DOM elements, Perl, MYSQL and Perl.

NIE, Mysore – 8. Department of MCA

Mini Project 1 (0:0:2)

Subject Code : MCA0120 CIE : 50%

Hrs/Week : 02 SEE : 50%

Max Marks : 50

Pre-requisite: NA

Course Outcomes:

On successful completion of the course, the students will be able to:

1. Identify of real world problems

2. Understand different design methodologies.

3. Select appropriate tools for solving a problem

4. Decide on advanced programming techniques/languages

5. Apply the art of verification and validation.

6. Write technical reports

A team of TWO students must develop the mini project. However, during the final presentation, 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:

1. Introduction,

2. Requirements

3. Software Development Process Model Adopted, Analysis and Design Models.

4. Implementation

5. Testing

The Report must be evaluated for 10 marks, Demonstration for 30 marks and Viva for 10 mark

NIE, Mysore – 8. Department of MCA

Electives

Sub.Code Subjects L T P Credit

MCA0422 Computer Graphics and Visualization 4 0 0 4

MCA0423 UNIX system Programming 4 0 0 4

MCA0424 Multimedia Systems 4 0 0 4

MCA0426 Artificial Intelligence 4 0 0 4

MCA0428 Information Retrieval& Search Engines

4 0 0 4

MCA0429 Data Mining 4 0 0 4

MCA0431 Network Management 4 0 0 4

MCA0433 Software Architectures 4 0 0 4 MCA0434 Information and Network Security 4 0 0 4 MCA0435 Software Testing and Practices 4 0 0 4

MCA0436 Services Oriented Architectures 4 0 0 4

MCA0437 Mobile Computing& Wireless Communication

4 0 0 4

MCA0438 Principles of User Interface Design 4 0 0 4

MCA0439 Web 2.0 and rich internet applications 4 0 0 4

MCA0441 Digital Image Processing 4 0 0 4

MCA0442 Advanced Computer Networks 4 0 0 4

MCA0446 Cloud Computing 4 0 0 4

MCA0407 Introduction to Python Programming 4 0 0 4

MCA0408 Big Data Analytics 4 0 0 4

MCA0410 Introduction to Android Programming 4 0 0 4

NIE, Mysore – 8. Department of MCA

Computer Graphics and Visualization (4:0:0)

Sub Code : MCA0422 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA Course Outcomes: On successful completion of the course, the students will be able to 1. Recall the different applications of computer graphics 2. Explain the potential and benefits of using openGL in field of computer graphics 3. Show the working of various animated interactive programs by using suitable input

and output devices. 4. Explain the different aspects of modeling and transforming using homogeneous

coordinates. 5. Design and implement various three dimensional Line clipping algorithms 6. Demonstrate the use of modeling and transformation in order to visualize various

models

Unit – 1 Introduction 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: Self Learning Exercise: The Sierpinski gasket. Unit – 2 The OpenGL The OpenGL API; Primitives and attributes; Color; Viewing; Control functions; The Gasket program; Polygons and recursion. Self Learning Exercise: The three dimensional gasket. Unit – 3 Input and Interaction Interaction, Input devices; Clients and servers; Display lists; Programming event-driven input; Menus; Picking; A simple paint program; Animating interactive programs. Self Learning Exercise: Design of interactive programs.

NIE, Mysore – 8. Department of MCA

Unit – 4 Geometric Objects and Transformations 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. Viewing Classical and computer viewing; Positioning of the camera; Simple projections; Projections in OpenGL; Hidden-surface removal; Walking through a scene; Parallel-projection matrices. Self Learning Exercise: OpenGL transformation matrices Unit – 5 Shading 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. Implementation - 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. Self Learning Exercise: Antialiasing Unit – 6 Visualization Data + Geometry; Height field and contours; Visualizing surfaces and scalar fields; Isosurfaces and marching cubes; Direct volume rendering; Vector-field visualization. Self Learning Exercise: 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.

NIE, Mysore – 8. Department of MCA

UNIX Systems Programming (4:0:0)

Sub Code : 12MCA423 CIE : 50% Hrs/Week : 04 SEE : 50% SEE Hours : 3 Hrs Max Marks : 100 Pre-requisite: Introduction to UNIX Course Outcomes: On successful completion of the course, the students will be able to:

1. Identify the role of various UNIX programming standards and file types. 2. Demonstrate the usage of file types with respect to different types of operations 3. Discuss UNIX OS concepts such as: process, context switching, kernel support

for processes, running of programs 4. Illustrate process controlling procedures, relationship between processes, process

groups, controlling of terminals 5. Describe signal handling mechanisms and daemon processes 6. Explain the inter-process communication

Unit – 1 Introduction 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. UNIX FilesFile 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, Directory Files, Hard and Symbolic Links. Self learning Exercise: Relationship of C Stream Pointers and File Descriptors Unit – 2 UNIX File APIs General File APIs, File and Record Locking, Directory File APIs, Device File APIs, FIFO File APIs, Symbolic Link File APIs. Self learning Exercise: File Listing Program Unit – 3 UNIX Processes The Environment of a UNIX Process: Introduction, main function, Process Termination, Command-Line Arguments, Environment List, Memory Layout of a C Program, , Environment Variables, setjmp and longjmp Functions, getrlimit, setrlimit Functions, UNIX Kernel Support for Processes. Self learning Exercise: Shared Libraries, Memory Allocation

NIE, Mysore – 8. Department of MCA

Unit – 4 Process Control 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, Controlling Terminal, Job Control, Shell execution of programs. Self learning Exercise: Process Groups, Sessions Unit – 5 Signals and Daemon Processes 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. Self learning Exercise: Client-Server Model. Unit – 6 Interprocess Communication Introduction; Pipes, popen, pcloseFunctions; Coprocesses; FIFOs,Message Queues; Semaphores.Network IPC: Sockets Introduction; Socket Descriptors; Addressing; Connection establishment; Data transfer; Socket options; Out-of-band data. Self learning Exercise: XSI IPC and Non-blocking 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) 2 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. 3. UreshVahalia: UNIX Internals, Pearson Education, 2001.

NIE, Mysore – 8. Department of MCA

Multimedia Systems (4:0:0) Sub Code : MCA0424 CIE : 50% Hrs/Week : 04 SEE : 50% SEE Hours : 3 Hrs Max Marks : 100 Pre-requisite : NA Course Outcomes: On successful completion of the course, the students will be able to

1. Understand various elements of multimedia and its applications. 2. Analyze the different data compression techniques for both audio and video. 3. Explain the need for different type of storage media and its applications. 4. Illustrate design and implementation of different data file formats. 5. Apprise different applications of multimedia.

Unit – 1 Introduction, Media and Data Streams, Audio Technology 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. Self Learning Exercise: Three Dimensional Sound Projection; Music and MIDI Standards; Speech Signals; Speech Output; Speech Input; Speech Transmission. Unit – 2 Graphics and Images, Video Technology, Computer-Based Animation 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. Self Learning Exercise: Transmission of Animation; Virtual Reality Modeling Language. Unit – 3 Data Compression - Storage Space; Coding Requirements; Source, Entropy, and Hybrid Coding; Basic Compression Techniques; JPEG: Image Preparation, Lossy Sequential DCT-based Mode.H.261 (Px64) and H.263: Image Preparation, Coding Algorithms,

NIE, Mysore – 8. Department of MCA

DataStream, H.263+ and H.263L; MPEG: Video Encoding, Audio Coding,Data Stream, MPEG-2. Self Learning Exercise: Expanded Lossy DCT-based Mode, Lossless Mode, Hierarchical Mode, MPEG-4, MPEG-7; Fractal Compression. Unit – 4 Optical Storage Media 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. Content Analysis Simple Vs. Complex Features; Analysis of Individual Images; Analysis of Image Sequences. Self Learning Exercise: Compact Disc Magneto- Optical; Compact Disc Read/Write; Digital Versatile Disc, Audio Analysis; Applications. Unit – 5 Data and File Format Standards 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. Self Learning Exercise: MPEG Standards; TWAIN. Unit – 6 Multimedia Application Design Multimedia Application Classes; Types of Multimedia Systems; Virtual Reality Design; Components of Multimedia Systems; Organizing Multimedia Databases. Self Learning Component: Application Work flow 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) 2. Prabhat K. Andleigh, KiranThakrar: 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.

NIE, Mysore – 8. Department of MCA

Artificial Intelligence (4:0:0) Sub Code : MCA0426 CIE : 50% Hrs/Week : 04 SEE : 50% SEE Hours : 3 Hrs Max Marks : 100 Pre-requisites: NA Course Outcomes: On successful completion of the course, the students will be able to

1 Explain the fundamentals of Artificial Intelligence – Understanding Level 2 Explain the search techniques and knowledge representation – Understanding

Level 3 Describe the Rules for knowledge representation – Understanding Level 4 Define the reasoning and planning – Understanding Level 5 Explore the concept of Machine Learning and Common Sense – Understanding

Level UNIT-1 Introduction , Problems, Problem Spaces & Search What is Artificial Intelligence? What is an AI Technique, The Level of the Model; Problems, Problem Spaces & Search Defining the problem as a state space search, Production Systems: Control strategies, Heuristic Search, Problem Characteristics: Is the problem decomposable? Can solution steps be ignored or undone? Is the Universe Predicate? Is a good solution Absolute or Relative? Is the solution a State or a Path? What is the role of knowledge? Does the task Require Interaction with a Person? Problem Classification, Production System Characteristics. Self Learning Exercise: Issues in the design of search programs UNIT- 2 Search Techniques and Knowledge Representation Heuristic Search Techniques: Generate-and-Test, Hill-Climbing: Simple Hill climbing, Steepest Ascent Hill Climbing, Best-First search: OR Graphs, The A* Algorithm, Problem reduction: AND-OR Graphs, The AO* Algorithm. Constraint satisfaction, Means-ends analysis; Knowledge Representation: Representations and Mappings, Approaches to knowledge representation, Issues in Knowledge Representation: attributes, relationships among attributes, choosing granularity of Representation, Representing set of objects. Self Learning Exercise: Finding right structures as needed

NIE, Mysore – 8. Department of MCA

UNIT-3 Representing knowledge using RulesRepresenting knowledge using Rules: Procedural Vs Declarative Knowledge, Logic Programming, Backward Reasoning: Backward chaining rule systems, Forward chaining Rule systems, Combining Forward and Backward Reasoning, Matching: Indexing, Matching with variables, Complex and Appropriate Matching. Self Learning Exercise: conflict resolution UNIT-4 Statistical Reasoningand Planning Statistical Reasoning: Probability and Bayes’ Theorem, Certainty and Rule-Based System, Bayesian Networks, Dempster-Shafer Theory, Fuzzy Logic; Planning: Components of Planning system, Hierarchical Planning. Self Learning Exercise: Reactive Systems UNIT-5 Learning and Common Sense What is Learning? Rote Learning, Learning by taking advice, Learning in Problem-solving, Learning from Examples: Wintson Learning Program; Common Sense: Common Sense Onto logies: Time, Space, Materials, Memory Organization, Case Based Reasoning. Self Learning Exercise: Explanation based learning UNIT-6 Artificial Immune Systems The phenomenon of Immunity, Immunity and Infection, The Innate Immune system, Adaptive Immune system, Clonal Selection, Learning, Immune Network Theory, Mapping Immune systems to practical Applications: Modeling affinities, Case studies: Case-1 Network Security, Case-2 AIS for Robot control and Navigation. Self Learning Exercise: Other applications Text Book: 1. Elaine Rich, Kelvin Knight, Shiva Shankar B Nair: Artificial Intelligence, 3rd Edition, Tata McGraw Hill, 2009. Reference Books: 1. Stuart Russel, Peter Norvig: Artificial Intelligence: A Modern Approach, 2nd Edition,

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

NIE, Mysore – 8. Department of MCA

Data Mining (4:0:0)

Sub Code : MCA0429 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA Course Outcomes: On successful completion of the course, the students will be able to

1. Understand the necessity of data mining. 2. Identify different tasks of data mining. 3. Identify the different methods in association analysis 4. Apply algorithms for association analysis in identifying associations 5. Understand the importance of cluster analysis. 6. Understand the importance of advanced data mining topics like spatial data

mining, text mining, mining the web. Unit - 1 Introduction, Data – 1 What is Data Mining? Motivating Challenges; The origins of data mining; Data Mining Tasks. Types of Data. Self Learning Exercise: Data Quality. Unit – 2 Data – 2 Data Preprocessing; Measures of Similarity and Dissimilarity ClassificationPreliminaries; General approach to solving a classification problem; Decision tree induction; Rule-based classifier; Self Learning Exercise: Nearest-neighbor classifier. Unit - 3 Association Analysis – 1 Problem Definition; Frequent Itemset generation; Rule Generation; Compact representation of frequent itemsets; Self Learning Exercise: Alternative methods for generating frequent itemsets.

NIE, Mysore – 8. Department of MCA

Unit - 4 Association Analysis – 2 FP-Growth algorithm, Evaluation of association patterns; Effect of skewed support distribution. Self Learning Exercise: Sequential patterns. Unit - 5 Cluster Analysis Overview, K-means, Agglomerative hierarchical clustering, DBSCAN. Self Learning Exercise: Overview of Cluster Evaluation. Unit - 6 Further Topics in Data Mining Multidimensional analysis and descriptive mining of complex data objects; Spatial data mining; Multimedia data mining; Text mining; Mining the WWW, Outlier analysis. ApplicationsData mining system products and research prototypes; Additional themes on Data mining; Social impact of Data mining; Trends in Data mining. Self Learning Exercise: Data mining applications 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 MichelineKamber: Data Mining – Concepts and Techniques, 2nd Edition, Morgan Kaufmann, 2006. (Chapters 7.11, 10, 11) Reference Books: 1. K.P.Soman, ShyamDiwakar, V.Ajay: Insight into Data Mining – Theory and Practice, PHI,

NIE, Mysore – 8. Department of MCA

Network Management (4:0:0)

Sub Code : MCA0431 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : Computer Networks Course Outcomes: On successful completion of the course, the students will be able to

1. Describe the importance of Network topology. 2. Differentiate between organization model and information model. 3. Analyze the management information base with managed objects. 4. Compare RMON1 groups and functions 5. Explain the broadband network management 6. Formulate performance metrics with network management

Unit – 1 Introduction Analogy of Telephone Network Management, Data and Telecommunication Network Distributed computing Environments, TCP/IP-Based Networks: The Internet and Intra-nets, 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. Self Learning Exercise: Network and System Management, Network Management System platform, Current Status and Future of Network Management. Unit – 2 Basic Foundations: Standards, Models, and Language 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.SNMPv1 Network Management – 1Managed Network: The History of SNMP Management, Internet Organizations and standards, Internet Documents, The SNMP Model. Self Learning Exercise: An Example of ASN.1 from ISO 8824; Encoding Structure;

NIE, Mysore – 8. Department of MCA

Macros, Functional Model, The Organization Model, System Overview. Unit – 3 SNMPv1 Network Management – 2 The Information Model – Introduction, The Structure of Management Information, Managed Objects, Management Information Base. The SNMP Communication Model – The SNMP Architecture, Administrative Model. Self Learning Exercise: SNMP Specifications, SNMP Operations, SNMP MIB Group, Functional Model. Unit – 4 SNMP Management – RMON 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. Self Learning Exercise: ATM Remote Monitoring, A Case Study of Internet Traffic Using RMON. Unit – 5 Broadband Network Management Broadband Access Networks and Technologies – Broadband Access Networks, Broadband 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. Self Learning Exercise: ADSL Configuration Unit-6 Network Management Applications 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

NIE, Mysore – 8. Department of MCA

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. Self Learning Exercise: Report Management, Policy-Based Management, Service Level Management. Text Books: 1. Mani Subramanian: Network Management- Principles and Practice, 2ndedition,Pearson

Education Publication, 2009. Reference Books: 1. J. Richard Burke: Network management Concepts and Practices: a Hands- On

Approach, PHI, 2008.

NIE, Mysore – 8. Department of MCA

Software Architectures (4:0:0) Sub Code : MCA0433 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : Software Engineering Course outcomes: On successful completion of this course the students should be able to

1. Understand the architecture business cycle. 2. Differentiate architectural styles and patterns 3. Understand the quality attributes in the architecture. 4. Illustrate the different design patterns. 5. Understanding the design and documentation of the architecture.

Unit – 1 1. Introduction 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. Self learning Exercise: Architectural structures and views. Unit – 2 Architectural Styles and Case Studies 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. Self learning Exercise: Mobile robotics; Cruise control; Three vignettes in mixed style. Unit – 3 Quality Functionality and architecture; Architecture and quality attributes; 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.

NIE, Mysore – 8. Department of MCA

Self learning Exercise: Quality attribute scenarios in practice; Other system quality attributes. Unit – 4 Architectural Patterns Introduction; From mud to structure: Layers, Pipes and Filters, Blackboard. Distributed Systems: Broker; Interactive Systems: MVC, Presentation-Abstraction-Control: Microkernel; Reflection. Self learning Exercise: Adaptable Systems Unit – 5 Some Design Patterns Structural decomposition: Whole – Part: Master –Slave; Access Control: Proxy. Self learning Exercise: Organization of work. Unit – 6 Designing and Documenting Software Architecture Architecture in the life cycle; Designing the architecture; Forming the team structure; Creating a skeletal system. Uses of architectural documentation; Documenting a view; Documentation across views. Self learning Exercise: Views; Choosing the relevant 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/

NIE, Mysore – 8. Department of MCA

Information and Network Security (4:0:0)

Sub Code : MCA0434 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA Course Outcomes: On successful completion of the course, the students will be able to

1. Plan to provide security for the information by designing models and also familiarize with the security technologies

2. Apply cryptographic techniques using various tools 3. Recognize different services and mechanisms for Network Security applications 4. Analyze the email security formats 5. Understand the key management techniques and design of IP security technology 6. Analyze the different web security technologies

Unit – 1 Planning for Security Introduction; Information Security Policy, Standards, and Practices; The Information Security Blue Print; Contingency plan. Security Technology Introduction; Physical design; Firewalls; Protecting Remote Connections. Introduction; Intrusion Detection Systems (IDS); Honey Pots, Honey Nets, and Padded cell systems. Self Learning Exercise: Model for contingency plan, Scanning and Analysis Tools. Unit – 2 Cryptography Introduction; A short History of Cryptography; Principles of Cryptography; Cryptography Tools. Self Learning Exercise: Attacks on Cryptosystems. Unit – 3 Introduction to Network Security, Authentication Applications Attacks, services, and Mechanisms; Security Attacks; Security Services; A model for Internetwork Security; Internet Standards and RFCs. Kerberos. Self Learning Exercise: X.509 Directory Authentication Service.

NIE, Mysore – 8. Department of MCA

Unit – 4 Electronic Mail Security Pretty Good Privacy (PGP); S/MIME. Self Learning Exercise: S/MIME Functionality, S/MIME Messages Unit – 5 IP Security IP Security Overview; IP Security Architecture; Authentication Header; Encapsulating Security Payload; Combining Security Associations. Self Learning Exercise: Key Management. Unit – 6 Web Security Web security requirements; Secure Socket layer (SSL) and Transport layer Security (TLS). Self Learning Exercise: 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)

2. 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.

NIE, Mysore – 8. Department of MCA

Software Testing& Practices (4:0:0)

Sub Code : MCA0435 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA Course outcomes The students on successful completion of this course should be able to

1 Define the testing and test generation strategies. 2 Classify test cases from the requirement. 3 Identify advantages and disadvantages of dataflow model and data flow testing. 4 Analyze the quality process in testing. 5 Compare which type of interaction and regression testing has to be performed and when

to release the software. Unit – 1 Basics of Software Testing 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;. Self learning Exercise: Types of Testing; The Saturation Effect Unit – 2 Test Generation from Requirements, Structural Testing 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; Path testing; Procedure call testing; Comparing structural testing criteria; The infeasibility problem. Self learning Exercise: Branch testing; Condition testing Unit – 3 Dependence, Data Flow Models, and Data Flow Testing 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

NIE, Mysore – 8. Department of MCA

structures. Self learning Exercise: The infeasibility problem Unit – 4 Test Case Selection and Adequacy, Test Execution 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; Capture and replay. Self learning Exercise: Test oracles; Self-checks as oracles Unit – 5 Process Test and analysis activities within a software process: The quality process; Planning and monitoring; Quality goals; Analysis; Testing; Improving the process; Organizational factors. Self learning Exercise: Dependability properties Unit – 6 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; Test case prioritization and selective execution. Self learning Exercise: Regression test selection techniques Text Books: 1. Aditya P Mathur: Foundations of Software Testing, 2nd edition Pearson Education.

(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.

NIE, Mysore – 8. Department of MCA

Services Oriented Architecture (4:0:0)

Sub Code : MCA0436 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA Course outcome:- The students on successful completion of this course should be able to:

1. Understand the Service oriented architecture. 2. Explain the web services primitives with the SOA 3. Distinguish the different principles of SOA and SOA platforms 4. Analyze different service layers in SOA 5. Understand web service design process.

Unit – 1 Introduction to SOA, Evolution of SOA 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). Self learning Exercise: The roots of SOA (comparing SOA to Past architectures). Unit – 2 Web Services and Primitive SOA The Web services framework; Services (as Web services); Service descriptions (with WSDL). Self learning Exercise: Messaging (with SOAP). Unit – 3 Web Services and Contemporary SOA Message exchange patterns; Service activity; Coordination; Atomic Transactions; Business activities; Orchestration; Choreography. Addressing; Reliable messaging; Correlation; Polices; Metadata exchange; Security; Notification and eventing Principles of Service – Orientation Services-orientation and the enterprise; Anatomy of a service-oriented architecture; Common Principles of Service-orientation; How service orientation principles inter-relate. . Self learning Exercise: Service-orientation and object-orientation; Native Web service support for service-orientation principles

NIE, Mysore – 8. Department of MCA

Unit – 4 Service Layers Business service layer, Orchestration service layer; Agnostic services; Self learning Exercise: Service layer configuration scenarios Unit – 5 Business Process Design WS-BPEL language basics; WS-Coordination overview; Service-oriented business process design; WS - addresing language basics. Self learning Exercise: WS-Reliable Messaging language basics Unit – 6 SOA Platforms SOA platform basics; SOA support in J2EE; SOA support in .NET; Service-orientation and contemporary SOA; Service layer abstraction. Self learning Exercise: Application service layer, 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.

NIE, Mysore – 8. Department of MCA

Mobile Computing & wireless communication(4:0:0)

Sub Code : MCA0437 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA Course Outcomes: On successful completion of the course, the students will be able to

1. Classify the mobile systems 2. Analyze various access methods 3. Analyze mobile Network and transport layer and database requirements 4. Explain the broad casting methods involved 5. Explain synchronization among mobile devices 6. Analyze the Internet connectivity requirement in mobile devices

Unit – 1 Mobile Devices and Systems, Architectures 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. Self Learning Exercise: General Packet Radio Service Unit – 2 Wireless Medium Access Control and CDMA – based Communication Medium Access

Control, Introduction to CDMA – based Systems. Self Learning Exercise: OFDM

Unit – 3 Mobile IP Network Layer, Mobile Transport Layer 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. Databases Database Hoarding Techniques, Data Caching, Client – Server Computing and Adaptation, Transactional Models, Query Processing, Data Recovery Process.

NIE, Mysore – 8. Department of MCA

Self Learning Exercise: Issues relating to Quality of Service Unit – 4 Data Dissemination and Broadcasting Systems Communication Asymmetry, Classification of Data – Delivery Mechanisms, Data Dissemination Broadcast Models, Selective Tuning and Indexing Techniques, Digital Audio Broadcasting. Self Learning Exercise: Digital video Broadcasting.

Unit – 5 Data Synchronization in Mobile Computing Systems Synchronization, Synchronization Protocols, SyncML – Synchronization Language for Mobile Computing. Self Learning Exercise: Synchronized Multimedia Markup Language (SMIL). Unit – 6 Mobile Devices, Server and Management, Wireless LAN, Mobile Internet Connectivity and Personal Area Network 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. Mobile Application languages – XML, Java, J2ME and JavaCard, Mobile Operating Systems Introduction, XML, JAVA, Java 2 Micro Edition (J2ME), JavaCard Operating System, PalmOS, Windows CE, Symbian OS. Self Learning Exercise: Linux for Mobile Devices Text Book: 1. Raj Kamal: Mobile Computing, Oxford University Press, 2007. Reference Books:

1 AsokeTalkukder, 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, LothatMerk, Martin S Nicklous and Thomas Stober: Principles of Mobile Computing, 2nd Edition, Springer International Edition, 2003.

4 Schiller: Mobile Communication, Pearson Publication, 2004.

NIE, Mysore – 8. Department of MCA

Principles of User Interface Design (4:0:0)

Sub Code : MCA0438 CIE : 50% Hrs/Week: 04 SEE : 50 % SEE Hours : 3Hrs Max Marks : 100 Prerequisite : Nil Course Outcome: On successful completion of the course, the students will be able to

1. Explain the Concept of Usability; design Principles, Guidelines of Human Computer Interface.

2. Describe the Interaction design pattern and their applicability. 3. Illustrate a set of Requirements in terms of its user – interface implications. 4. Describe the usage scenario for a given set of user requirements and available

technologies. 5. Explain User Documentation and Information Search.

Unit - 1 Usability of Interactive System, Guidelines , Principles, and Theories- Introduction, usability goals and measures, usability Motivations, Universal usability and Goals for our Profession. Guidelines, Principles and Theories. Managing Design processes –Introduction, Organizational Design to Support Usability, The four pillars of Design, development Methodologies, Ethnographic Observation. Self Learning Exercise: Participatory Design Scenario development. Unit - 2 Evaluating Interface Designs- Introduction, Expert Review, Usability Testing and Laboratories, Survey Instruments, Acceptance Test, Evaluation during Active Use. Direct Manipulation and Virtual Environment- Introduction, Examples of Direct Manipulation, Discussion of Direct Manipulation, 3D Interfaces. Self Learning Exercise: Teleportation. Unit - 3 Menu Selection, Form Fill-in and Dialog Boxes- Introduction, Task-Related Menu Organization, single Menus, Combinations of Multiple Menus, Content Organization, Fast Movement Through Menus, Data Entry with Menus- Form Fill-in, Dialog Boxes, and Alternatives, Audio menus and Menus for small Display.

NIE, Mysore – 8. Department of MCA

Command and Natural Languages- Introduction, Command –organization Functionality, Strategies , and structure , Naming and Abbreviations and Natural Languages in Computing. Self Learning Exercise: Adventure games and Instructional Systems. Unit - 4 Interaction Devices- Introduction, Keyboards and Keypads, Pointing Devices , Speech and Auditory Interfaces and Display – Small and Large. Collaborations and Social Media participation- Introduction, Goals of Collaboration and Participation, Asynchronous and Synchronous Distributed Interfaces- Different Faces and Different time. Self Learning Exercise: Face-to-Face Interfaces: Same Place, Same time. Unit - 5 User Documentation and Online help- Introduction, online Versus Paper Documentation, Reading from paper Versus from Displays, Shaping the content of the Documentation, Accessing the Documentation, Online Tutorials and Animated Demonstrations, Demonstrations, online Communities for user Assistance. Self Learning Exercise: The Development Process. Unit - 6 Information Search – Introduction, Searching in Textual Documents and Database querying, Multimedia Document Searches, Advanced Filtering and search interfaces. Self Learning Exercise: Challenges for information Visualization. Text Book:

1. Ben Shneiderman: Designing the User Interface, 5th edition, Pearson Educaions.,2010

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

NIE, Mysore – 8. Department of MCA

Web 2.0 and Rich Internet Applications (4:0:0)

Sub Code : MCA0439 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA Course Outcomes: On successful completion of the course, the students will be able to

1. Understanding the basics of web services 2. Design and implement Rich Internet Applications using AJAX 3. Understand the usage of basics of XML and HTTP 4. Able to work with FLEX 5. Design and implement User Interface techniques 6. Understand the concepts of web 2.0 technology.

Unit – 1 Introduction, Web Services 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. Self Learning Exercise: JSON Syntax, JSON Encoding and Decoding, JSON versus XML.

Unit – 2 Building Rich Internet Applications with AJAX 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. Self Learning Exercise: AJAX application model,

Unit – 3 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.

NIE, Mysore – 8. Department of MCA

Self Learning Exercise: Fall back patterns. Unit – 4 Building Rich Internet Applications with Flex 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. Self Learning Exercise: Managing layout, Flex layout overview, Working with children, Container types, Layout rules, Padding, Borders and gaps, Nesting containers, Making fluid interfaces.

Unit – 5 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, Self Learning Exercise: Using Actionscript classes, Data Binding. Unit – 6 Building Advanced Web 2.0 applications 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. Self Learning Exercise: 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)

NIE, Mysore – 8. Department of MCA

2 ChaficKazoun: Programming Flex 2, O’Reilly publications, 2007. (Chapter 1, Chapters 3 to 7, Chapter 12, Chapter 16 pp380-403)

3 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.Steven Holzner :

Ajax Bible Wiley India , 2007. 4 Eric Van derVlist et al: Professional Web 2.0 Programming, Wiley India, 2007. 5 Justin Gehtland et al: A Web 2.0 primer Pragmatic Ajax, SPD Publications, 2006

NIE, Mysore – 8. Department of MCA

DIGITAL IMAGE PROCESSING (4:0:0)

Sub Code : MCA0441 CIE : 50% Hrs/Week : 04 SEE : 50% SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : NA

Course Outcomes:

On successful completion of the course, the students will be able to

1. Understand digital image fundamentals 2. Apply the concepts of image enhancement with various filters 3. Describe image restoration techniques 4. Appraise image encoding and compression techniques

UNIT - 1

Introduction Origins of Digital Image Processing, examples, Fundamental Steps in Digital Image Processing. Self Learning Exercise: Components of an Image Processing System UNIT - 2 Digital Image Fundamentals Elements of Visual Perception, Basic Concepts in Sampling and Quantization, A Simple Image Formation Model, Representing Digital Images, Zooming and Shrinking Digital Images, Some Basic Relationships Between Pixels. Self Learning Exercise: Linear and Nonlinear Operations. UNIT - 3 Image Enhancement in the Spatial Domain Some Basic Gray Level Transformations, Histogram Processing, Enhancement Using Arithmetic/Logic Operations, Basics of Spatial Filtering, Smoothing Spatial Filters, Sharpening Spatial Filters Self Learning Exercise: Combining Spatial Enhancement Methods UNIT - 4 Image Restoration A Model of the Image degradation / Restoration process, Noise Models, Restoration in the Presence of Noise Only–Spatial Filtering, Periodic Noise Reduction by Frequency Domain Filtering, Linear, Position-Invariant Degradations, Estimating the Degradation Function Self Learning Exercise: Minimum Mean Square Error (Wiener) Filtering

NIE, Mysore – 8. Department of MCA

UNIT - 5 Color Fundamentals Color Models, Pseudo-color Image Processing, Basics of Full-Color Image Processing, Color Transformations, Smoothing and Sharpening. Self Learning Exercise: Color Segmentation, Noise in Color Images UNIT - 6 Image Compression Fundamentals, Image Compression Models, Error-Free Compression, Lossy Compression, Image Compression Standards Self Learning Exercise: Elements of information theory Text Book Rafel C Gonzalez and Richard, Digital Image Processing, Second Edition, Prentice Hall.

NIE, Mysore – 8. Department of MCA

Advanced Computer Networks(4:0:0)

Sub Code : MCA0442 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisites : Computer Networks Course Outcomes: On successful completion of the course, the students will be able to

1. Understand the fundamentals of layering using OSI model and principles of network layering.

2. Analyze the behavior of physical layer and their topology with the help of particular technologies.

3. Identify the need for use of IPV6,and various address translation mechanisms in computer networks.

4. Compare Uncast, multicast and broadcast routing protocols and also learn the working of SCTP protocol.

5. Decide how congestion occurs in a network and different techniques to improve QOS. 6. Discuss the different applications of multimedia.

Unit – 1 Review of Network Models Layered tasks; The OSI model and layers in the OSI model; TCP / IP protocol suite. SONET / SDH Architecture; SONET layers; SONET frames; STS multiplexing; SONETnetworks. Self Learning Exercise: Addressing, Virtual tributaries. Unit – 2 Frame Relay and ATM Frame relay; ATM. Self Learning Exercise: ATM LANs Unit – 3 IPv6, Address Mapping and Error Reporting IPv6: Advantages, Packet format, and Extension headers, Dual stack, Tunneling, and Header translation; Address mapping: ARP, RARP, BOOTP, and DHCP; Error reporting: ICMP. Self Learning Exercise: Transition fromIPv4 to IPv6:

NIE, Mysore – 8. Department of MCA

Unit – 4 Multi-cast Routing Protocols Unicast, multicast and broadcast, Multicasting routing; Routing protocols. SCTP: SCTP services; SCTP features; Packet format; An SCTP association; Flow control; Error control; Congestion control. Self Learning Exercise: Applications Multicast and broadcast. Unit – 5 Congestion Control and Quality of Service Data traffic; Congestion and congestion control; Congestion control in TCP, Frame relay; Quality of Service; Techniques to improve QoS; Integrated services. Self Learning Exercise: Differentiated services, Unit – 6 Multimedia Digitizing audio and video; Audio and video compression; Streaming stored audio / video; Real-time interactive audio / video; RTP; RTCP; VoIP. Self Learning Exercise: Streaming live audio / video. Text Books: 1. Behrouz A. Forouzan, Data Communications and Networking, 5th Edition, Tata McGraw-Hill. 2. 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. 3. Godbole, Data Communications and Networks, Tata McGraw-Hill 2002. 4. Micael A. Gallo & William M. Handcock, Computer 5. Communications and Networking Technologies, 2003 Edition, Thomson.

NIE, Mysore – 8. Department of MCA

CLOUD COMPUTING (4:0:0)

Sub code : MCA0446 CIE : 50 % Hrs /week : 04 SEE : 50 % SEE Hrs : 3 Hrs Max. Marks : 100 Pre-requisite : NA Course Outcomes On successful completion of the course the students will be able to

1. Classify different cloud computing models. 2. Describe basic cloud architecture and cloud services 3. Use the concepts of abstraction and virtualization to plan a cloud environment 4. Demonstrate cloud management using Google web services 5. Discuss cloud security issues 6.Contrast the relationship between SOA and cloud computing by moving application to Cloud.

UNIT - 1 Introduction Defining Cloud Computing, Cloud Types: NIST Model, Cloud Cube Model, Deployment models, Service Models, Characteristics of Cloud Computing: Paradigm shift, Benefits of Cloud computing, Disadvantages of cloud computing, Role of Open Standards, Assessing the Value Proposition: Measuring the Cloud's Value, Avoiding Capital Expenditures, Computing the Total Cost of Ownership, Specifying Service Level Agreements, Defining Licensing Models. Self Learning Exercise: Measuring Cloud Computing Cost UNIT - 2 Understanding Cloud Architecture Exploring the Cloud Computing Stack: Composability, Infrastructure, Platforms, Virtual Appliances, Communication Protocols, Applications, Connecting to the cloud: JoliCloud Netbook OS. Self Learning Exercise: Chromium OS: The Browser as an Operating System.

UNIT - 3 Understanding Services, Applications, Abstraction and Virtualization Defining Infrastructure as Service (IaaS), Defining Platform as a Service (PaaS), Defining Software as a Service (SaaS), Defining Identity as a Service (IDaaS), Using Virtualization Technologies, Load Balancing and Virtualization, Understanding Hypervisors, Understanding Machine Imaging. Self Learning Exercise: Defining Compliance as a Service (CaaS), Porting Applications

NIE, Mysore – 8. Department of MCA

UNIT - 4 Using Google Web Services and Managing the Cloud Exploring Google Applications, Surveying the Google Application Portfolio: Indexed Search, The dark Web, Aggregation and disintermediation, Productivity applications and services, Enterprise offerings, Google Analytics, Google Translate, Administrating the Clouds, Cloud Management Products, Emerging Cloud Management Standards. Self Learning Exercise: Google Web Toolkit, Google App Engine UNIT - 5 Understanding Cloud Security Securing the Cloud: The security boundary, Security service boundary, Security mapping. Security Data: Brokered cloud storage access, Storage location and tenancy, Encryption, Auditing and compliance, Establishing Identity and Presence: Identity protocol standards. Self Learning Exercise: Windows Azure identity standards, Presence. UNIT - 6 Understanding Service Oriented Architecture and Moving Applications to the Cloud Introducing Service Oriented Architecture: Event-driven SOA or SOA 2.0, Enterprise Service Bus, Service Catalogs, Defining SOA Communications: Business Process Execution Language, Business Process modelling. Managing and Monitoring SOA: SOA Management tools, SOA security, The Open Cloud Consortium, Moving Applications to the Cloud: Applications in the Clouds. Self Learning Exercise: Relating SOA and Cloud Computing, Applications and Cloud APIs, Development of Cloud Applications using SOA Text Book:

1. Cloud Computing Bible by Barrie Sosinsky, Wiley India. Reference Books:

1. Cloud Computing for Dummies by Judith Hurwitz, R. Bloor, M. Kanfman, F. Halper (Wiley India Edition).

2. Cloud Security by Ronald Krutz and Russell Dean Vines, Wiley-India. 3. Cloud Computing : A Practical Approach, Anthony T Velte. 4. Google Apps by Scott Granneman, PearsonA Brief Guide to Cloud Computing: An

Essential Introduction to the Next Revolution in Computing, Christopher Barnatt.

NIE, Mysore – 8. Department of MCA

Introduction to Python Programming (4:0:0)

Sub code : MCA0407 CIE : 50 % Hrs /week : 04 SEE : 50 % SEE Hrs : 3 Hrs Max. Marks : 100 Pre-requisite : NA Course Outcomes: On successful completion of the course the students will be able to

1. Recall the need for a “programming language” like Python. Also differentiate the differences b/w Python versions. 2. Understand and demonstrate how to execute basic code in Python. 3. Apply various python data types to create and design some simple python scripts. 4. Compare and classify the complex python data types to execute python scripts. 5. Discuss and develop python scripts using the concept of basic python statements. 6. Create, design and develop scripts using python statements, loops and expressions.

UNIT - 1 PYTHON Q & A SESSION Why do people use Python? What can I do with Python? Intro to python: how is python developed and supported? Advantages of using python: What are python's technical strengths? How Python runs programs: Introducing the Python interpreter, Program execution, Python's view Self Learning Exercise: Installation of Python in Windows and Linux Environment, alternatives to python. UNIT - 2 HOW TO RUN PYTHON PROGRAMS The interactive prompt, starting an interactive session, why the interactive prompt, System Command lines and files – a first script, Module imports and reloads, GUI to python programming and other IDEs, Other launch options. Introducing python object types – The python conceptual hierarchy, why use built in types?, Numbers, strings, lists, dictionaries, tuples, files, Other core types. Self Learning Exercise: Test your knowledge section. UNIT - 3 GETTING DEEPER INTO DATA TYPES – I Numeric types – Numeric type basics, numeric literals, built in numeric tools, Numbers in action, other numeric types. The dynamic typing interlude – the case of the missing declaration statements, shared references, dynamic typing is everywhere.

NIE, Mysore – 8. Department of MCA

Self Learning Exercise: Weak references, Test your knowledge section. UNIT - 4 GETTING DEEPER INTO DATA TYPES – II String fundamentals – basics, literals, string basic operations, methods, formatting expressions, formatting method calls. Lists and dictionaries – Lists in action, dictionaries in action. Self Learning Exercise: Some examples of strings, lists and dictionaries. UNIT - 5 INTRODUCTION TO PYTHON STATEMENTS – I Introducing python statements – The python conceptual hierarchy revisited, Python's statements, a tale of two ifs, syntaxes. Assignments, expressions, and prints – assignment statement forms, sequence assignments, extended sequence unpacking in 3.x, multiple target assignments, Expression statements, python print statements, print stream redirection. Self Learning Exercise: Test your knowledge section. UNIT - 6 INTRODUCTION TO PYTHON STATEMENTS – II if Tests and syntax rules - Python syntax revisited, truth values and boolean tests, the if-else ternary expression, some programs/scripts. While and for loops – while loops, break, continue, pass and the loop else, for loops, loop coding. Self Learning Exercise: Largest of 2 numbers and other basic scripts. Textbooks 1. Mark Lutz, “Learning Python”, 5th edition, O'Reilly publications, 2013. (Chapters – 1,2,3,4,5,6,7,8,10,11,12,13) Reference Books: 1. Mark Lutz, “Programming Python”, 4th edition, O'Reilly publications, 2010 2. Zed A Shaw, “Learn Python the hard way”, Hard Way Series, 2013.

NIE, Mysore – 8. Department of MCA

BIG DATA ANALYTICS (4:0:0) Sub code : MCA0408 CIE : 50 % Hrs /week : 04 SEE : 50 % SEE Hrs : 3 Hrs Max. Marks : 100 Pre-requisite : NA Course Outcomes: On successful completion of the course the students will be able to 1. Define and relate several key technologies used in manipulating, storing, and analyzing big data. 2. Outline a clear understanding of R & Hadoop. 3. Experiment with Integrating R & Hadoop for solving big data problems. 4. Analyze and get a clear understanding of Hadoop Streaming and its importance. 5. Measure Big Data and analyze Big Data. 6. Design and develop applications to apply tools and techniques for analyzing Big Data. UNIT - 1 INTRODUCTION TO BIG DATA Big Data and its Importance – Four V’s of Big Data – Drivers for Big Data –Introduction to Big Data Analytics – Big Data Analytics applications. Self Learning Exercise: Big Data Analytics Applications UNIT - 2 INTRODUCTION TO R & HADOOP Getting Ready to Use Rand Hadoop, Installing R, Installing RStudio, Understanding the features of R language, Installing Hadoop, Understanding Hadoop features, Learning the HDFS and MapReduce architecture, Writing Hadoop MapReduce Programs, Introducing Hadoop MapReduce, Understanding the Hadoop MapReduce fundamentals, Writing a Hadoop MapReduce example, Learning the different ways to write Hadoop MapReduce in R Self Learning Exercise: Installing R Studio UNIT - 3 INTEGRATION OF R & HADOOP Integrating R and Hadoop, Introducing RHIPE ,Understanding the architecture of RHIPE Understanding RHIPE samples, Understanding the RHIPE function reference, Introducing RHadoop, Understanding the architecture of RHadoop, Understanding RHadoop examples, Understanding the RHadoop function reference. Self Learning Exercise: Installation of RHadoop

NIE, Mysore – 8. Department of MCA

UNIT - 4 HADOOP STREAMING WITH R Using Hadoop Streaming with R - Introduction, Understanding the basics of Hadoop streaming, Understanding how to run Hadoop streaming with R, Understanding a MapReduce application, Exploring the HadoopStreaming R package Self Learning Exercise: Hadoop Streaming Packages. UNIT - 5 DATA ANALYTICS WITH R AND HADOOP Understanding the data analytics project life cycle – Introduction, Identifying the problem, Designing data requirement, Preprocessing data, Performing analytics over data, Visualizing data, Understanding data analytics problems, Exploring web pages categorization Case Studies: Computing the frequency of stock market change, Predicting the sale price of blue book for bulldozers. Self Learning Exercise: Case Study: Stock Market change UNIT - 6 UNDERSTANDING BIG DATA ANALYSIS WITH MACHINE LEARNING Introduction to machine learning, Types of machine-learning algorithms, Supervised machine-learning algorithms, Unsupervised machine learning algorithm, Recommendation algorithms, Steps to generate recommendations in R, Generating recommendations with R and Hadoop. Self Learning Exercise: Unsupervised machine learning algorithm Textbooks 1. ArvindSathi, “Big Data Analytics: Disruptive Technologies for Changing the Game”, 1st Edition, IBM Corporation, 2012 (Chapter 1,2,3 Unit 1) 2. Big Data Analytics with R and Hadoop, VigneshPrajapati, -Packt Publishing 2013 (Chapters 1,2,3,4,5,6 Unit 2,3,4,5,6) Reference Books: 1.MichaelMinelli, Michehe Chambers, “Big Data, Big Analytics: Emerging Business Intelligence and Analytic Trends for Today’s Business”, 1st Edition, AmbigaDhiraj, Wiely CIO Series, 2013. 2. Bill Franks, “Taming the Big Data Tidal Wave: Finding Opportunities in Huge Data Streams with Advanced Analytics”, 1st Edition, Wiley and SAS Business Series, 2012. 3. Tom White, “Hadoop: The Definitive Guide”, 3rd Edition, O’reilly, 2012.

NIE, Mysore – 8. Department of MCA

Introduction to Android Programming

Sub Code : MCA0410 CIE : 50%

Hrs/Week : 04 SEE : 50%

SEE Hours : 3 Hrs Max Marks : 100

Pre-requisite : Java Programming Course Outcomes: On completion of this course students will be able to 1. Understand the basic versions, the evolution of Android as a Mobile OS, create simple apps and apply different styles. 2. Explain the User Interface of Android. 3. Manipulate the UI with different common elements. 4. Apply the knowledge to a real time Internet download app. 5. Describe persist data using preferences. 6. Apply the knowledge of DBMS to persist data. Unit – 1 GETTING STARTED WITH ANDROID PROGRAMMING: What Is Android? Android Versions, Features of Android, Architecture of Android, Android Devices in the Market, The Android Market, The Android Developer Community, Obtaining the Required Tools, Android SDK, Installing the Android SDK Tools, Configuring the Android SDK Manager, Eclipse, Android Development Tools (ADT), Creating Android Virtual Devices (AVDs), Creating Your First Android Application, Anatomy of an Android Application ACTIVITIES, FRAGMENTS AND INTENTS: Understanding Activities, Applying Styles and Themes to an Activity, Hiding the Activity Title, Displaying a Dialog Window, Displaying a Progress Dialog, Displaying a More Sophisticated Progress Dialog, Linking Activities Using Intents, Resolving Intent Filter, Collision, Returning Results from an Intent, Passing Data Using an Intent Object, Fragments, Adding Fragments Dynamically, Life Cycle of a Fragment, Interactions between Fragments, Calling Built-In Applications Using Intents. Self Learning Exercise: Understanding the Intent Object, Using Intent Filters, Adding Categories, Displaying Notifications Unit – 2 GETTING TO KNOW THE ANDROID USER INTERFACE: Understanding the Components of a Screen, Views and ViewGroups, LinearLayout, AbsoluteLayout, TableLayout, RelativeLayout, FrameLayout, ScrollView, Adapting to Display Orientation, Anchoring Views, Resizing and Repositioning, Managing Changes to Screen Orientation, Persisting State Information during Changes in Configuration, Detecting Orientation Changes, Controlling the

NIE, Mysore – 8. Department of MCA

Orientation of the Activity, Utilizing the Action Bar, Adding Action Items to the Action Bar, Customizing the Action Items and Application Icon, Creating the User Interface Programmatically, Listening for UI Notifications. DESIGNING YOUR USER INTERFACE WITH VIEWS: Using Basic Views, TextView, View, Button, ImageButton, EditText, CheckBox, ToggleButton, RadioButton, and RadioGroup Views, ProgressBar View, AutoCompleteTextView, View Using Picker Views, TimePicker View, DatePicker View, Using List Views to Display Long List, ListView View, Using the Spinner View, Understanding Specialized Fragments, Using a ListFragment, Using a DialogFragment. Self Learning Exercise: Overriding Methods Defined in an Activity, Registering Events for Views, Using a PreferenceFragment. Unit – 3 DISPLAYING PICTURES AND MENUS WITH VIEWS: Using Image Views to Display Pictures, Gallery and ImageView Views, ImageSwitcher, GridView, Using Menus with Views, Creating the Helper Methods, Options Menu, Context Menu. Self Learning Exercise: Some Additional Views, AnalogClock and DigitalClock Views, WebView Unit – 4 USING INTERNET RESOURCES: Downloading and Parsing Internet Resources, Connecting to an Internet Resource, Parsing XML Using the XML Pull Parser, Creating an Earthquake Viewer, Using the Download Manager, Downloading Files, Customizing Download Manager Notifications, Specifying a Download Location, Cancelling and Removing Downloads, Querying the Download Manager, Using Internet Services. Self Learning Exercise: Connecting to Google App Engine, Best Practices for Downloading Data Without Draining the Battery Unit – 5 FILES, SAVING STATE, AND PREFERENCES: Saving Simple Application Data, Creating and Saving Shared Preferences, Retrieving Shared Preferences, Creating a Settings Activity for the Earthquake Viewer, Introducing the Preference Framework and the Preference Activity, Defining a Preference Screen Layout in XML, Native Preference Controls, Using Intents to Import System Preferences into Preference Screens, Introducing the Preference Fragment, Defining the Preference Fragment Hierarchy, Using Preference Headers, Introducing the Preference Activity, Backward Compatibility and Preference Screens, Finding and Using the Shared Preferences Set by Preference Screens, Introducing On Shared Preference Change Listeners, Creating a Standard Preference Activity for the Earthquake Viewer, Persisting the Application Instance State, Saving Activity State Using Shared Preferences, Saving and Restoring Activity Instance State, Using the Lifecycle Handlers, Saving and Restoring Fragment Instance State, Using the Lifecycle Handlers, Including Static Files as Resources, Working with

NIE, Mysore – 8. Department of MCA

the File System, File-Management Tools Using Application-Specific Folders to Store Files, Creating Private Application Files. Self Learning Exercise: Using the Application File Cache, Storing Publicly Readable File. Unit – 6 DATABASES AND CONTENT PROVIDERS: Introducing Android Databases, SQLite Databases, Content Providers, Introducing SQLite, Content Values and Cursors, Working with SQLite Databases, Introducing the SQLiteOpenHelper, Opening and Creating Databases Without the SQLite Open Helper, Android Database Design Considerations, Querying a Database, Extracting Values from a Cursor, Adding, Updating, and Removing Rows, Inserting Rows, Updating Rows, Deleting Rows, Creating Content Providers, Registering Content Providers, Publishing Your Content Provider’s URI Address, Creating the Content Provider’s Database, Implementing Content Provider Queries, Content Provider Transactions, Storing Files in a Content Provider, A Skeleton Content Provider Implementation, Using Content Providers, Introducing the Content Resolver, Querying Content Providers, Querying for Content Asynchronously Using the Cursor Loader, Introducing Loaders, Using the Cursor Loader, Adding, Deleting, and Updating Content, Inserting Content, Deleting Content, Updating Content, Accessing Files Stored in Content Providers. Self Learning Exercise: Creating a To-Do List Database and Content Provider. Text Books:

1. Wei-Meng Lee, Beginning Android 4 Application Development, Wrox, Wiley India Edition. (Chapters: 1, 2, 3, 4, 5)

2. Reto Meier, Professional Android 4 Application Development, Wrox, Wiley India Edition(Chapters: 6, 7, 8)

Reference Books:

1. Mark Murphy, The Busy Coder's Guide to Android Development, version 4.2. 2. Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) 3. Paul Deitel, Harvey Deitel, Abbey Deitel, and Michael Morgano, Android for

Programmers: An App-Driven Approach 4. Anubhav Pradhan, Anil V Deshpande, Composing Mobile Apps: Learn / Explore / Apply

using Android 1stEdition.