M. S. RAMAIAH INSTITUTE OF TECHNOLOGY BANGALORE-54 (Autonomous Institute, Affiliated to VTU) Department of Computer Applications Outcomes Based Education Curricula (Academic Year 2015 – 2016) III & IV SEMESTER MCA M S Ramaiah Institute of Technology (MSRIT) was started in 1962 by Late Dr. M S Ramaiah, our Founder Chairman who was a renowned visionary, philanthropist, and a pioneer in creating several landmark infrastructure projects in India. Noticing the shortage of talented engineering professionals required to build a modern India, Dr. M S Ramaiah envisioned MSRIT as an institute of excellence imparting quality and affordable education. Part of Gokula Education Foundation, MSRIT has grown over the years with significant contributions from various professionals in different capacities, ably led by Dr. M S Ramaiah himself, whose personal commitment has seen the institution through its formative years. Today, MSRIT stands tall as one of India’s finest names in Engineering Education and has produced around 35,000 engineering professionals who occupy responsible positions across the globe. About the Department: The Department of Computer Applications was established in 1997 with the objective of producing high quality professionals to meet the demands of the emerging field of Computer Applications. The department got academic autonomy in the year 2007 and is accredited by NBA. The Department of Computer Applications is recognized as a Research Centre under Visvesvaraya Technological University in 2012. Faculty List Sl. No Names of Faculty Qualification Designation 1 Dr. T V Suresh Kumar M.Sc, M.Phil, MS, Ph.D Registrar (Academics) Professor and Head 2 Dr. S Ajitha MCA, M.Phil, Ph.D Associate Professor 3 Dr. S Jagannatha MCA, M.Phil, Ph.D Associate Professor 4 Dr. D EvangelinGeetha MCA, M.Phil, Ph.D Associate Professor 5 Mrs. MadhuBhan MCA, M.Phil, (Ph.D) Assistant Professor 6 Dr. M Mrunalini MCA, M.Phil, Ph.D Assistant Professor 7 Mrs. K Sailaja Kumar MCA, M.Phil, (Ph.D) Assistant Professor 8 Mr. ChethanVenkatesh MCA, M.Phil, (Ph.D) Assistant Professor 9 Dr. Manish Kumar MCA, M.Phil, Ph.D Assistant Professor 10 Mr. M Niranjana Murthy MCA, M.Phil, (Ph.D) Assistant Professor 11 Mrs. B N Nithya MCA Assistant Professor 12 Mr. Ananda N MCA Assistant Professor 2 Vision and Mission Vision: To evolve into an autonomous institute of International standing for imparting quality technical education Mission: MSRIT shall deliver global quality technical education by nurturing a conducive learning environment for a better tomorrow through continuous improvement and customization. Quality Policy “We at M. S. Ramaiah Institute of Technology, Bangalore strive to deliver comprehensive, continually enhanced, global quality technical and management education through an established Quality Management system Complemented by the Synergistic interaction of the stake holders concerned”. Vision of the Department: To be a nationally prominent and internationally recognized department in academics and research activities with the aim of developing competitive software professionals to serve the society and ever changing industry Mission of the Department: To enable the students to be knowledgeable and creative through state–of-theart curriculum and innovative teaching methodologies To provide training programs that bridges the gap between academia and industry to produce competitive software professionals To inculcate ethical values in students enabling them to become socially committed professionals To enhance the research quality and productivity by providing required facilities and industry collaboration Process of deriving the vision and mission of the department The department has framed the vision and mission of the department considering the objective of the management and the need of the stakeholders through continual discussions. The following steps were followed: Step 1. The vision and the mission of the institute form the basis to define the vision and the mission of the department Step 2. Views are taken from the Alumni, Students, Management, Department Faculty, Industry and Professional Bodies Step 3. The accepted views are analyzed and reviewed to check the consistency of the vision and the mission of the institute. 3 Process of deriving the vision and mission of the department is shown in the following Figure. Quality Policy of MSRIT Institute Vision and Mission Employer Alumni Professional Societies /Statutory Bodies Industrial Advisory Board Management Department Faculty Define Department Vision Define Department Mission Programme Assessment Committee Review (Every 3 Years) PEOs of the Programme PEO1. Learn and apply computing and managerial principles to excel in professional career in the field of Computer Applications as an individual, as part of a team, as an entrepreneur and equip them with orientation towards research PEO2. Analyze real world problems, design and develop solutions through the knowledge of mathematics and computing principles that are socially acceptable PEO3. Exhibit professional ethics, cyber regulations and communication skills, engage in lifelong learning and to adapt emerging technologies and tools Process of Deriving the Programme Educational Objectives (PEOs) The department has framed the PEOs considering vision and mission of the Department, graduate attributes, and guidelines of Professional Societies / Statutory Bodies and stakeholders’ views. The Process of defining PEOs is initiated by the Head of the Department (HoD) Step 1. Step 2. Step 3. Step 4. Vision and Mission of the Department are taken as a basis to interact with various stake holders and graduate attributes defined by NBA are also kept in view Programme Assessment Committee consults the key constituents and collects their views and submits the views to Programme Coordinator Programme Coordinator deliberates on the views expressed by the Programme Assessment Committee and formulates the PEOs and forwards the same to the Board of Studies, Academic Council and Governing Council for approval. The Board of Studies, Academic Council and Governing Council approve and accept the formulation given by the Department Programme Assessment Committee and the PEOs are established. 4 Institute Vision and Mission Department Vision and Mission Employer Alumni Professional Societies / Statutory Bodies Graduate Attributes Management Industrial Advisory Board Department Faculty Collect the views Professional Societies / Statutory Bodies Board of Studies Analyze and summarize the views Programme Assessment Committee Review the summarized views and establish the PEOs Approve the PEOs Academic Council PO’s of the Programme offered a. An ability to apply knowledge of mathematics and computing principles appropriately to develop conceptual model for real world problems. b. An ability to identify and formulate problem definition for real world problems, analyze the literature of the domain and provide solutions using mathematics and computing. c. An ability to design, develop and assess a software system, process, component, or program of varying complexity as per needs of public and society d. An ability to use research based knowledge to analyze and interpret data and synthesize information to provide valid conclusions. e. An ability to apply the computing and management principles for managing projects as an individual, as a member and as a leader in a team under multidisciplinary environments. f. An ability to understand, select, use and create modern tools and technologies necessary for computing practices. 5 g. An ability to adapt professional ethics, principles of professional computing practices, cyber regulations and responsibilities. h. An ability to communicate effectively about computing activities in both verbal and written form with the computing community and with society. i. An ability to assess the local and global impact of software solutions on individuals, organizations and society. j. An ability to recognize the need and engage in self learning for continual development as a computing professional. k. An ability to perform effectively as an individual and as a member or leader in diverse teams and in multidisciplinary environments. l. An ability to adapt standardized software engineering practices with innovative ideas to succeed as an employee or entrepreneur. Process of deriving the Programme Outcomes (POs) The department has framed the POs considering vision and mission of the Department, graduate attributes, PEOs and guidelines of Professional Societies / Statutory Bodies and stakeholders’ views. The Process of defining POs is initiated by the Head of the Department (HoD) Step 1. Vision and mission of the Department, graduate attributes defined by NBA , and Programme Educational Objectives are the basis Step 2. Programme Assessment Committee consults the stake holders, and Industrial Advisory Board and collects their views Step 3. Programme Assessment Committee analyzes and summarizes the views with respect to the guidelines of Professional Societies / Statutory Bodies and forwards the same to the Board of Studies Step 4. Programme Assessment Committee in coordination with Board of Studies reviews the summarized views and establishes the POs and forwards the same to the Academic Council for approval. Step 5. Academic Council approves the POs 6 Mapping of PEO’s and PO’s The correlation between the Programme Outcomes and Program Educational Objectives are mapped in the Table shown below: Programme Outcomes Sl. Programme Educational Objectives No. a b c d e f g h i j k l Learn and apply computing and managerial principles to excel in professional career in the field of Computer Applications as an 1 x x x x x x individual, as part of a team, as an entrepreneur and equip them with orientation towards research Analyze real world problems, design and develop solutions through the knowledge of 2 x x x x mathematics and computing principles that are socially acceptable Exhibit professional ethics, cyber regulations and communication skills, engage in lifelong 3 x x x x x x x x learning and to adapt emerging technologies and tools 7 Curriculum breakdown structure: The curriculum for the Master of Computer Applications programme is designed to meet the need of the industry. It includes majorly, the core computer science and computer applications courses. In addition, it also includes the mathematics concepts required for modeling the domain of the software systems and to solve them, and management principles. The core courses encompass the core concepts of information technology and the elective courses are designed to deliver the modern technologies and tools. The salient feature of the curriculum is that laboratory component is included as part of the most of the courses and adequate number of courses are having tutorial component. The members of the Board of Studies are meeting at least once in a year to revise the curriculum. Breakup of Credits for Master of Computer Applications Curriculum (I to VI Semester) Course Component Mathematics Curriculum Total Content (% number of total of number of contact credits of hours the programme 5% 10 Total Number of credits POs PEOs 8 a, b, d PEO2 Management 8% 14 12 e, h, k PEO1 & PEO3 Humanities 3% 5 4 g, k PEO3 Professional Core 44% 81 66 a-l PEO1, PEO2, PEO3 Electives 21% 32 a-l PEO1, PEO2, PEO3 Project Work 18% 4 27 a-l PEO1, PEO2, PEO3 Seminar 1% 2 1 f, g, h, j PEO1,PEO3 8 Board of Studies for the Period 2015 – 2017 Head of the Department Faculty members at different levels covering different specialization Two experts in the subject from outside the college Chairperson Dr. T V Suresh Kumar Prof. & Head, Dept of Computer Applications, MSRIT, Bangalore 1. Dr. S Ajitha Associate Prof., Dept. of Computer Applications, MSRIT, Bangalore 2. Dr. S Jagannatha Associate Prof., Dept. of Computer Applications, MSRIT, Bangalore 3. Dr. D EvangelinGeetha Members Associate Prof., Dept. of Computer Applications, MSRIT, Bangalore 4. Mrs. MadhuBhan Asst. Prof., Dept. of Computer Applications, MSRIT, Bangalore 5. Dr. M Mrunalini Asst. Prof., Dept. of Computer Applications, MSRIT, Bangalore 1. Dr. K RajaniKanth Former Principal MSRIT, Bangalore 2. Dr. Y Narahari Professor and Head, Dept. of CSA, IISc, Members Bangalore 3. Dr. P SanthiThilagam Associate Professor, Department of CSE National Institute of Technology Karnataka, Surathkal, Mangalore One Expert from outside the College to be nominated by the Vice Member Chancellor from a panel of Six recommended by the Principal One Representative from industry/ Corporate Member sector/allied area relating to placement One Postgraduate, Member meritorious alumnus 1. Dr. G.NagendraRao, Director, LEOS, ISRO,Bangalore Mr. Ashok Pelleti 1. Support Manager, TESCO HSC Ltd, Bangalore 1. Mr. SurajSinha IT Project Manager, Cisco Systems, Bangalore 9 M S RAMAIAH INSTITUTE OF TECHNOLOGY, BANGALORE – 54 (Autonomous Institute, Affiliated to VTU) SCHEME OF TEACHING FOR THE ACADEMIC YEAR 2015-2016 III SEMESTER MCA DEPARTMENT OF COMPUTER APPLICATIONS S. No Course Course Code Prerequisite(s) Credits* L T P Total - 3 1 0 4 MCA24 3 0 1 4 - 4 0 0 4 1 MCA31 Operations Research 2 MCA32 Design and Analysis of Algorithms 3 MCA33 Software Engineering 4 MCAE-- Elective I 4 5 MCAE-- Elective II 4 6 MCAE-- Elective III 4 7 MCAS01 Seminar I 1 Total * L: Lecture *T: Tutorial 25 *P: Practical Elective Courses S. No Course Code Course Prerequisite(s) 1 2 3 MCAE01 MCAE02 MCAE03 Programming in Java Business Data Processing using COBOL UNIX System Programming 4 5 6 7 8 MCAE04 MCAE05 MCAE06 MCAE07 MCAE08 Web Programming with PHP and AJAX Principles of User Interface Design Compiler Design Microprocessor and Multi-core Technologies Scripting Languages 9 10 MCAE09 MCAE10 11 12 13 14 15 16 17 18 MCAE11 MCAE12 MCAE13 MCAE14 MCAE15 MCAE16 MCAE17 MCAE18 Web Component Development with J2EE Windows Application Development with C#.Net Information Retrieval Data Mining Supply Chain Management Network Management Information & Network Security Service Oriented Architecture AI and Expert Systems Distributed Computing 19 MCAE19 Soft Computing 11 MCA21 MCA11, MCA14 MCA26 MCA25 MCA13 MCA16, MCA21 MCAE01 MCA21 MCA41 MCA41 MCA26 MCA41, MCA43 L 3 3 3 Credits* T P Total 0 1 4 0 1 4 0 1 4 3 3 4 3 3 0 0 0 0 0 1 1 0 1 1 4 4 4 4 4 3 3 0 0 1 1 4 4 3 3 4 4 4 4 4 4 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 0 0 4 20 21 22 23 24 MCAE20 MCAE21 MCAE22 MCAE23 MCAE24 25 26 27 28 MCAE25 MCAE26 MCAE27 MCAE28 29 30 31 32 33 34 MCAE29 MCAE30 MCAE31 MCAE32 MCAE33 MCAE34 Topics in Software Engineering Advanced Database Systems Multimedia Systems Management Information Systems Web Application Development with ASP .Net and Silverlight Cloud Computing Software Testing Digital Forensics Web Application Development with Java Frameworks e-commerce and m-commerce System Modeling and Simulation Software Architectures Management and Entrepreneurship Enterprise Resource Planning Internet of Things * L: Lecture *T: Tutorial 12 MCA33 MCA23 MCAE10 MCA33 MCAE09 3 4 4 4 3 0 0 0 0 0 1 0 0 0 1 4 4 4 4 4 3 3 3 3 0 0 0 0 1 1 1 1 4 4 4 4 4 3 4 4 4 3 0 0 0 0 0 0 0 1 0 0 0 1 4 4 4 4 4 4 *P: Practical Operations Research Course Code: MCA31 Prerequisite: Nil Course Coordinator: Chethan Venkatesh Credits: 3:1:0 Contact Hours: 42L 28T Course Outcomes: Students will be able to Formulate linear programming problems (LPP), given unambiguous problem statement Solve two-variable LPP graphically and carry out sensitivity analysis on the required input parameter graphically Solve general LP problems using simplex method Generate dual problem from a given primal problem and determine the solution. Solve general LP problems using dual simplex techniques Apply transportation and assignment algorithms to obtain the optimum solution Construct the network models for a given real world problem and determine the optimal solution. Apply PERT and CPM techniques for project management Formulate and solve simple games to resolve competitive situations Course Contents: UNIT I What is Operations Research?: Operations Research Models, Solving the OR models, Queuing & Simulation models, Art of Modelling, Phases of OR Study Modelling with Linear Programming: Two variable LP model, Graphical LP solution, Formulation of LP problems, Selected LP Applications (Urban Planning, Loan Policy Model, Single-Period Production Model, Manpower Planning), Special Cases in LPP – Graphical solution, Graphical Sensitivity analysis UNIT II The Simplex Method: LP model in equation form, Transition from graphical to algebraic solution, The Simplex method. Artificial starting solution- M Method, Two-Phase Method, Special cases in simplex method UNIT III Duality and Dual Simplex Method: Definition of Dual Problem, Primal-Dual Relationships, Economic interpretation of duality, Dual simplex algorithm. Transportation model and its Variants: Definition of the Transportation Model, Mathematical formation of Transportation problem, The Transportation Algorithm: Determination of the starting solution, Iterative computations of the Transportation Algorithm, The assignment model - The Hungarian Method 13 UNIT IV Network Models: Scope and Definition of Network Models, Minimal Spanning Tree Algorithm, Shortest-Route Problem: Examples of shortest route applications, Shortest-Route Algorithms, Maximal Flow Model- Enumeration of cuts, Maximal Flow Algorithm UNIT V PERT and CPM: Network representation, Critical Path (CPM) Computations, Construction of the Time Schedule, PERT calculations Game theory: Introduction to Game Theory, The formulation of two persons, Zero sum games, solving simple Zero sum games, Games with mixed strategies Text Books: 1. Operations Research: An Introduction, Hamdy A Taha, 8th Edition, Pearson Education, 2011. Chapters: 1.1-1.6, 2.1, 2.2, 2.3.1, 2.3.3, 2.3.4 (Single-Period Production Model), 2.3.6, 3.1-3.5,3.6.1, 4.1, 4.2, 4.3, 4.4.1, 5.1, 5.3.1, 5.3.2, 5.4.1, 6.1- 6.3.2, 6.4.1, 6.4.2, 6.5.16.5.3, 6.5.5, 13.4 (Solution of Mixed Strategy Games using Graphical Method Only) Reference Books: 1. S D Sharma: Operations Research, 15th Edition, KedarNath Ram Nath, Meerut, Delhi, 2005. 2. Fredrick S. Hiller, Gerald J Lieberman: Introduction to Operations Research, 9th Edition, McGraw Hill, India, 2008. Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a CO1 X b CO2 X CO3 X CO4 X CO5 X CO6 X CO7 X CO8 X CO9 X c d e f X 14 g h i j k l Design and Analysis of Algorithms Course Code: MCA32 Prerequisite: Nil Course Coordinator: Madhu Bhan Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Categorize problems based on their characteristics and practical importance. Develop Algorithms using iterative/recursive approach Compute the efficiency of algorithms in terms of asymptotic notations Design algorithm using an appropriate design paradigm for solving a given problem Classify problems as P, NP or NP Complete Implement algorithms using various design strategies and determine their order of growth. Course Contents: UNIT I Introduction: Notion of Algorithm, Fundamentals of Algorithmic Problem Solving,Important Problem Types, Basics of data Structures Fundamentals of the Analysis of Algorithm Efficiency: Analysis Framework, Asymptotic Notations and Basic efficiency classes, Mathematical analysis of Recursive and Non recursive algorithms, Examples UNIT II Brute Force: Selection Sort, String Matching, Exhaustive Search Divide-and-Conquer: Merge sort, Quick sort, Binary Search, Multiplication of large integers Principles of Parallel Algorithm Design: Preliminaries-Decomposition, tasks, and Dependency graphs, Granularity, Concurrency and Task-Interaction, Decomposition Techniques UNIT III Decrease-and-Conquer: Insertion Sort, Depth First and Breadth First Search, Topological sorting, Algorithms for Generating Combinatorial Objects Transform-and-Conquer: Presorting, Heaps and Heap Sort, Problem Reduction – Computing the least common multiple UNIT IV Space and Time Tradeoffs: Sorting by Counting, Input Enhancement in String Matching, Hashing Dynamic Programming: Computing a binomial coefficient, Warshall’s and Floyd’s Algorithms Greedy Technique: Kruskal’s Algorithm, Dijkstra’s Algorithm, Huffman Trees 15 UNIT V Backtracking:n-queens problem, Hamiltonian Circuit Problem, Subset-Sum Problem, General Remarks Branch-and-Bound: Knapsack problem, Traveling Salesman Problem P, NP-Completeness and Approximation Algorithms: Introduction, P and NP Problems, NP-complete problems, Approximation algorithms for the traveling salesman problem, Approximation algorithms for Knapsack problem Laboratory Programs that supplement the theory concepts are to be implemented. Text Books: 1. Anany Levitin: Introduction to the Design and Analysis of Algorithms, 2 nd Edition, Pearson Education, 2009. Chapters 1.1-1.4, 2.1-2.4, 3.1, 3.2, 3.4, 4.1-4.3, 4.5, 5.1-5.4, 6.1, 6.4, 6.6, 7.1-7.4, 8.1, 8.2, 8.4, 9.1-9.4, 11.3, 12.1-12.3 2. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to Parallel Computing, 2nd Edition, Pearson Education, 2003. Chapters 3.1.1, 3.1.2, 3.2 References: 1. Horowitz E., Sahani S., Rajasekharan S.: Fundamentals of Computer Algorithms, 2nd Edition, Universities Press, 2007. 2. Thomas H. Cormen, Charles E. Leiserson, Ronal L. Rivest, Clifford Stein: Introduction to Algorithms, 3rd Edition, PHI, 2010. 3. Study Materials. Mapping Course Outcomes with Program Outcomes: Course Outcomes / Program Outcomes CO1 a b c e f X CO2 X CO3 X CO4 X CO5 X CO6 d X X X 16 g h i j k l Software Engineering Course Code: MCA33 Prerequisite: Nil Course Coordinator: Dr. Manish Kumar Credits: 4:0:0 Contact Hours: 56L Course Outcomes: Students will be able to Be able to demonstrate the software engineering process by identifying the requirements when given a real life software development project. Translate the requirement specification into design model for developing software systems of various complexities while developing a software project. Apply verification and validation techniques to software systems for developing any quality software. Analyze effort, schedule and cost estimation techniques for better and efficient software project management. Follow the ethics of software engineering as a professional software developer. Course Contents: UNIT I Introduction: -Professional software development, software engineering ethics, Sociotechnical systems:-Complex systems, System engineering, System procurement, System development, System operation, Dependability and security: -Dependability properties, Availability and reliability, Safety, Security, Software Process:-Software process model, Process activities, Coping with change, The rational unified process. Product Life Cycle- Product Life Cycle Stages, Product Life Cycle Case Study UNIT II Requirements engineering:- Functional and Non-functional requirements, The software requirements document, Requirements specification, Requirements engineering processes, Requirements elicitation and analysis, Requirements validation, Requirements management. System modeling: - Context models, Interaction Models, Structural Models, Behavioral models, Model-driven engineering. UNIT III Software Design and Development, Architectural Design: Architectural design decisions, Architectural views, Architectural patterns, Application architectures, Design and implementation:- Object-Oriented design using the UML, Design patterns, implementation issues, Open source development, Agile software development:- Agile methods, Plan-driven and agile development, Extreme programming, Agile project management, scaling agile methods UNIT IV Software Evolution: - Evolution processes, Program evolution dynamics, Software maintenance, Legacy system management, Software Reuse: - The reuse landscape, Application frameworks, Software product lines, COTS product reuse, Software Testing: Development testing, Test-driven development, Release testing, User testing 17 UNIT V Software Management, Project Management: - Risk Management, Managing people, Teamwork, Project Planning: - Software pricing, Plan-driven development, Project scheduling, Agile planning, Estimation techniques, Quality Management: - Software quality, Software standards, Software measurement and metrics. Configuration Management-Change management, version management, system building, release management. *Assignment Based on Project Planning. *Materials from Internet or any relevant books can be used for Product Life Cycle. Text Books: 1. Ian Sommerville: Software Engineering, 9th Edition, Pearson Education Publications, 2013. Chapters: 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 16,22, 23, 24,25 Reference Books: 1. Roger. S. Pressman: Software Engineering-A Practitioners approach, 7th Edition, McGraw-Hill, 2010. 2. Shari Lawrence Pfleeger, Joanne M. Atlee : Software Engineering Theory and Practice, 4thEdition, Pearson Education, 2009. 3. Ali Behforooz, Frederick J. Hudson: Software Engineering Fundamentals, 1st Indian Edition, Oxford University Press, 2006. Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a b CO1 X CO2 X CO3 CO4 c d e f g h i j k l X X CO5 X 18 X Programming in Java Course Code: MCAE01 Prerequisite: MCA21 Course Coordinator: Dr. S Jagannatha Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Demonstrate the basic programming constructs of Java Apply suitable OOP concepts to develop Java programs for a given scenario Demonstrate Generalization and run time polymorphism Exemplify the usage of Packages, Interfaces, Exceptions and Multithreading Demonstrate Enumerations, Wrappers, Auto boxing, Generics, collection framework and I/O operations Implement the concepts of Networking using Java network classes Develop User Interfaces using JAVAFX with Event Handling Create Java Application for a real world problem Course Contents: UNIT I An Overview of Java: Object-Oriented Programming, A First Simple Program, A Second Short Program, Two control statements, Using Blocks of Code, Lexical Issues, The Java Class Libraries Introducing Classes: Class Fundamentals, Declaring Objects, Assigning Object Reference Variables, Introducing Methods, Constructors, The this Keyword, Garbage, The finalize( ) Method, A Stack Class A Closer Look at Methods and Classes: Overloading Methods, Overloading Constructors, Using Objects as Parameters, A Closer Look at Argument Passing, Returning Objects, Recursion, Introducing Access Control, Understanding static, Introducing final, Arrays Revisited, Introducing Nested and Inner Classes, Exploring the String Class, Using Command-Line Arguments, Varargs UNIT II Inheritance: Inheritance Basics, Using super, Using super, Creating a Multilevel Hierarchy, When Constructors Are Called, Method Overriding, Dynamic Method Dispatch, Using Abstract Classes, Using final with Inheritance, The Object Class Packages and Interfaces: Packages, Access Protection, An Access Example Importing Packages, Interfaces, Default Interface methods. Exception Handling: Exception-Handling Fundamentals, Exception Types, Uncaught Exceptions Using try and catch, Multiple catch Clauses, Nested try Statements, UNIT III Exception Handling: throw, throws, finally, Java’s Built-in Exceptions, Creating Your Own Exception Subclasses, Chained Exceptions, Using Exceptions Multithreaded Programming: The Java Thread Model, The Main Thread, Creating a Thread, Creating Multiple Threads, Using isAlive( ) and join( ), Thread Priorities, Synchronization, Interthread Communication, Suspending, Resuming, and Stopping Threads, Obtaining thread state, Using Multithreading 19 Enumeration and Autoboxing: Enumeration, Type Wrappers, Autoboxing Generics: What are Generics?, A Simple Generics Example, A Generics Class with two Type Parameters, The General Form of a Generic Class UNIT IV Input/Output: I/O Basics, Reading Console Input, Writing Console Output, PrintWriter class, Reading and Writing Files The Collections Framework: Collections Overview, The Collection Interfaces, The List Interface, The ArrayList Class, The LinkedList Class Networking: Networking Basics, The Networking Classes and Interfaces InetAddress, Inet4Address and Inet6Address, TCP/IP Client Sockets, URL, URLConnection, HTTP URL Connection, The URI class TCP/IP Server Sockets, Datagrams. UNIT V Lambda Expressions: Introducing Lambda Expressions, Block Lambda Expression Event Handling: Two Event Handling Mechanisms, The Delegation Event Model, Event Classes, The event class, The Keyevent, Class Sources of Events, Event Listener Interfaces, Using the Delegation Event Model, Adapter Classes, Inner Classes JavaFX: Introducing JavaFX GUI programming, Exploring JavaFX controls Laboratory Programs that supplement the theory concepts are to be implemented. Text Books: 1. Herbert Schildt: The Complete Reference JAVA, 9th Edition, TATA McGraw HILL, 2014.Chapters: 2, 6, 7, 8, 9, 10, 11, 12, 13,14, 15, 18, 22, 24, 34, 35 Reference Books: 1. T V Suresh Kumar, B Eshwara Reddy and P Raghavan: Programming with Java, Sanguine Technical Publishers, 2011. 2. Paul Deitel and Harvey Deitel: Java How to Program, 9th Edition, PHI, 2012. 3. Y.Daniel Liang : Introduction to JAVA Programming, 6th Edition, Pearson Education, 2006 4. Cay S Horstmann, Gary Cornell: Core Java 2 volume 1 and volume 2, 7th Edition, Pearson Education, 2005. 20 Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a CO1 X X CO2 X X CO3 X X CO4 X X CO5 X X CO6 X X CO7 X X CO8 b c d e f X 21 g h i j k X X l Web Programming with PHP and AJAX Course Code: MCAE04 Prerequisite: MCA26 Course Coordinator: Ananda N Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Remember and recall the origins identify and apply the general programming constructs, arrays, Dates and Time functions, String manipulation functions, functions and classes, files, directories, cookies and sessions and various error handling techniques in PHP, to design web based solution programs to a given problem Identify and apply the concept of a PHP Data Object to connect to a MySQL database and design a web based application with data transfers from and to a backend database table without errors Design AJAX applications using the XMLHttpRequest Object in various variations. Implement server side programming, sending data to the server using POST and GET methods, using inner functions, downloading and executing scripts from the server. Demonstrate handling an XML document using AJAX and also working with Cascading Style sheets with AJAX with proper demonstration and explanation, Demonstration about validating User Input with Ajax and PHP and the usage of DOM, HTML, and AJAX together, the student will be able to develop a Rich Web Based Interactive Application. Given the corresponding instructional activity in the classroom with minimal or no warnings. Course Contents: UNIT I An Introduction to PHP Origins and uses of PHP, Overview of PHP, WAMP, LAMP, General Syntactic Characteristics, Primitives, Variables and Operators, Controlling Program Flow, Working with HTML, Forms, Working with HTML Forms, Arrays in PHP, Arrays in PHP UNIT II Working with Dates and Times, String Manipulation PHP and MySQL- Manipulate a MySQL Database, Using Functions and Classes, Working With Files in PHP UNIT III Working With Directories in PHP, Working with Cookies, Sessions and Headers, Handling Errors Essentials of Ajax - Introduction to Ajax, Ajax Applications- Examples, Creating Ajax Applications – simple Ajax example, XMLHttpRequest Object, Server side Programming, Sending data to the Server using GET, Sending data to the Server using POST 22 UNIT IV Full Throttle Ajax – Handling Multiple XMLHttpRequest Objects in same Page, Array of XMLHttpRequest Objects, Inner Functions, Google Suggest, Downloading from another Server using Ajax Handling XML in Ajax – XML in Java Script, Accessing XML element, Accessing XML Data Directly UNIT V Working with Cascading Style Sheets with Ajax – Drawing the user’s attention to downloaded Text, Styling Text using CSS, Web page example Validating User Input with Ajax and PHP – Displaying all data in HTML form, working with PHP Server variables, Working your data in Array format, Wrapping applications into single PHP Using the HTML DOM and Ajax –DOM, Appending New Elements to a web page using the DOM and Ajax, replacing elements using the DOM, Handling Timeouts in Ajax, Downloading Images with Ajax Laboratory Programs that supplement the theory concepts are to be implemented. Text Books: 1. VikramVaswani: PHP: A Beginner’s Guide, Tata McGraw-Hill, 2009. Chapters: 1, 2, 3, 4, 5, 6, 9, 10 2. Steven Holzner: Ajax: A Beginner’s Guide, Tata McGraw-Hill, 2009. Chapters: 1, 3, 4, 6, 7, 11, 12 Reference Books: 1. Ivan Bayross, Sharanam Shah: PHP 5.1 for Professionals, 3rdEdition, Shroff Publishers and Distributers Pvt. Ltd, 2007. 2. B M Harwani: Developing Web Applications in PHP and Ajax, Tata McGraw-Hill, 2010. Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a b c d e f CO1 X X X CO2 X X X CO3 X X CO4 X X CO5 X X CO6 X X 23 g h i j k l Data Mining Course Code: MCAE12 Pre requisite: Nil Course Coordinator: K Sailaja Kumar Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Recall the basic concepts, principles and techniques of data mining Analyze the use of different data preprocessing techniques when real data tend to be incomplete, noisy and inconsistent Classify or predict future data trends using the most popular classification techniques Generate meaningful association rules using Rule Mining algorithms when the data are transactional Group the data into clusters using the popular clustering methods based on attribute or variable types Detect the outliers using computer-based outlier detection techniques when data objects do not comply with the general behavior or model of the data Categorize and apply different data mining techniques such as mining frequent pattern, association, correlation, classification, prediction, and cluster analysis to different domain specific applications based on the different kinds of knowledge to be mined Implement Data Mining Algorithms using most popular Data Mining Tools, interpret the mining results and make sense out of data. Course Contents: UNIT I Introduction: What is Data Mining, Motivating Challenges, The Origins of Data Mining, and Data Mining Tasks. Data: Types of Data, Data Quality, Data Preprocessing, Measures of Similarity and Dissimilarity of data, Exploring Data: Summary Statistics. UNIT II Classification: Preliminaries, General Approach to Solving a Classification Problem, Decision tree Induction, Classification Alternative Techniques: Rule-Based Classifiers, Bayesian Classifiers. UNIT III Association Analysis: Basic Concepts and Algorithms: Basics of association analysis, Frequent Item set Generation using Apriori algorithm, Rule Generation; Compact Representation of Frequent Item sets, Alternative methods for generating frequent item sets, FP-Growth Algorithm and construction of FP-Growth tree. UNIT IV Cluster Analysis: Basic Concepts and Algorithms: Overview of clustering algorithms, Explains the K-Means, Agglomerative Hierarchical Clustering and DBSCAN algorithms for clustering, an overview of Cluster Evaluation. 24 UNIT V Anomaly Detection: Preliminaries, statistical approaches, proximity based outlier detection, density based outlier detection, clustering based technique Laboratory Programs that supplement the theory concepts are to be implemented. Text Books: 1. Pang-Ning Tan, Michael Steinbach, Vipin Kumar: Introduction to Data Mining, 2nd Edition, Pearson Education, 2014. Chapters: 1,2,3.2,4.1,4.2,4.3,5.1,5.3,6.1 to 6.6,8.1 to 8.5.1,10 Reference Books: 1. Jiawei Han and Micheline Kamber: Data Mining – Concepts and Techniques, 3rd Edition, Morgan Kaufmann, 2011. Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a CO1 X b c d CO2 X CO3 X CO4 X CO5 X CO6 X e CO7 X CO8 X f g h i j X X 25 X k l RAMAIAH INSTITUTE OF TECHNOLOGY, BANGALORE – 54 (Autonomous Institute, Affiliated to VTU) SCHEME OF TEACHING FOR THE ACADEMIC YEAR 2015-2016 IV SEMESTER MCA DEPARTMENT OF COMPUTER APPLICATIONS S. No Course Code Course Prerequisite(s) Credits* L T P Total 3 0 1 4 3 0 1 4 4 0 0 4 1 MCA41 Computer Networks 2 MCA42 Object Oriented Modeling and Design Patterns 3 MCA43 Operating Systems 4 MCAE-- Elective IV 4 5 MCAE-- Elective V 4 6 MCAE-- Elective VI 4 7 MCAP01 Mini Project Nil 0 Total * L: Lecture *T: Tutorial 26 0 2 2 26 *P: Practical Computer Networks Course Code: MCA41 Prerequisite: Nil Course Coordinator: Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes Students will be able to Describe basic terminologies used for computer networking. Describe the functions of layers in the Internet Model. Demonstrate application layer protocols used for process to Process Communication. Demonstrate sub netting and routing mechanisms for a given network topology. Exemplify link layer functionalities. Describe the components and working of wireless networks. Implement network topologies, routing, error detection and correction techniques, protocol packet analysis using open source tools such as Packet Tracer, Wire Shark etc... Course Contents: UNIT I Computer Networks and the Internet: What Is the Internet? The Network Edge, The Network Core, Delay, Loss, and Throughput in Packet-Switched Networks, Protocol Layers and Their Service Models, Networks Under Attack, History of Computer Networking and the Internet UNIT II Application Layer: Principles of Network Applications, The Web and HTTP, File Transfer: FTP, Electronic Mail in the Internet, DNS—The Internet’s Directory Service, Peer-to-Peer Applications. UNIT III Transport Layer: Introduction and Transport-Layer Services, Multiplexing and Demultiplexing, Connectionless Transport: UDP, Principles of Reliable Data Transfer, Connection-Oriented Transport: TCP, Principles of Congestion Control, TCP Congestion Control UNIT IV The Network Layer: Introduction, Virtual Circuit and Datagram Networks, What’s Inside a Router? The Internet Protocol (IP): Forwarding and Addressing in the Internet, Routing Algorithms, Broadcast and Multicast Routing UNIT V The Link Layer and Local Area Networks Link Layer: Introduction and Services, Error-Detection and -Correction Techniques, Multiple Access Protocols, Link- Layer Addressing, Ethernet, Link-Layer Switches, PPP: The Point-to-Point Protocol, Link Virtualization: A Network as a Link Layer Wireless and Mobile Networks: Introduction, Wireless Links and Network Characteristics, Wi-Fi: 802.11 Wireless LANs 27 Laboratory Exercises to supplement the concepts using existing tools Text Books: 1. James F. Kurose, Keith W. Ross: Computer Networking: A Top-Down Approach, 5thEdition, Addison-Wesley, 2012. Chapters: 1, 2.1 - 2.6, 3, 4.1- 4.5, 4.7, 5, 6.1-6.3 Reference Books: 1. Behrouz A. Forouzan: Data Communications and Networking, 4thEdition, Tata McGraw-Hill, 2006. 2. Alberto Leon-Garcia and IndraWidjaja: Communication Networks -Fundamental Concepts and Key Architectures: 3rdEdition, Tata McGraw-Hill, 2004. 3. William Stallings: Data and Computer Communication, 8thEdition, Pearson Education, 2007. 4. Larry L. Peterson and Bruce S. David: Computer Networks – A Systems Approach, 4thEdition, Elsevier, 2007. 5. Wayne Tomasi: Introduction to Data Communications and Networking, Pearson Education, 2005. 6. Nader F. Mir: Computer and Communication Networks, Pearson Education, 2007. Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a CO1 X CO2 X CO3 X CO4 X CO5 X CO6 X CO7 b c d e f X X 28 g h i j k l Object Oriented Modelling and Design Patterns Course Code: MCA42 Prerequisite: Nil Course Coordinator: Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Acquire knowledge of Class, State, Use case, Sequence and Activity diagrams and construction of models using them. Analysis of the domain and application artifacts and construction of domain model and application model Design of the classes using suitable design techniques. Design of real world problems by applying appropriate design patterns Analysis of the domain of a real world problem and development of analysis and design models and generation of the code using object oriented modeling tool. Course Contents: UNIT I Introduction, Modeling Concepts, Class Modeling: What is Object Orientation? What is OO development? OO themes; Evidence for usefulness of OO development; OO modeling history Modeling as a Design Technique: Modeling; abstraction; The three models. Class Modeling: Object and class concepts; Link and associations concepts; Generalization and inheritance; A sample class model; Navigation of class models Advanced Class Modeling: Advanced object and class concepts; Association ends; N-ary associations; Aggregation; Abstract classes. UNIT II Advanced Class Modeling: Multiple inheritance; Metadata; Reification; Constraints; Derived data; Packages State Modeling, Interaction Modeling: State Modeling: Events, States, Transitions and Conditions; State diagrams; State diagram behavior. Interaction Modeling: Use case models; Sequence models; Activity models. Use case relationships; Procedural sequence models; Special constructs for activity models. UNIT III Analysis Process Overview, System Conception, Domain Analysis: System Conception: Devising a system concept; Elaborating a concept; Preparing a problem statement. Domain Analysis: Overview of analysis; Domain class model; Domain state model; Domain interaction model; Iterating the analysis. Application Analysis: Application interaction model; Application class model; Application state model; Adding operations. 29 UNIT IV Class Design, Implementation Modeling, Legacy Systems Class Design: Overview of class design; Bridging the gap; Realizing use cases; Designing algorithms; Recursing downwards, Refactoring; Design optimization; Reification of behavior; Adjustment of inheritance; Organizing a class design; ATM example. Implementation Modeling: Overview of implementation; Fine-tuning classes; Fine-tuning generalizations; Realizing associations; Testing. Legacy Systems: Reverse engineering; Building the class models; Building the interaction model; Building the state model; Reverse engineering tips; Wrapping; Maintenance. UNIT V Design Patterns Introduction-What is a design pattern, describing design patterns, how design patterns solve design problems, how to select a design pattern, how to use a design pattern Creational Patterns – Factory Method, Singleton Structural Patterns – Adapter, Proxy Behavioral Pattern – Command, Observer Laboratory Develop Object Oriented Analysis and design models for a real world problem Identify the model elements Draw the necessary diagrams in UML, using any UML tool Generate source code in Java/C++/C# Identify any two design patterns relevant to the problem and generate code using tool Text Books: 1. Michael Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, 2nd Edition, Pearson Education, Prentice Hall of India, 2005. Chapters 1 to 17, 23 2. E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns- Elements of Reusable Object- Oriented Software, Addison-Wesley, 1995. Reference Books: 1. Grady Booch et al: Object-Oriented Analysis and Design with Applications, 3rdEdition, Pearson Education, 2007. 2. Brahma Dathan, SarnathRamnath: Object-Oriented Analysis, Design, and Implementation, Universities Press, 2011. 3. Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado: UML 2 Toolkit, WileyDreamtech India, 2004. 30 Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a b CO1 X CO2 X c CO3 X CO4 X CO5 d e f X 31 g h i j k X X l Operating Systems Course Code: MCA43 Prerequisite: Nil Course Coordinator: Credits: 4:0:0 Contact Hours: 56L Course Outcomes: Students will be able to Remember and Recall the basics of OS and also will be able to categorize the various functionalities of the Operating system to a basic level. Identify, prevent, and avoid deadlocks; also remember the basics of file system and the protection aspects theoretically. Describe the concepts of Process Management and Secondary Storage Structures Implement manually the concepts of Process Synchronization, Memory Management Techniques, Implementation of File Systems and Disk Scheduling using the various algorithms Course Contents: UNIT I Introduction to Operating Systems, System Structure What operating systems do; Computer System Organization; Computer System Architecture; Operating System Structure; Operating System operations; Process Management; Memory Management; Storage Management; Protection and Security; Distributed Systems; Special – Purpose Systems; Computing Environments. Operating System Services; User – operating System Interface; System Calls; Types of System Calls; System Programs; Operating System Design and Implementation; Operating System Structure; Virtual Machines;OS Debugging; Operating System Generation; System boot. UNIT II Process Management Process Concept; Process Scheduling; Operations on Processes; Inter – Process Communication; Multi – Threaded Programming: Overview: MultiCoreModels: Thread Libraries; CPU Scheduling: Basic Concepts, Scheduling Criteria, Scheduling Algorithms,Thread Scheduling, Multiple Processor Scheduling, Process Synchronization Synchronization: The Critical Section Problem: Peterson’s Solution: Synchronization hardware; Semaphores; Classical Problems of Synchronization; Monitors; Atomic Transactions UNIT III Deadlocks Deadlocks: System model; Deadlock Characterization, Methods for handling deadlocks; Deadlock Prevention; Deadlock Avoidance; Deadlock Detection and Recovery from deadlock Memory Management Memory Management Strategies: Background, Swapping; Contiguous Memory Allocation; Paging; Structure of Page Table; Segmentation; Virtual Memory Management; Background; Demand Paging; Copy – on – Write; Page Replacement; Allocation of Frames; Thrashing 32 UNIT IV File System, Implementation of File System File Sytem: File concepts; Access methods, Directory and Disk Structure; File System Mounting; File Sharing, Protection. Implementing File System: File System Structure; File System implementation; Directory Implementation; Allocation Methods; Free Space Management Secondary Storage Structures Mass Storage Structure, Disk Structures; Disk Attachment; Disk Scheduling; Disk Management; Swap Space Management UNIT V Protection Protection: Goal of protection, Principles of Protection, Domain of Protection, Access Matrix, Implementation of Access matrix, Access Control, Revocation of Access Rights, Capability Based Systems Text Books 1. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne: Operating Systems Principles, 8th Edition, Wiley – India, 2006. Chapters: 1,2,3.1 to 3.4,4.1 to 4.4, 5.1 to 5.5, 6.1 to 6.7, 6.9,7,8.1 to 8.6, 9.1 to 9.6, 10,11.1 to 11.5, 12.1 to 12.6, 17.1 to 17.8 Reference Books 1. Harvey M Deital: Operating Systems, 3rd Edition, Addison Wesley, 1990 Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a b CO1 X CO2 X CO3 X CO4 CO5 c d e f X X 33 g h i j k l Web Component Development with J2EE Course Code: MCAE09 Prerequisite: MCAE01 Course Coordinator: Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Demonstrate the Database programming using JDBC-ODBC driver without any error. Develop Server side components using Java servlet with the interaction of different tiers. Exemplify the Web interface with the concepts of Java Server Pages. Implement web interface using JSP scripting Elements. Demonstrate reusable (modular) code using Java Bean to interact with server side J2EE components. Create Simple web-based application for a real world problem using the concepts of servlet, Java Beans and JSP with the interaction of multi tier architecture. Course Contents: UNIT I J2EE Multi-Tier Architecture: The Tier, J2EE Multi-tier Architecture JDBC Objects: The Concept of JDBC, JDBC Driver Types, JDBC Packages, A Brief Overview of JDBC Process, Database Connection, Associating the JDBC/ODBC Bridge with the Database, Statement Objects, ResultSet, Transaction Processing, Metadata, Data Types, Exceptions JDBC and Embedded SQL: Model Programs, Tables, Indexing, Inserting Datainto Tables, Selecting Data from a Table UNIT II JDBC and Embedded SQL: Metadata, Updating Tables, Deleting Data from a Table, Joining Tables, Calculating Data, Grouping and Ordering Data, Subqueries, VIEW SERVLETS: Introduction, Advantages of Servlets over CGI, Installing Servlets, The Servlets Life Cycle, Servlet API, Handling HTTP GET and HTTP POST Request UNIT III SERVLETS: Servlet Context, Servlet Config, Request Dispatcher, Send Redirect, Cookies, Session Tracking, Filter API, Single Thread Model, Multi-tier Applications Using Database Connectivity UNIT IV JAVA SERVER PAGES (JSP): Introduction, Advantages of JSP, Developing First JSP, JSP Scripting Elements- (Directives, Declaratives, Scriplets, Expressions, Implicit Variables), Page Directives, JSTL, Standard Action, Custom Tags 34 UNIT V JAVA BEANS: What is a Java Bean? Advantages of Java Beans, The Java Beans API – Introspector, property Descriptor, Event Descriptor, Method Descriptor, A Bean Example, JSP with Java Beans Laboratory Programs that supplement the theory concepts are to be implemented. Reference Books: 1. Jim Keogh: The complete Reference J2EE, 1stEdition, Tata McGraw Hill, 2002. 2. Web Technologies Black Book, Kogent Learning solutions Inc sol., Dreamtech Press, 2012. 3. James McGovern, Rahim Adatia,Yakov Fain,Jason Gordon,Ethan Henry,Walter Hurst,Ashish Jain,Mark Little,VaidyanathanNagarajan,Harshad Oak,Lee Anne Phillips: Java 2 Enterprise Edition 1.4 (J2EE 1.4) Bible, Wiley, 2003. 4. Bond, Law, Longshaw, Haywood, Roxburgh: Teach Yoursef J2EE (J2EE 1.4), 2ndEdition, Pearson Education, 2005. Mapping Course Outcomes with Program Outcomes: Course Outcomes / Program Outcomes a b CO1 X X CO2 X X CO3 X CO4 CO5 CO6 c d e f g h i j k X X X X X X X X X X 35 l Windows Application Development with C#.Net Course Code: MCAE10 Prerequisite: MCA21 Course Coordinator: Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Describe the important features of .Net technology Demonstrate the basic programming constructs of C# on .Net framework Apply object oriented concepts to develop dynamic interactive C# applications Demonstrate Indexers and Properties to manage access to class’ instance data Apply C# exception handling model to develop robust programs Implement delegate and events for method encapsulation Develop queries for processing in-memory data using LINQ create feature-rich Window Applications on .Net framework Course Contents: UNIT I Introduction to .NET Framework: The.Net Strategy, The Origins of .Net technology, The .Net Framework, The Common Language Runtime, Framework Base Classes, user and Program Interfaces, Visual Studio .Net, .Net Languages, Benefits of the .Net Approach Overview of C#: Introduction, A Simple C# Program, Namespaces, Adding Comments, C# Language Fundamentals: Overview of C#,Literals, Variables and Data Types, Operators and Expressions,Decision Making and Branching, Decision Making and Looping UNIT II Managing Console I/O Operations: Introduction, The Console Class, Console Input, Console Output, Formatted Output, Numeric Formatting, Standard Numeric format, Custom Numeric Format Arrays and Strings: Arrays, Multidimensional Arrays, Jagged Arrays, Assigning Array References, Using the Length Property, Implicitly Typed Arrays, Foreach Loop, Strings Introducing Classes and Objects: Class Fundamentals, Reference Variables and Assignment, Methods, Constructors, Garbage Collection and Destructors, This Keyword UNIT III A Closure Look at Methods and Classes: Controlling Access to Class Members, pass references to Methods, Use ref and out Parameters, use a variable Number of Arguments, return Objects, Object Initializers, Optional Arguments, Named Arguments, The Main() Method, Understanding Static, Static Classes Indexer and Properties: Indexers, Properties Inheritance: Basics, Member Access and Inheritance, Constructors and Inheritance, Inheritance and Namehiding, Creating a Multilevel Hierarchy, Base Class References and Derived Objects, Virtual Methods and Overriding, Using Abstract Classes, Using Sealed to Prevent Inheritance, the Object Class 36 UNIT IV Interfaces, Structures and Enumerations: Interfaces, Structures, Enumerations Namespaces: Declaring a Namespace, Resolving name conflict using namespace, using, A Second Form of using, Nested Namespaces, Global Namespace, Using the ::Namespace Alias Qualifier Exception Handling: The System.Exception Class, Exception Handling Fundamentals, The Consequences of an Uncaught Exception, Using Multiple Catch Clauses, Catching All Exceptions, Nested Try Blocks, Throwing an Exception, Using Finally UNIT V LINQ: LINQ Fundamentals, Filter Values with where, Sort Results with Orderby, Select and Nested From Clauses, Group Results With Group, Use into to Create a Continuation, Use let to Create a Variable in a Query, Join Two Sequences with Join, Anonymous Types, Create a Group Join Delegates, Events and Lamda Expressions: Delegates, Anonymous Functions, Anonymous Methods, Lambda Expressions, Events, .NET Event Guidelines, Applying Events Laboratory Practical exercises should include the programs supplementing the theory concepts. Also Windows Application Programming using Visual C#.Net including database connectivity using ADO.Net Text Books: 1. Herbert Schildt: The Complete Reference C# 4.0, Tata McGraw Hill, 2010. (Chapters: 6, 7, 8, 10, 11, 12, 13, 15, 16, 19) 2. E. Balagurusamy: Programming in C#, Tata McGraw Hill, 3rd Edition, 2011. (Chapters: 1, 2, 3, 4, 5, 6, 7, 17) Reference Books: 1. Andrew Troelsen: Pro C# with .NET 3.0, Special Edition, Apress, 2007. 2. Joseph Mayo, C# 3.0 Unleashed: With the .NET Framework 3.5, Sams; 1st Edition, 2008 Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a CO1 X b CO2 X CO3 X CO4 X c d e f 37 g h i j k l Course Outcome / Program Outcome a b CO5 X CO6 X CO7 X CO8 X c d e f g h i j k X X X 38 l Software Testing Course Code: MCAE26 Prerequisite: MCA33 Course Coordinator: Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Recognize and recall the Test Analysis, Design, Implementation and Execution Demonstrate white box and black box testing and demonstrate different types of test cases. Analyze the System, Acceptance Testing and Types of Regression Testing. Describe the approach to Usability, Test Planning, Management, Execution, and Reporting. Demonstrate Software Test Automation using Selenium Tool. Demonstrate Test Metrics and Measurements and design metrics. Course Contents: UNIT I Testing Processes: Introduction, Test Analysis and Design, Test Implementation and Execution, Evaluating Exit Criteria and Reporting, Evaluating Exit Criteria and Reporting Exercise Test Techniques: Introduction, Specification-Based Techniques- Equivalence Partitioning, Avoiding Equivalence Partitioning Errors, Equivalence Partitioning Exercise, Equivalence Partitioning Exercise Debrief, Examples of Equivalence Partitioning and Boundary Values, How Many Boundary Values Are There?, Boundary Value Exercise, Boundary Value Exercise Debrief UNIT II Types of Testing White Box testing: What is White Box Testing? Static Testing, Structural Testing, Challenges in White Box testing. Black Box Testing: What is Black Box Testing?, Why Black Box Testing?, When to do Black Box Testing?, How to do Black Box Testing? Integration Testing: What is Integration Testing?, Integration Testing as a Type of Testing, Integration Testing as a Phase of Testing, Scenario Testing UNIT III System and Acceptance Testing: System Testing Overview, Why is System Testing Done?, Functional Versus Non-Functional Testing, Functional System Testing, Non-Functional System Testing, Acceptance Testing. Performance Testing: Methodology for Performance Testing, Tools for Performance Testing, Process for Performance Testing. Regression Testing: What is Regression Testing? Types of Regression Testing, How to do Regression Testing? UNIT IV Usability and Accessibility Testing: What is Usability Testing? Approach to Usability, When to do Usability Testing? Quality Factors for Usability, Accessibility Testing, Tools for Usability. 39 Test Planning, Management, Execution, and Reporting Introduction, Test Planning, Test Management, Test Process, Test Reporting, Best Practices UNIT V Software Test Automation: What is Test Automation? Terms used in Automation, Skills needed for Automation, What to Automate, Scope of Automation, Design and Architecture for Automation, Generic Requirements for Test Tool/Framework, Process Model for Automation, Selecting a Rest Tool, Challenges in Automation. Test Metrics and Measurements: What are Test Metrics and Measurements? Why Metrics in Testing?, Types of Metrics, Project Metrics, Progress Metrics, Productivity Metrics. Laboratory A team of 2 students shall take up a real web Application and do the following: Write Test plan, scenarios and test cases using various testing methodologies Test web application using Selenium tool Report Bugs in Bugzilla and Mantis Textbooks: 1. Rex Black: Advanced Software Testing—Vol. 1, Shroff Publishers, 2011. 2. SrinivasanDesikanGopalaswamy: Software Testing Principles and 5thEdition, Pearson Education, 2007. Practices, Reference Books: 1. Paul C. Jorgensen: Software Testing ACraftman’s Approach, 3rdEdition, Auernac Publications, 2008. 2. Rex Black: Advanced Software Testing—Vol. 2, Shroff Publishers, 2011. 3. Anirban Basu: Software Quality Assurance, Testing and Metrics", PHI Learning, 2015. 4. Rahul Shende: Testing in 30+ Open Source Tolls, 1st Edition, Shroff Publishers, 2010. 5. David Burns: Selenium 2 Testing Tools: Beginner’s Guide, Packt Publishing, 2012. 6. GundechaUnmesh : Selenium Testing Tools CookBook, Packt Publishing, 2012. Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a CO1 X CO2 b c d X X X X X CO5 CO6. f X CO3 CO4 e X X X 40 g h i j k l Digital Forensics Course Code: MCAE27 Prerequisite: Nil Course Coordinator: Credits: 3:0:1 Contact Hours: 42L 28P Course Outcomes: Students will be able to Recall the Indian IT Act 2008 and its amendments. Classify and describe various types of computer crime. Apply computer forensic techniques to identify the digital fingerprints associated with criminal activities. Analyze hidden information from pictures and other files utilizing Steganography software. Apply Network Forensic tools for network forensic and live data forensic analysis. Course Contents: UNIT I Understanding Cyber Crime, Indian IT Act 2008 and amendments, Computer Forensic and Investigations as a Profession: Understanding Computer Forensics, Understanding Computer Investigations: Preparinga Computer Investigation, Taking a Systematic Approach, Procedures for Corporate High-Tech Investigations, Understanding Data Recovery Workstations and Software UNIT II Working with Windows and DOS Systems: Understanding File Systems, Exploring Microsoft File Structures, Examining NTFS Disks, Understanding Whole Disk Encryption, Understanding the Windows Registry, Understanding Microsoft Startup Tasks, Understanding MS-DOS Startup Tasks, Understanding Virtual Machines. Macintosh and Linux Boot Processes and File Systems: Understanding the Macintosh File Structure and Boot Process, Examining UNIX and Linux Disk Structures and Boot Processes, Understanding Other Disk Structures. UNIT III Data Acquisition: Understanding Storage Formats for Digital Evidence, Determining the best Acquisition Method, Contingency Planning for Image Acquisitions, Using Acquisition Tools, Validating Data Acquisitions, Performing RAID Data Acquisitions, Using Remote Network Acquisition Tools, Using Other Forensic Acquisition Tools. Computer Forensics Analysis and Validation: Determining What Data to Collect and Analyze, Validating Forensic Data, Addressing Data-Hiding Techniques, Performing Remote Acquisitions. UNIT IV Current Computer Forensics Tools: Evaluating Computer Forensic Tool Needs, Computer Forensics Software Tools, Computer Forensics Hardware Tools, Validating and Testing Forensics Software. 41 Recovering Graphics Files: Recognizing a Graphics File, Understanding Data Compression, Locating and Recovering Graphics Files, Identifying Unknown File Formats, Understanding Copyright Issues with Graphics UNIT V Network Forensics: Network Forensic Overview, Performing Live Acquisitions, Developing Standard Procedures for Network Forensics, Using Network Tools. E-mail Investigations: Exploring the Role of E-mail in Investigations, Exploring the Roles of the Client and Server in E-mail, Investigating E-mail Crimes and Violations, Understanding E-mail Servers, Using Specialized E-mail Forensics Tools. Laboratory Lab exercises using forensic software and case study data. Textbooks: 1. Nelson, Phillips, Frank, Enfinger and Steuart: Computer Forensics and Investigations, Cengage Learning, 2008.Chapters: 1, 2, 4, 6, 7, 8, 9, 10, 11, 12 Reference Books: 1. Marjie T. Britz: Computer Forensics and Cyber Crime - An Introduction, 2ndEdition, Pearson Education, 2012. 2. Harish Chander: Cyber Laws and IT Protection, PHI, 2012. Mapping Course Outcomes with Program Outcomes: Course Outcome / Program Outcome a b c d e f g CO1 X CO2 X CO3 X CO4 X CO5 X 42 h i j k l