M.S. RAMAIAH INSTITUTE OF TECHNOLOGY BANGALORE (Autonomous Institute, Affiliated to VTU) SYLLABUS (For the Academic year 2014 – 2015) Dept of Information Science and Engineering M.Tech (Software Engineering) I and II Semester Page 1 of 29 History of the Institute: M. S. Ramaiah Institute of Technology was started in 1962 by the 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 Information Science and Engineering (ISE) was established in the year 1992 with an objective of producing high-quality professionals to meet the demands of the emerging field of Information Science and Engineering. The department started with UG programme with an annual sanctioned intake of 30 students and the intake was enhanced to 60 seats in the year 1991, to 90 seats in the year 2001 and then to 120 seats in the year 2008. The department started M.Tech in Software Engineering in the year 2004. The department has been recognized as R&D center by VTU. The department has well equipped laboratories. Some of the laboratories have also been set up in collaboration with industries such as Intel, Apple, Honeywell, EMC2, Nokia Siemens and IBM. The department has highly qualified and motivated faculty members. All faculty are involved in research and technical paper publications in reputed technical journals, conferences across the world. The department has been accredited by the NBA in 2001, 2004 & reaccredited in 2010. The department has successfully conducted seminars & workshops for students and academicians in the emerging technology. Page 2 of 29 Faculty List Sl.No. Name of Faculty Designation Dr. Vijaya Kumar B P Qualification M.Tech (IITR), Ph.D (IISc.) 1 2 Dr. Lingaraju G M Ph.D Professor 3 N Ramesh MTech Associate Professor 4 Rajaram M Gowda Associate Professor 5 Dr.Mydhili K Nair MTech. (Ph.D) M.Tech, Ph.D (Anna University) 6 Shashidhara H S M.Tech. (Ph.D) Associate Professor 7 George Philip C M.Tech. Associate Professor 8 T Tamilarasi M.E (Ph.D) Assistant Professor 9 Dr. Megha.P.Arakeri M.Tech, Ph.D (NITK) Associate Professor 10 Dr. Siddesh G M M.Tech., Ph.D Associate Professor 11 Savita K Shetty M.Tech. Assistant Professor 12 Myna A N M.Sc(Engg) , (Ph.D) Assistant Professor 13 Deepthi K M.Tech. Assistant Professor 14 Lincy Meera Mathews M.Tech (Ph.D) Assistant Professor 15 P M Krishna Raj M.Sc(Engg), (Ph.D) Assistant Professor 16 Rajeshwari S B B.E (M.Tech.) Assistant Professor 17 Prathima M N M.E. Assistant Professor 18 Pushpalatha M N M.Tech (Ph.D) Assistant Professor 19 Mohan Kumar S M.Tech (Ph.D) Assistant Professor 20 Sumana M Assistant Professor 21 Prashanth Kambli M.Tech (Ph.D) M.Sc, (MSc(Engg.) by Research) 22 Naresh E M.Tech, (Ph.D) Assistant Professor 23 Jagadeesh Sai D M.Tech. Assistant Professor 24 Mani Sekhar S R M.Tech, (Ph.D) Assistant Professor 25 Suresh Kumar K R M.Tech, (Ph.D) Assistant Professor 26 Sunitha R S M.Tech. Assistant Professor 27 Sandeep B L M.Tech, (Ph.D) Assistant Professor 28 Dayananda P M.Tech, (Ph.D) Assistant Professor 29 Koushik S M.Tech, (Ph.D) Assistant Professor Professor & Head Associate Professor Assistant Professor Page 3 of 29 Vision and Mission of the Institute and the Department The Vision of MSRIT: To evolve into an autonomous institution of international standing for imparting quality technical education The Mission of the institute in pursuance of its Vision: 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”. The Vision of the Department: To evolve as an outstanding education and research center of Information Technology to create high quality Engineering Professionals for the betterment of Society The Mission of the Department: • To provide a conducive environment that offers well balanced Information Technology education and research • To provide training and practical experience in fundamentals and emerging technologies Program Education Objectives (PEOs) Student will be able to PEO1: Contribute in the area of Software Engineering development, maintenance & research in social-technical system. PEO2: Exhibit the Software Engineering skills for analysis, design & testing using modern tools & technologies within or outside discipline. PEO3: Act according to professional ethics and communicate effectively with various stakeholders by demonstrating leadership qualities. Program Outcomes (Pos) Student will be able to a: To nurture and enhance the knowledge in Software Engineering at a global perspective that emphasizes on designing, developing and testing the software. b: Analyze complex Software Engineering problems critically and pursue research independently. c: Ability to identify problems and arrive at optimal software solution within constraints. d: Perceive & develop a suitable model by applying research skills and lifelong learning that caters to multi disciplinary or Software Engineering domains either individually or in a group. e: Ability to optimize the domain engineering activities with the help of modern IT tools. f: Apply the knowledge of Software Engineering for effective project management considering ethical and social responsibility. g: Communicate effectively with respect to documentation and presentation with engineering community and society. Page 4 of 29 Board of Studies S. No. Category 1 Head of the Department Concerned 2 Faculty members nominated by the Academic Council Name of the Person with Official Address Dr. Vijaya Kumar B P Head of the Department Information Science & Engg., M.S. Ramaiah Institute of Technology, MSRIT Post, Bangalore – 560 054. Shashidhara H S Associate Professor Dept. of Information Science & Engineering, M.S. Ramaiah Institute of Technology, MSR Post, Bangalore – 560 054. Dr. Megha P Arakeri Associate Professor Dept. of Information Science & Engineering, M.S. Ramaiah Institute of Technology, MSR Post, Bangalore – 560 054. Dr. Siddesh G M Associate Professor, Dept. of Information Science & Engineering, M.S. Ramaiah Institute of Technology, MSR Post, Bangalore – 560 054. P. M Krishna Raj Asst. Professor Dept. of Information Science & Engineering, M.S. Ramaiah Institute of Technology, MSR Post, Bangalore – 560 054. 3 Experts in the subject from outside the College, to be nominated by the Academic Council Dr. Satish Babu Professor & Head, Dept. of Computer Science & Engineering SIDDAGANGA INSTITUTE OF TECHNOLOGY NH 206,B.H.Road, Tumkur, Karnataka 572103. bsbsit@gmail.com Dr. Dilip Kumar Professor & Head University Visvesvaraya College of Engineering (UVCE), K R Circle, Dr Ambedkar Veedhi, Bangalore Karnataka 560001 dilipkumarsm06@yahoo.com Status Chair Person Member Member Member Member Autonomous Institute Member Government University Member Page 5 of 29 Dr.Y.N. SRIKANT Professor, Department of Computer Science and Automation, Indian Institute of Science Bangalore 560 012. email : srikant@csa.iisc.ernet.in Madhu N. Belur Department of Electrical Engineering Indian Institute of Technology Bombay Powai, Mumbai 400 076 India Dr. Chetan Kumar S Manager Software Development CISCO System Cessna Business Park, Kadubeesanahalli Village, Varthur Hobli, Sarjapur Marathalli, Bangalore – 560 087 Shivakumar.chetan@gmail.com Mr.Niranjan Salimath Beaglesloft , 37/5, Ulsoor Rd, Yellappa Chetty Layout, Sivanchetti Gardens, Bengaluru, Karnataka 560042 Email - ranju@beaglesloft.com VTU Member from IISc Special Invitee Expert Member from Industry Alumni Member Page 6 of 29 Scheme of Teaching for 2015-2017 Batch I Semester M.Tech. (Software Engineering) Sl. No Subject Code Subject Credits* L T P Total 1 MSWE11 Advanced Mathematics 4 1 0 05 2 MSWE12 Advanced Topics in Software Engineering 4 0 1 05 3 MSWE13 Software Architecture and Design Patterns 4 0 1 05 4 MSWE14 Seminar I 0 2 0 02 5 MSWEAX Elective – A 4 0 1 05 6 MSWEBX Elective – B 4 0 1 05 20 3 4 27 Total * L : Lecture T : Tutorial Elective - A P : Practical Elective - B MSWEA1 Cloud Computing MSWEB1 Soft Computing MSWEA2 Embedded Systems Design MSWEB2 Mobile Computing II Semester M.Tech. (Software Engineering) Sl. No Subject Code Subject Credits* L T P Total 1 MSWE21 Software Measurements and Metrics 4 0 1 05 2 MSWE22 Software Project Management 4 0 1 05 3 MSWE23 Software Quality Engineering 4 0 1 05 4 MSWE24 Seminar - II 0 2 0 0 5 MSWECX Elective – C 4 0 1 05 6 MSWEDX Elective – D 4 0 1 05 20 2 5 27 Total * L : Lecture Elective - C T : Tutorial P : Practical Elective - D MSWEC1 Data Science MSWED1 Storage Area Networks MSWEC2 Machine Learning MSWED2 Internet of Things Page 7 of 29 III Semester M.Tech. (Software Engineering) Sl. No Subject Code Subject Credits* L T P Total 1 MSWE31 Software Engineering and Society 4 1 0 05 2 MSWE32 Project Preliminaries 0 2 6 08 4 MSWE33 Seminar - III 0 2 0 02 5 MSWEEX Elective - E 4 0 1 05 8 5 7 20 Total * L : Lecture T : Tutorial P : Practical Elective - E MSWEE1 Applied Parallel Computing MSWEE3 System Performance and Analysis (4:1:0) MSWEE2 Bioinformatics MSWEE4 Advanced Data Mining IV Semester M.Tech. (Software Engineering) Sl. No 1 Subject Code MSWE41 Subject Credits* Project-2 L T P Total 0 0 26 26 Total * L : Lecture 26 T : Tutorial P : Practical Semester wise Credit Allocation Semester 1 2 3 4 Total Core 15 15 05 00 30 Electives 10 10 05 00 25 Project 00 00 08 26 34 Others 02 02 02 00 11 Page 8 of 29 Total 27 27 20 26 100 ADVANCED MATHEMATICS Course Code: MSWE11 Prerequisites: Nil Credits Contact Hours : 4:1:0 : 56L + 28T Course coordinator(s): Dr. N L Ramesh (Mathematics Department) Course objectives: The students will: • Learn to solve algebraic and transcendental equations numerically. • Understand the concepts of Vector spaces and its applications to Difference equations and Markov chains. • Learn the concepts of Diagonalization by finding The Eigen values and Eigen vectors. • Learn the concepts of Random Process, Poisson Process. • Understand the different Queueing Models. Course Contents: Unit I Numerical Methods: Errors, Different types of errors, Fixed Point Iteration method, 2 Aitken’s Δ Process method, Newton-Raphson method for a system of two simultaneous equations, Horner’s method, Birje-Vieta method. Introduction to Linear Algebra, Consistency, Gauss Jordan method. Unit II Vector Spaces: Vector spaces and Subspaces, Null Spaces, Column Spaces and Linear Transformations, Linearly Independent Sets, Basis, Coordinate Systems, The Dimension of Vector Space, Rank, Change of Basis, Applications to Difference Equations. Unit III Linear Transformations: Introduction to Linear Transformations, The Matrix of a Linear Transformation, Rank-nullity theorem, Algebra of Linear Transformations. Eigen values and Eigenvectors: Characteristic equation, Diagonalization, eigenvectors, System of ODEs as matrix differential equations, and linear transformation. Unit IV Probability: Introduction to the theory of Probability, Random variables, Binomial, Poisson’s Distribution, and Normal distribution, Joint Distributions, Stochastic process and Markov chains. Markov Process: Markov Process, Poisson Process, Pure Birth and Pure Death Process, Birth and Death Process. Unit V Introduction to Queueing theory and Applications: Single server with infinite system capacity, Queueing Models (M/M/1):( ∞ /FIFO), (M/M/1):(k/FIFO),(M/M/s):( ∞ /FIFO), (M/M/s):(k/FIFO),M/G/1 Queueing system characteristics, Case Studies. Tutorials: 2 1. Examples on Aitken’s Δ Process method and Newton-Raphson method. 2. 3. 4. 5. 6. Problems on Horner’s method and Birje-Vieta method. Examples on consistency and Gauss Jordan method. Problems on Vector spaces and Subspaces. Problems on Basis and Change of Basis. Application to Difference Equations and Markov chains. Page 9 of 29 7. 8. 9. 10. 11. 12. Problems on Linear Transformations. Examples on Eigen values and Eigen vectors. Problems on Random variables and distributions. Problems on Markov and Poisson Process Problems on M/M/1 Queueing system. Problems on M/G/1 Queueing system. References: 1. M.K. Jain, S. R. K. Iyengar, R. K. Jain, Numerical Methods for Scientific and Engineering Computation, 5e, New Age International Publishers, 2007. 2. David C. Lay, Linear Algebra and its Applications, 3e, Pearson, 2011. 3. T. Veerarajan, Probability, Statistics and Random Processes, 3e, Tata McGraw Hill, 2008. 4. Kishore S. Trivedi, Probability and Statistics with Reliability, Queuing and Computer Science Applications, 2e, John Wiley & Sons, 2008. Course outcomes: Students will be able to: • Solve the problems of algebraic and transcendental equations using numerical methods. (PO a, PO c) • Apply Vector spaces to solve Difference equations and problems arising in Markov chains. (PO a, PO c) • Diagonalize the Matrix by finding the Eigen values and Eigen vectors. (PO a, PO c) • Apply the concept of Random process to discuss Poisson process, Birth and Death process, Pure Birth and Pure Death process. (PO a, PO c) • Study the system characteristics in analyzing Queuing Models. (PO a, PO c) Page 10 of 29 Course Code ADVANCED TOPICS IN SOFTWARE ENGINEERING : MSWE12 Credits Prerequisites: Nil Contact Hours : 4:0:1 : 56L + 28P Course coordinator(s): Krishna Raj P M Course objectives: • Analyze the various software development processes and methodologies • Understand the process of software design • Implement software modules in distributed fashion • Appreciate the software quality measures beyond testing • Study alternate models of software development including FOSS Course Contents: Unit I Process Models and their evolution – NATO 1968, Waterfall Model, Spiral Model, Agile Manifesto, Agile Process and Principles, Extreme programming, Scrum, Rational Unified Process, CMM, CMM-i, PCMM, ISO 12207, Critical Analysis of Process Models. Unit II Software Design – Design principles, Software architecture, Design Patterns, User Interface Design, Object Oriented Design with UML, Universal design applied to software engineering, Design for Reuse. Unit III Programming Paradigms – Imperative programming, Functional programming, Logical programming, Object oriented programming, Global software development – tools and practices, Coding standards, Aspect oriented software engineering. Unit IV Software Testing and Quality Assurance – Testing processes, Testing tools, ISO Quality Models – ISO 9001 and ISO 9126, Usability Testing, Test driven software development, Object Oriented Testing with C&K metrics, Software Configuration Management. Unit V Research Issues in Software Engineering, Free and Open Source Software Engineering: history, motivation, quality, development methodology and applications. Laboratory: The following tools are to be used for the specific exercises given by the faculty 1. Planning tools - task juggler, planner 2. Designing tools - star uml, dia, acceleo (in eclipse) 3. Programming tools - emacs, gcc, gdb, eclipse, netbeans, code::blocks 4. Testing tools - cxxtest, junit, selenium 5. SCM tools - make, git, apache ant, github, sourceforge References: 1. Roger S Pressman, Software Engineering, 7th edition, TMH publication 2. Ian Sommerville, Software Engineering, 9th edition, Pearson Education 3. Rumbaugh, Object –Oriented Modeling and Design, Pearson Education 4. Jeff Tain, Software Quality Engineering, IEEE publication 5. Research Papers Course outcomes: Students will be able to: • Identify various software development methods (PO a, PO d, PO e) • Design using appropriate techniques (PO a, PO b, PO e) • Implement distributed software using modern CASE tools (PO b, PO c, PO d) • Verify the fitness of software (PO a, PO c, PO d, PO e) • Understand the alternate software development methodologies (PO a, PO b, PO c) Page 11 of 29 SOFTWARE ARCHITECTURE AND DESIGN PATTERNS Course Code : MSWE13 Prerequisites: NIL Credits Contact Hours : 4:0:1 : 56L+28P Course coordinator(s): Mohan Kumar S Course objectives: • To enable students to understand the challenges of advanced software design and the issues associated with large-scale software architectures, frameworks, patterns and components. • To develop the students' understanding of the tools and techniques that may be used for the automatic analysis and evaluation of software. Course Contents: UNIT I What is software architecture? : What software architecture is and what it is not, Architectural Structures and Views, Architectural Patterns, Why is Software Architecture Important?, Inhibiting or Enabling a System’s Quality Attributes, reasoning About and Managing Change, Predicting system Qualities, Enhancing Communication among Stakeholders, Carrying Early Design Decisions, Defining Constraints on an Implementation, Influencing the Organizational Structure, Enabling Evolutionary Prototyping, Improving Cost and Schedule Estimates, Supplying a Transferable, Reusable Model, Allowing Incorporation of Independently Developed Components, Restricting the Vocabulary of Design Alternatives, Providing a Basis for training, Summary, Discussion Questions UNIT II Patterns: What is a Pattern? What Makes a Pattern? Pattern Categories, Relationship between Patterns, Pattern Description, Patterns and Software Architecture, Summary Patterns and Software Architecture: Introduction, Patterns in Software Architecture, Enabling Techniques for Software Architecture, Non-functional properties of software architecture UNIT III Architectural Patterns: Introduction, From Mud to Structure: Layers, Pipes and Filters, Black Board, Distributed Systems: Broker, Interactive Systems: Model-View Controller, Presentation-Abstraction Control. UNIT IV Architectural Patterns: Adaptable Systems: Micro-kernel, Reflection Design Patterns: Introduction, Structural Decomposition: Whole-Part, Organization of Work: Master-Slave, Access Control: Proxy UNIT V Design Patterns: Management: Command – Processor, View Handler, And And Communication: Forwarder-Receiver, Client-Dispatcher-Server, Publisher-Subscriber Pattern Systems: What is a Pattern System? Pattern Classification, Pattern Selection, Pattern Systems as Implementation Guidelines. Laboratory: Exercises and Mini-projects based on concepts & tools. References: 1. Len Bass, Paul Clement, Rick Kazman, “Software Architectures in Practice”, 3rd Edition, Pearson, 2013. 2. Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal, “Pattern Oriented Software Architecture: A System of Patterns”, John Wiley and Sons, Volume 1, Reprinted February 2001. 3. Alan Shalloway, James R Trott, Design Patterns Explained, A New Perspective on Object Oriented Design, 2nd Edition, Addison Wesley Page 12 of 29 4. Mary Shaw and David Garlan: Software Architecture-Perspectives on an Emerging Discipline, PHI Learning, 2007. 5. James W Cooper, Java Design Patterns, A Tutorial, Addison Wesley 6. Eric Freeman, Elisabeth Freeman, Head First Design Patterns, O’reilly Publications Course outcomes: Students will be able to: • Classify some of the challenging design issues that software engineers face and the trade-offs associated with the solutions to these. (PO a, PO b, PO c, PO e) • Describe the principles behind software patterns and be able to apply a number of the fundamental patterns (PO b, PO c, PO e) • Summarize the need for software architecture and the principles of the classic architectural styles (PO a, PO b, PO c, PO e) • Outline the major approaches to automated software analysis achievable through static and dynamic analysis (PO a, PO b, PO c, PO e) • Demonstrate practical competence in the application and construction of tools to support automated software analysis (PO b, PO c, PO e) Page 13 of 29 CLOUD COMPUTING Course Code : MSWEA1 Prerequisites: NIL Credits : 4:0:1 Contact Hours : 56L+28P Course coordinator(s): Dr. Siddesh G M Course objectives: • Introduce different aspects of cloud computing like; service models, challenges & infrastructure. • • • Explore the various cloud computing applications & paradigms. Analyze different cloud virtualization, resource management, data storage and security issues with case studies. Study the literature and exercise a project. • Apply features of cloud platforms in programming and software environments. Course Contents: UNIT I Introduction: Network centric computing and network centric content, Peer-to-peer systems, Cloud Computing: an old idea whose time has come, Cloud Computing delivery models & Services, Ethical issues, Cloud vulnerabilities, Challenges, Cloud Infrastructure: Amazon, Google, Azure & online services, open source private clouds. UNIT II Storage diversity and vendor lock-in, intercloud, Energy use & ecological impact of data centers, service level and compliance level agreement, Responsibility sharing, user experience, Software licensing. Cloud Computing: Applications & Paradigms, Challenges, existing and new application opportunities, Architectural styles of cloud applications, Workflows coordination of multiple activities, Coordination based on a state machine model -the Zoo Keeper, The Map Reduce programming model, Apache Hadoop, A case study: the GrepTheWeb application, Clouds for science and engineering, High performance computing on a cloud, Social computing, digital content, and cloud computing. UNIT III Cloud Resource Virtualization: Layering and virtualization, Virtual machine monitors, Virtual machines Performance and security isolation, Full virtualization and paravirtualization, Hardware support for virtualization Case study: Xen -a VMM based on paravirtualization, Optimization of network virtualization in Xen 2.0, vBlades -paravirtualization targeting a x86-64 Itanium processor, A performance comparison of virtual machines, Virtual machine security, The darker side of virtualization, Software fault isolation. UNIT IV Cloud Resource Management and Scheduling: Policies and mechanisms for resource management, Stability of a two-level resource allocation architecture, Resource bundling; combinatorial auctions for cloud Scheduling algorithms for computing clouds, fair queuing, Start time fair queuing, borrowed virtual time, Cloud scheduling subject to deadlines, Scheduling mapreduce applications subject to deadlines, Resource management and application scaling. UNIT V Storage systems: Evolution, Storage models, file systems, databases, DFS, General parallel File system, GFS, Hadoop, Locks & Chubby, Bigtable, Mega store. Cloud security: Risks,VM Security. Cloud Application Development: AWS, Hadoop, trust management & adaptive data streaming service, Cloud based FPGA synthesis. Laboratory Students, in teams of 3, should set a cloud environment and execute a project on cloud platform. Page 14 of 29 References: 1. Dan Marinescu, Cloud Computing: Theory and Practice, 1st edition, MK Publishers, 2013. 2. Kai Hwang, Jack Dongarra, Geoffrey Fox. Distributed and Cloud Computing, From Parallel Processing to the Internet of Things, MK Publishers. 3. Anthony T. Velte, Toby J. Velte, Robert Elsenpeter, Cloud Computing: A Practical Approach, McGraw Hill, 2010. Course outcomes: Students will be able to: • Explain different aspects of cloud computing like; service models, challenges & infrastructure. (PO c) • • • • Explore the various cloud computing applications & paradigms. (PO c) Analyze different cloud virtualization, resource management, data storage and security issues with case studies. (PO c) Study the literature and exercise a project. (PO c) Apply features of cloud platforms in programming and software environments. (PO d, PO e, PO g) Page 15 of 29 Course Code EMBEDDED SYSTEMS DESIGN : MSWEA2 Prerequisites: NIL Credits Contact Hours : 4:0:1 : 56L + 28P Course coordinator(s): George Philip C Course Objectives: • Discuss the Embedded System design process and the formalisms for system design • • • • Discuss the function of the components that make up a modern Embedded Computing System Explain the buses and protocols for embedded applications Identify real-time embedded system requirements and its implications in the design of RTOS Discuss Embedded System Development process, and example embedded systems Course Contents: UNIT I Embedded Computing:– Introduction, Complex Systems and Microprocessors, The Embedded System Design Process (Case Study: GPS Moving Map), Formalisms for System Design. (Task: UML documentation for the selected project) Hardware Software Co-Design, Embedded Product Development Lifecycle Management, Testing. UNIT II Model of an Embedded System, Microprocessor vs. Microcontroller, Example: A simple temperature monitor, Classification of MCUs, Current Trends. MCU:- The processor, The Harvard Architecture, GPIO, Power on Reset, Brown Out Reset, Watch Dog Timer, Real Time Clock, Memory Types, Low Power Design. Elementary ideas of Sensors, ADCs, Actuators. UNIT III Buses and Protocols:- Elementary ideas of Parallel, I2C, SPI, USB, IEEE 1394, RS-232, RS-422/RS-485, Ethernet, CAN, WLAN, ZigBee, Bluetooth. UNIT IV Processes and Operating Systems:- Multiple Tasks and Processes, Multirate Systems, Preemptive RTOS, Priority-Based Scheduling – Rate Monotonic Scheduling, Earliest Deadline First Scheduling, Evaluating OS Performance, Power Optimization Strategies for Processes. UNIT V Embedded Program Development, Integrated Development Environment, Compiler, Assembler, Builder, Disassembly, Linker, Simulator, Downloading the Hex file, Hardware Simulator. Embedded System Examples:- Mobile Phone, Automotive Electronics, RFID, WISENET, Robotics, Biomedical Applications, BMI. Laboratory: 1. Using the Intel Atom Processor Board running the Linux OS:• Write and execute C programs. • Test the functions of the following interfaces: RFID, GSM/GPRS, GPS, LED array, DC Motor, Switches, 4×4 Keypad, 16×2 LCD Serial Display, Accelerometer, Touch Screen, Potentiometer, Temp. sensor, and Bluetooth Page 16 of 29 • Capture images using the Web Camera. 2. A group project work has to be completed. References: 1. Marilyn Wolf; Computers as Components: Principles of Embedded Computing System Design, 3e, Morgan Kaufmann, 2012, ISBN: 9780123884367. (Unit I, IV) 2. Lyla B Das; Embedded Systems: An Integrated Approach, Pearson Education, 2013, ISBN: 9788131787663. (Unit I, II, III, V) 3. Shibu K V; Introduction To Embedded Systems, MGH, 2009, ISBN: 9780070145894. Course Outcomes: Students will be able to: • Describe the Embedded System design process and the formalisms for system design (PO - a,c,e) • Interpret the functions of the components that make up a modern Embedded Computing System (PO - a) • Identify the buses and protocols for embedded applications (PO - a) • Identify real-time embedded system requirements and its implications in the design of RTOS (PO - a, c) • Explain the Embedded System Development process and identify example embedded systems (PO - a,e) Page 17 of 29 SOFT COMPUTING Course Code : MSWEB1 Prerequisites: Nil Credits Contact Hours : 4:0:1 : 56L+28P Course coordinator(s): Myna A N Course objectives: • To Introduce the soft computing methods to learn from experimental data and transfer knowledge into analytical models • To design the various neural network structures • To Embed existing structured human knowledge into workable mathematics by fuzzy logic models To develop mathematical models using neuro fuzzy approaches To highlight the effect of Genetic Algorithms in problem solving • • Course Contents: UNIT I Neural Networks: History, overview of biological Neuro-system, Mathematical Models of Neurons, ANN architecture, Learning rules, Learning Paradigms-Supervised, Unsupervised and reinforcement Learning. UNIT II ANN training Algorithms perceptions, Training rules, Delta, Back Propagation Algorithm, Multilayer Perceptron Model, Hopfield Networks, Associative Memories, Applications of Artificial Neural Networks. UNIT III Introduction to Fuzzy Logic, Classical and Fuzzy Sets: Overview of Classical Sets, Membership Function, Fuzzy rule generation. Operations on Fuzzy Sets, Fuzzy Arithmetic, Fuzzy Logic, Uncertainty based Information: Compliment, Intersections, Unions, Combinations of Operations, Aggregation Operations. Fuzzy Numbers, Linguistic Variables, Arithmetic Operations on Intervals & Numbers, Lattice of Fuzzy Numbers, Fuzzy Equations. Classical Logic, Multivalued Logics, Fuzzy Propositions, Fuzzy Qualifiers, Linguistic Hedges. Information & Uncertainty, Nonspecificity of Fuzzy & Crisp Sets, Fuzziness of Fuzzy Sets. UNIT IV Fuzzy Neural Networks: Integration of fuzzy logic and neural networks, Fuzzy neurons, Hybrid neural nets, Computation of fuzzy logic inferences by hybrid neural net, Trainable neural nets for fuzzy IF-THEN rules, Implementation of fuzzy rules by regular FNN of Type2, Implementation of fuzzy rules by regular FNN of Type 3, Tuning fuzzy control parameters by neural nets, Fuzzy rule extraction from numerical data, Neuro-fuzzy classifiers, FULLINS, Applications of fuzzy neural systems. UNIT V Genetic Algorithms: An Overview: A Brief History Of Evolutionary Computation, The Appeal Of Evolution, Biological Terminology, Search Spaces And Fitness Landscapes, Elements Of Genetic Algorithms, A Simple Genetic Algorithm, Genetic Algorithms And Traditional Search Methods, GA in problem solving: Evolving Computer Programs, Data Analysis And Prediction, Evolving Neural Networks. Laboratory: Exercises and Mini-projects based on concepts & tools. Page 18 of 29 References: 1. Anderson J.A., An Introduction to Neural Networks, PHI, 1999. 2. G.J. Klir & B. Yuan: Fuzzy Sets & Fuzzy Logic, PHI, 1995. 3. Robert Fuller, Lecture Notes on Neural Fuzzy Systems, 1995. 4. Melanie Mitchell: An Introduction to Genetic Algorithm, PHI, 1998. 5. Vojislav Kecman, “Learning and Soft Computing,” Pearson Education (Asia) Pte. Ltd. 2004 Course outcomes: Students will be able to: • Identify, formulate and develop solutions for soft computing problems using neural networks (PO a, PO d, PO e) • Analyze the various neural network algorithms (PO a, PO d, PO e) • Formulate mathematical models, Design and develop solutions for soft computing problems using fuzzy logic (PO a, PO d, PO e) • Design solutions using fuzzy neural network approach (PO a, PO d, PO e) • Implement genetic algorithms for solving problems (PO a, PO d, PO e) Page 19 of 29 MOBILE COMPUTING Course Code : MSWEB2 Prerequisites: NIL Credits Contact Hours : 4:0:1 : 56L+28P Course coordinator(s): Dr. B P Vijaya Kumar Course objectives: To introduce networking concepts of Wireless transactions, spread spectrum, medium access and access network. To learn Network and transport layer for mobile networks and the various concepts used in telecommunication systems. Exploring different techniques to handle databases and data dissemination for mobile computing To learn Data Synchronization in Mobile Computing along with mobile agents, services, file systems and security. Exploring various aspects of mobility support, and various mobile operating systems. Course Contents: UNIT I Introduction: Challenges in mobile computing, coping with uncertainities, resource poorness, banwidth, etc. Cellular architecture, co-channel interference, frequency reuse, capacity increase by cell splitting. Evolution of mobile system: CDMA, FDMA, TDMA, GSM. Wireless LAN: IEEE 802.11, HiperLAN, Blue tooth, Wi Max. UNIT II Mobililty Management: Cellular architecture, Co-channel interference, Mobility: handoff, types of handoffs; location management, HLR-VLR scheme, hierarchical scheme, predictive location management schemes. Mobile IP, Dynamic host configuration protocol, Mobile transport layer - Traditional and classical TCP. UNIT III Publishing & Accessing Data in Air: Databases: Database Hoarding Techniques, Data Caching, Transactional Models, Query Processing. Data Dissemination and Broadcasting Systems: Communication Asymmetry, Classification of Data-Delivery Mechanisms, Data Dissemination Broadcast Models, Selective Tuning and Indexing Techniques. UNIT IV Data Synchronization in Mobile Computing Systems: Synchronization, Synchronization software for mobile devices, Synchronization protocols, SyncML - Synchronization language for mobile computing, Sync4J (Funambol), Synchronized Multimedia Markup Language (SMIL). Mobile Devices: Server and Management: Mobile agent, Application server, Gateways, Portals, Service Discovery, Device management, Mobile file systems, security. UNIT V Support Mobility- File Systems, Mobile Security, Mobile operating systems: Windows, Symbian OS, Android, iOS, Linux for Mobile devices. Laboratory: 1. Study of network simulators: Qualnet 2. Use Telnet to execute HTTP commands directly against a Web Server 3. Learn to setup remote desk top connection between a client and a server, via web. 4. Implement web caching a) Configuring windows as DHCP server b) Capture and analyze DHCP traffic generation. Page 20 of 29 5. 6. Study and practice programming languages for different Mobile operating system Application development using different Mobile OS over the emulator/mobile devices References: 1. 2. 3. 4. Mobile Computing, RajKamal, Oxford University Press, 2nd Edition, 2012 Jochen Schiller, Mobile Communications, 2nd Edition, Pearson 2003 Reza B, Mobile Computing Principles, Cambridge University press 2005 Balancing Push and Pull for Data Broadcast, S.Acharya, M. Franklin and S. Zdonik. Proceedings of the ACM SIGMOD, Tuscon, AZ, May 1997. 5. Disseminating Updates on Broadcast Disks, S.Acharya, M. Franklin and S. Zdonik. Proceedings of the 22nd VLDB Conference, Mumbai (Bombay), India, Sept 1996. Course outcomes: Students will have the ability to: CO1: Discuss the challenges and issues in mobile computing, and describe the basic principles and techniques, and protocol standards in wireless networks – PO a, PO b CO2: Describe the concept of network and transport layer for mobile networks in respect to mobility management. PO a, PO d CO3: Analyze the database handling, data dissemination, Synchronization in respect to Mobile data base and computing. PO a, PO b, PO c, PO e CO4: Describe and illustrate the mobile services, agents and mobility support using different file systems and platforms. PO a, PO b, PO c, CO5: Develop mobile applications by analyzing their characteristics and requirements, selecting the appropriate computing models and software architectures with hands-on training. PO c, PO e Page 21 of 29 SOFTWARE MEASUREMENTS AND METRICS Course Code : MSWE21 Prerequisites: NIL Credits: 4:0:1 Contact Hours : 56L+28P Course coordinator(s): Krishna Raj P M Course objectives: • Introduce concepts of Software measurements and the necessary metrics to measure the software • Carry out empirical investigation and analyze the software measurement data • Define and measure the internal and external attributes of software • • • Measure the resource required and make process predictions Plan and Develop a measurement program Learn about the measurement in practice and the ongoing research in software measurement and metrics Course Contents: UNIT I Fundamentals of measurements, Measurements- what is it and why do it? Measurement in everyday life, in Software Engineering, Scope of software metrics, The basics of measurements - Representational theory of measurement, measurement and models, measurement scale and scale types, meaningfulness in measurement, A goal framework for software measurement – Classifying software measures, determining what to measure, applying the framework, software measurement validation and in practice. UNIT II Empirical investigation – Four principals of investigation, planning formal experiments, planning case studies, Software metrics data collection – What is good data, how to define the data, how and when to collect data, how to store and extract data, Analyzing software measurement data – Analyzing the results of experiments, examples of simple analysis techniques, more advanced methods, overview of statistical tests. UNIT III Measuring internal software attributes: size – Aspects of software size, length, reuse, functionality, complexity, Measuring internal software attributes: structure – Types of structural measures, control-flow structure, modularity and information flow attributes, object-oriented metrics, data structure, difficulties with general complexities measures, Measuring external software attributes – Modeling software quality, measuring aspects of quality. UNIT IV Resource measurement: productivity, teams and tools – Meaning of productivity, productivity of what? Measuring productivity, Teams, tools and methods, Making process predictions – Good estimates, cost estimation: problems and approaches, models of effort and cost, problems with existing modeling methods, dealing with problems of current estimation methods, implications for process prediction. UNIT V Planning a measurement program – What is a metrics plan, Why and what: developing goals, questions, and metrics, Where and when: mapping measures to activities, How: measurement tools, Who: measurers, analysts and audience, revising the plan, Measurement in practice – success criteria, measurement in the small and in the large, lessons learned, Empirical research in software engineering – problems with empirical research, Investigating products, resources, processes, Measurement today and tomorrow. Laboratory: The students are expected to take a project and apply all suitable metrics to it individually. Page 22 of 29 References: 1. Norman E. Fenton and Shari Lawrence Pfleeger, Software Metrics: A Rigorous Approach, PWS; 2nd edition, 1998 2. Stefhan H Kan, Metrics and Models in Software Quality Engineering, Pearson Education , 2003 Course outcomes: Students will be able to: • Identify the basics of measurement theory and its application to software (PO a) • Design the experiment for emperical investigation of software (PO d) • Measure the internal and external attributes of software (PO b) • Estimate time, cost and personnel required to develop given software (PO a) • Devise a measurement plan for a software project and implement it (PO a) Page 23 of 29 Course Code SOFTWARE PROJECT MANAGEMENT : MSWE22 Prerequisites: NIL Credits Contact Hours : 4:0:1 : 56L + 28P Course coordinator(s): Dr.Mydhili K Nair Course objectives: • Classify software projects. Evaluate projects. Manage Programmes • Select project approach. Estimate effort. Activity planning • Manage risks. Allocate resources. Project monitoring and control. • Manage people. Work in teams. Manage software quality. Course Contents: UNIT I Introduction, Contract & Technical project Management, Activities, Plans, Methods, Methodologies, objectives, business case, Success, failure, Management control, Traditional vs Modern project management, Project portfolio management, Project evaluation, Cost-benefit evaluation Techniques, Risk Evaluation, Resource allocation, Strategic management, Benefits, Step Wise Project Planning. UNIT II Build/Buy? Methodologies, software processes, process models, prototyping, Incremental delivery, Atern, RAD, Agile methods, XP, Scrum, Selection of process model. Basis for software effort estimation, models, Expert judgment, Estimation by analogy, Albrecht FPA, FP Mark II, COSMIC FFP, COCOMO II, Cost estimation, Staffing pattern, Schedule compression, Capers Jones rules, When activity planning? Project schedules & activities, Sequencing & scheduling activities, Network Model, Time, Forward & Backward Pass, Critical path, Activity float, Shorten project duration, Critical activities, Activity on Arrow networks. UNIT III Categories of risk, deal with risk, Risk identification, assessment, planning, Management. Evaluation of risks to the schedule, PERT, Monte Carlo, Critical chain. Nature of Resources, resource requirements, Scheduling resources, creating critical paths, Counting the cost, Publish resource schedule, cost schedules, scheduling sequence. UNIT IV Monitoring and control Framework, Collect data, Review, Project termination, progress, cost monitoring, Earned Value Analysis, Prioritizing Monitoring, Get project back to target, Change control, Software Configuration Management, Managing contracts, Stages, terms of contract, contract management, Acceptance. UNIT V Managing people, Understanding behavior, Organizational behavior, Selecting the right person, Best methods, Motivation, The Oldham-Hackman model, Stress, Ethical concerns. Becoming a team, Decisions, Organizational and Team structures, Coordination, Dispersed and Virtual teams, Communication genres, Communication plans, Leadership. Place and importance of quality, ISO 9126, Product and Process metrics, Product vs Process quality, Quality management systems, CMM, Enhance quality, Testing, Reliability, Quality plans. Laboratory: Students, in teams of 3, should implement a project according to any one of the following standards - Team Software Process, Capability Maturity Model, PRINCE2, ISO 10006:2003 Page 24 of 29 References: 1. Bob Hughes, Mike Cotterell, Software Project Management, 4th Edition, Tata McGraw Hill Publications, 2006 2. Kathy Schwalbe, Information Technology Project Management, 5th Ed, Thompson, 2006 3. Watts S. Humphrey, Managing the Software Process, Addison-Wesley, 1989 4. Selected papers from current literature Course outcomes: Students will be able to: • Classify and evaluate projects (PO a, PO c, PO g) • Select a project approach, estimate effort and plan activities (PO a, PO b, PO d, PO f) • Manage risks and Allocate resources (PO a, PO e, PO g) • • Monitor and control projects and Manage contracts (PO a, PO e, PO g) Manage people, work in teams and Manage quality (PO a, PO g) Page 25 of 29 SOFTWARE QUALITY ENGINEERING Course Code: MSWE23 Prerequisites: NIL Credits : 4:0:1 Contact Hours : 56L + 28P Course coordinator(s): Naresh E Course objectives: • Understand the basic definitions/concepts of Quality engineering and software testing. • Analyze the concepts like verification and its techniques like Reviews, Walkthroughs, and Inspections in the development of software. • Apply the concepts like validation and its techniques like black box testing and white box testing. • Understand the different types of System testing like Performance testing, Security testing, Load testing, Reliability testing, etc. • Design and Execution of Test Scenarios and Test Cases with the reports to track and monitor the defects. Course Contents: UNIT I Introduction: Software Quality - Perspective and Expectations, Historical perspective of Quality, Quality frameworks, Quality Assurance as dealing with defects, Defect prevention detection and Containment strategies. QA Process and Quality Engineering: QA Activates in Software Processes, Verification and Validation Perspectives, Reconciling the Two Views Quality Engineering: Activities and Process Quality Planning: Goal Setting and Strategy Formation Quality Assessment and Improvement Quality Engineering in Software Processes. UNIT II A Perspective on Testing: Basic definitions, Test Scenarios, Test cases, Insights from a Venn diagram, Identifying test cases, Error, fault and Failure taxonomies, testing throughout the SDLC, Levels of testing, Activities of Test engineer, Test/Debug life cycle, Testing principles, The cost of bugs, What makes a good software tester?, Testing Axioms. Examples: The triangle problem, The NextDate function, the commission problem, The SATM (Simple Automatic Teller Machine) problem, the currency converter. UNIT III Functional Testing: Boundary value analysis, Robustness testing, Worst-case testing, Special value testing, Examples, Random testing, Equivalence classes, Equivalence test cases for the triangle problem, Decision tables, Test cases for the triangle problem. Compatibility testing, Usability testing, website testing, Testing the documentation. Case studies. UNIT IV Coverage-based Testing: Statement coverage testing, Condition coverage testing, Path coverage, computing cyclomatic complexity, exploratory testing. Static Testing: Reviews, Types of reviews, Inspections, Inspection process, Inspection roles, benefits of inspection, Checklists. Nonfunctional testing with case studies. UNIT V Test Management and Automation: Introduction, Test Planning, Test Management, Test Process, Test Reporting, Best Practices, Test Plan template. What is Test Automation? Terms used in Automation, Skills needed for automation, what to automate, scope of automation, design and Architecture for automation, Process model for automation, Defect management and reporting. Test Metrics and Measurements: What are metrics and measurements? Why metrics in Testing? Types of metrics: Project metrics – Effort variance, Schedule variance, Effort distribution across phases. Page 26 of 29 Laboratory: 1. Practicing static/verification techniques. 2. Practicing code-coverage testing techniques. 3. Discuss Manual versus Automated testing. 4. Application of Black-box testing techniques and White-box testing techniques with case studies (Triangle problem, NextDate Function, SATM, Currency Convertor problem). 5. Practicing Functional/System testing tools like selenium, QTP, etc (Discuss merits and demerits, solutions for demerits). 6. Practicing test/defect management activities using the bugzilla tool. References: 1. Jeff Tian, “Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement”, - John Wiley and Sons Inc., and IEEE Computer Society Press, February 2005 2. Edwar.Dkit. “Software testing in the Real World”, Pearson Education 2003. 3. Paul C. Jorgensen: Software Testing, A Craftsman’s Approach, 3 Edition, Auerbach Publications, 2008. 4. Srinivas Sesikan and Ramesh Gopalswamy, “Principles of Software Testing”, Pearson Education. 5. William E Perry. “Effective Methods for Software Testing”, Second Edition, John Wiley and Sons 6. Stephan H. Kan, “Metrics and Models in Software Quality Engineering”, Second Edition, Pearson Education. 7. Dustin, “Effective Software Testing: 50 Specific Ways to Improve Your Testing”, Pearson Education. Course outcomes: Students will be able to: • Gain the knowledge of the basic definitions/concepts of Quality engineering and software testing. (PO a) • Analyze the concepts like verification and its techniques like Walkthroughs, and Inspections in the development of software. (PO a) • Apply the concepts like validation and its techniques like black box testing and white box testing. (PO e) • Gain the knowledge, understand the different types of System testing like Performance testing, Security testing, Load testing, Reliability testing, etc. (PO g) • Design and Execute Test Scenarios and Test Cases with the reports to track and monitor the defects. (PO d, PO g) Reviews, Page 27 of 29 STORAGE AREA NETWORKS Course Code: MSWED1 Prerequisites: NIL Credits: 4:0:1 Contact Hours: 56L+28P Course coordinator(s): George Philip C Course objectives: • Provide a comprehensive view of storage architectures, and the logical and physical components of storage infrastructure including storage subsystems • Discuss RAID and intelligent storage systems • Discuss storage networking technologies such as FC SAN, IP SAN, and FCoE • Discuss NAS, object-based and unified storage • Discuss business continuity, storage security, storage monitoring and management activities Course Contents: UNIT I Introduction: Information Storage, Evolution of Storage Architecture, Data Centre Infrastructure, Virtualization and Cloud Computing. Data Centre Environment: Application, DBMS, Host, Connectivity, Storage, Disk Drive Components, Disk Drive Performance, Host Access to Data, Direct-Attached Storage, Storage Design Based on Application, Disk Native Command Queuing, Introduction to Flash Drives. UNIT II Data Protection: RAID Implementation Methods, Array Components, Techniques, Levels, Impact on Disk Performance, Comparison, Hot Spares. Intelligent Storage System: Components, Storage Provisioning, Types. UNIT III Fibre Channel Storage Area Networks: FC Overview, Evolution, Components, FC Connectivity, Ports, FC Architecture, Fabric Services, Login Types, Zoning, FC Topologies, Virtualization in SAN. IP SAN and FCoE: iSCSI, FCIP, FCoE. UNIT IV Network-Attached Storage: Benefits, Components, NAS I/O Operation, Implementations, File Sharing Protocols, Factors Affecting NAS Performance, File-Level Virtualization. Object Based and Unified Storage: Object Based Storage Devices, Content Addressed Storage, CAS Use Cases, Unified Storage. UNIT V Business Continuity: Information Availability, Terminology, Planning Lifecycle, Failure Analysis, Impact Analysis, Solutions. Cloud Computing Infrastructure. Securing the Storage Infrastructure: Framework, Risk Triad, Domains. Security Implementations in Storage Networking, Virtualized and Cloud Environments. Managing the Storage Infrastructure: Monitoring, Management Activities, Management Challenges, Information Lifecycle Management, Storage Tiering. Page 28 of 29 Laboratory: Exercises and Mini-project using open source tools. References: 1. Somasundaram G., Alok Shrivastava, (EMC Education Services); “Information Storage and Management”; 2e, Wiley India, 2012, ISBN 9788126537501. 2. Robert Spalding; “Storage Networks: The Complete Reference”; Tata McGraw Hill, 2003. Course outcomes: The students will have CO1: The ability to describe storage architectures, and the logical and physical components of storage infrastructure including storage subsystems. (PO - a,c,d,e,g) CO2: The ability to describe RAID and intelligent storage systems. (PO - a,c) CO3: The ability to illustrate storage networking technologies such as FC SAN, IP SAN, and FCoE. (PO - a) CO4: The ability to describe NAS, object-based and unified storage. (PO - a) CO5: The ability to explain business continuity, storage security, storage monitoring and management activities. (PO - a,d,e) Page 29 of 29