Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6101 L T P C 4 0 0 4 Subject: Object Oriented Analysis And Design Credits: 04 Course Objective: The main objective of the course is to expose the students to model the software architecture using different UML diagrams. UNIT-01 06 An Overview Of Object Oriented Systems Development Introduction, Two Orthogonal Views Of The Software, Object Oriented Systems Development Methodology, Why An Object Orientation. UNIT-02 03 Object Oriented Modeling Object Oriented Modelling : The Importance Of Modeling, Principles Of Modeling, Object Oriented Modeling UNIT-03 07 UML Introducing The Uml: An Overview Of The Uml , A Conceptual Model Of The Uml, Architecture, SDLC, Agile software. UNIT-04 06 Basic Structural Modeling Classes, Relationships, Common Mechanisms, and diagrams, class diagrams Advanced Structural Modeling: Advanced classes, advanced relationships, Interfaces, Types and Roles, Packages, Object diagrams. UNIT-05 08 Basic Behavioral Modeling Interactions, Interaction Diagrams, Use Cases, Use Case Diagrams, Activity Diagrams Advanced Behavioral Modeling: Events And Signals, State Machines, Processes And Threads, Time And Space, State Chart Diagrams. UNIT-06 06 Architectural Modeling Component, deployment, component diagrams and deployment diagrams, Architectural modeling ii: Patterns and frameworks, collaborations, systems and models. UNIT-07 Case Study Bank ATM Application, Railway Reservation System. Learning Outcome After completion of the course, student will be able to: 06 Annexure V 1. 2. 3. 4. Demonstrate the Object Oriented Systems Development. Design Basic & Advanced Structural Modeling. Demonstrate Basic & Advanced Behavioral. Design Architectural Modeling Textbook: Grady Booch, James Rumbaugh, Ivar Jacobson, “The Unified Modeling Language User Guide”, 2nd Edition, Pearson Education, 2007. Reference Books: 1. Meilir Page-Jones, “Fundamentals of Object Oriented Design in UML”, 1st Edition, Pearson Education, 2006. 2. Pascal Roques, “Modeling Software Systems Using UML2”, 1st Edition, WILEY Dreamtech, 2007. 3. Atul Kahate, “Object Oriented Analysis & Design”, 1stEdition, TMH, 2007. 4. Mark Priestley, “Practical Object-Oriented Design with UML”, 2nd Edition, TMH, 2005. 5. Craig Larman, “Appling UML and Patterns: An introduction to Object”, Oriented Analysis and Design and Unified Process, 3rd Edition, Pearson Education, 2007. Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6102 L T P C 4 0 0 4 Subject: Advanced Data Structures and Algorithms Credits:4 Course Objective: The objective of this course is to study general computational problems, with a focus on the principles used to design the algorithms. UNIT-01 05 Overview Algorithm concepts, asymptotic efficiency of algorithms, asymptotic notations and their properties, Recurrence equations and method of solving recurrences, Searching using hash tables, open addressing using linear probing, Medians and order statistics. UNIT-02 06 Elementary Data Structures Stacks and queues, Linked lists, Hash Tables, Binary Search Trees; Red-Black Trees: Properties of red-black trees, Rotations, Insertion, Deletion; Augmenting Data Structures: Dynamic order statistics, How to augment a data structure, Interval trees. UNIT-03 06 Advanced Design and Analysis Technique Dynamic Programming: Elements of dynamic programming, Optimal binary search trees, Greedy Algorithms: Elements of the greedy strategy, Huffman codes, Theoretical foundations for greedy methods, A task-scheduling problem, Amortized Analysis: Aggregate analysis, the accounting method, the potential method, Dynamic tables. UNIT-04 06 Advanced Data Structures B-Trees: Definition of B-trees, Basic operations on B-trees, deleting a key from a Btree Data Structures for Disjoint Sets: Disjoint-set operations, Linked-list representation of disjoint sets, Disjoint-set forests. UNIT-05 08 Advanced Graph Algorithms Breadth First and Depth First Search, minimum spanning trees, shortest path algorithms: single source and all pair, max flow problem and its solutions. linear Programming - Standard and Slack forms, Formulating problems as linear programs, simplex Algorithm, representation of polynomials, DFT and FFT. UNIT-06 05 String Matching and Approximate Algorithms Rabin Karp algorithm, String matching with finite automaton, Knuth-Morris-Pratt algorithm. Approximate Algorithms - Approximate algorithms for vertex cover problem, traveling sales person problem, sum-subset problem Annexure V UNIT-07 06 NP-Completeness Concepts Polynomial time verification, NP-completeness and reducibility, showing problems to be NP-complete like Clique problem, vertex cover problem. . Learning Outcome After completion of the course, student will be able to: 1. Design and analysis techniques such as greedy algorithms, dynamic programming 2. Use different computational models such as divide-and-conquer to analyze the complexity/performance of different algorithms. Textbook: Cormen, Leiserson, Rivest, Stein, “Introduction to Algorithms”, Prentice Hall of India. Reference Books: 1. Horowitz, Sahini, “Fundamentals of algorithms”, University Press. 2. Brassard, Bratley, “Fundamentals of algorithms”, Prentice Hall of India. 3. Knuth, “The Art of Computer Programming”, Vol. I-III, Pearson Education. 4. Kleinberg and Tardos, “Algorithm Design”, Pearson Addison-Wesley Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6103 Subject: Software Testing and Quality Assurance L T P C 4 0 0 4 Credits:4 Course Objective: This course presents a comprehensive study of software testing and quality control concepts, principles, methodologies, management strategies and techniques. The emphasis here is on understanding software testing process, and testing methods, as well as software quality assurance concepts. UNIT 01 06 Introduction Terminology, Evolving nature of area, Errors, Faults and Failures, Correctness and reliability, Testing and debugging, Static and dynamic testing, Exhaustive testing: Theoretical foundations: impracticality of testing all data, impracticality of testing all paths, no absolute proof of correctness, Black Box Testing and White Box Testing. UNIT 02 08 Software Testing Approaches And Their Applicability Software technical reviews; Software testing: levels of testing module, integration, system, regression; Testing techniques and their applicability-functional testing and analysis, structural testing and analysis, error-oriented testing and analysis, hybrid approaches, integration strategies, transaction flow analysis, stress analysis, failure analysis, concurrency analysis, performance analysis; Proof of correctness; simulation and prototyping; Requirement tracing. UNIT 03 06 Test Generation Test generations from requirements, Test generation paths, Data flow analysis, Finite State Machines models for flow analysis, Regular expressions based testing, Test Selection, Minimizations and Prioritization, Regression Testing, Web Testing. UNIT 04 05 Object Oriented Testing Object Oriented Testing Issues, OO Testing Methodologies, Analysis and Design Testing-UML Based, Class Testing, Integration Testing, Testing Hierarchies. UNIT 05 Software Quality Assurance Concepts And Standards 07 Annexure V Quality Concepts, Quality Control, Quality Assurance, SQA Activities, Software Reviews, Formal Technical Reviews, Review Guidelines, Software Reliability, Software Safety, Quality Assurance Standards, ISO 9000, ISO 9001:2000, ISO 9126 Quality Factors, CMM, TQM, Six Sigma, SPICE, Software Quality Assurance Metrics. UNIT 06 05 Risk Management And Change Management Software Risks, Risk Identification, Risk Projection, Risk Refinement, The RMMM Plan, Software Configuration Management, Baselines, Software Configuration Items, UNIT 07 05 SCM Process SCM Process: Version Control, Change Control, Configuration Audit, Configuration Management for Web Engineering. Learning Outcome After completion of the course, student will be able to: 1. Demonstrate different software testing techniques. 2. Evaluate risk management and change management. Textbook: 1. Boris Beizer, Software Testing Techniques, John Wiley & Dreamtech. Reference Books: 1. William E. Perry, Effective Methods for Software Testing, John Wiley & Sons. 2. Aditya P. Mathur, Foundations of Software Testing, Pearson Education. 3. Glenford J. Myers, The Art of Software Testing, Wiley India Pvt. Ltd. 4. John D. McGregor & David A, A practical guide to testing object-oriented software, Addison- Wesley object technology series. 5. R.S. Pressman, Software Engineering: A Practitioner's Approach, Sixth Edition, Tata McGraw-Hill. Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6104 L T P C 4 0 0 4 Subject: Distributed Operating System Credits: 4 Course Objective This course provides an introduction to the fundamentals of distributed computer systems, assuming the availability of facilities for data transmission. The structure of distributed systems using multiple levels of software is emphasized. UNIT-01 08 Architectures of Distributed Systems System Architecture types - issues in distributed operating systems - communication networks – communication primitives. Theoretical Foundations - inherent limitations of a distributed system – lamp ports logical clocks – vector clocks – casual ordering of messages – global state – cuts of a distributed computation – termination detection. UNIT-02 04 Distributed Mutual Exclusion Distributed Mutual Exclusion – introduction – the classification of mutual exclusion and associated algorithms – a comparative performance analysis. UNIT-03 05 Distributed Deadlock Detection Introduction - deadlock handling strategies in distributed systems – issues in deadlock detection and resolution – control organizations for distributed deadlock detection – centralized and distributed deadlock detection algorithms –hierarchical deadlock detection algorithms. UNIT-04 06 Distributed shared memory-Architecture Algorithms for implementing DSM – memory coherence and protocols – design issues. Distributed Scheduling – introduction – issues in load distributing – components of a load distributing algorithm – stability – load distributing algorithm – performance comparison – UNIT-05 08 Failure Recovery and Fault Tolerance Failure Recovery and Fault tolerance: introduction– basic concepts – classification of failures – backward and forward error recovery, backward error recovery- recovery in concurrent systems – consistent set of check points – synchronous and asynchronous check pointing and recovery – check pointing for distributed database systemsrecovery in replicated distributed databases. UNIT-06 Protection and security 06 Annexure V Preliminaries, the access matrix model and its implementations.-safety in matrix model- advanced models of protection. UNIT-07 08 Multiprocessor operating systems Basic multiprocessor system architectures – inter connection networks for multiprocessor systems – caching – hypercube architecture. Multiprocessor Operating System - structures of multiprocessor operating system, operating system design issues- threads- process synchronization and scheduling. Learning Outcome After completion of the course, student will be able to: 1. Demonstrate what a distributed system is, why one would design a system as a distributed system, desired properties of such systems. 2. Evaluate the problems and challenges associated with these principles, and evaluate the effectiveness and shortcomings of their solutions; recognise how the principles are applied in contemporary distributed systems, 3. Demonstrate how they affect the software design, and be able to identify features and design decisions that may cause problems. 4. Design a distributed system that fulfils requirements with regards to key distributed systems properties (such as scalability, transparency,etc). Textbook: 1. Andrew S.Tanenbaum, "Distributed operating system", Pearson education, 2003. Reference Books: 2. Mukesh Singhal, Niranjan G.Shivaratri, "Advanced concepts in operating systems: Distributed Database and multiprocessor operating systems", TMH, 2001. 3. Andrew S.Tanenbaum, "Modern operating system", PHI, 2003 4. Pradeep K.Sinha, "Distributed operating system-Concepts and design", PHI, 2003. Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6105 L T P C 4 0 0 4 Subject: Advanced computer architecture Credits:4 Course Objective The main objective of this course is to provide students with an understanding and appreciation of the fundamental issues and tradeoffs involved in the design and evaluation of modern computers. Topics will include, design and evaluation of instruction set architectures, pipelining techniques, multi-level memory hierarchies, superscalar processor design, multi-threading and multi-processing. UNIT 01 06 Basic organization and architectural techniques RISC processors, Characteristics of RISC processors, RISC Vs CISC, Classification of Instruction Set Architectures, Review of performance measurements. UNIT 02 06 parallel processing techniques Basic parallel processing techniques: instruction level, thread level and process level, Classification of parallel architectures. UNIT 03 10 Instruction level parallelism Basic concepts of pipelining, Arithmetic pipelines, Instruction pipelines, Hazards in a pipeline: structural, data, and control hazards, Overview of hazard resolution techniques. UNIT 04 06 Vector Pipelining, Dynamic instruction scheduling, Branch prediction techniques, Instruction-level parallelism using software approaches, Superscalar techniques, Speculative execution. UNIT 05 06 Memory hierarchies Inclusion, Coherence and locality properties; Cache memory organizations, Techniques for reducing cache misses; Virtual memory organization, mapping and management techniques, memory replacement policies. UNIT 06 06 Thread level parallelism Centralized vs. distributed shared memory, Interconnection topologies, Multiprocessor architecture, Symmetric multiprocessors, Cache coherence problem, Annexure V Synchronization, Memory consistency, Multi-core architecture. UNIT 07 Review of modern processors Pentium Processor: IA 32 and P6 micro architectures, ARM Processor. 04 Learning Outcome After completion of the course, student will be able to: 1. Design modern memory system techniques including single and multi-level cache and virtual memory 2. Evaluate processor pipeline issues, including pipeline hazards and associated mitigation techniques. 3. Demonstrate advanced scheduling techniques and instruction-level parallelism used in modern super-scalar processors. 4. Analyze relevant design issues for multiprocessor systems, including cache coherency issues Textbook: 1. Advanced Computer Architectures – A Design space approach, Dezso Sima, Terence Fountain, Peter Kacsuk, Pearson Education 1997. Reference Books: 1. K Hwang, Advanced Computer Architecture, Tata McGraw-Hill Education, 2003 2. David E. Culler, Jaswider Pal, Parallel computer Architecture, Gulf Professional Publishing, 1999 3. John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach, Third Edition, Morgan Kaufmann, May 2002. Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6106 L T P C 0 0 2 1 Subject: Object Oriented Analysis and Design Lab Credits:01 Course Objective: The main objective of this laboratory is to implement Object oriented Programming. Students will be able to design various diagrams with rational rose. 1: To implement inheritance in OOP. 2: To implement polymorphism in OOP. 3: To prepare DSP for a case study. 4: To implement class diagram using rational rose. 5: To implement object diagram using rational rose. 6: To implement use case diagram using rational rose. 7: To implement activity diagram using rational rose. 8: To implement state chart diagram using rational rose. 9: To implement sequence diagram using rational rose. 10: To implement collaboration diagram using rational rose. 11: To implement component diagram using rational rose. 12: To implement deployment diagram using rational rose. Learning Outcome 1. Design and implement object oriented programming. 2. Designing of various diagrams using rational rose. Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6107 L T P C 0 0 2 1 Subject: Advanced Data Structures and Algorithms Lab Credits:01 Course Objective The main objective of this laboratory is to design and implement various basics and advanced data structure algorithms. 1. Implement singly and doubly linked lists. 2. Represent a polynomial as a linked list and write functions for polynomial addition. 3.Implement stack and use it to convert infix to postfix expression 4.Implement array-based circular queue and use it to simulate a producer-consumer problem. 5. Implement an expression tree. Produce its pre-order, in-order, and post-order traversals. 6. Implement binary search tree. 7. Implement insertion in AVL trees. 8. Implement priority queue using heaps. 9. Implement hashing techniques. 10. Perform topological sort on a directed graph to decide if it is acyclic. 11. Implement Dijkstra's algorithm using priority queues. 12. Implement Prim's and Kruskal's algorithms. 13. Implement a backtracking algorithm for Knapsack problem. 14. Implement a branch and bound algorithm for traveling salesperson problem. 15. Implement any randomized algorithm. 16 Implement the following sorting methods: a) Merge sort b) Quick Sort c) Selection Sort Learning Outcome 1. Implement data structure algorithm using object oriented approach. 2. Designing of various data structure algorithm. Annexure V 1st Semester: M.tech (CSE) Subject Code: CS 6108 L T P C 0 0 2 1 Subject: Distributed Operating System Lab Credits:01 Course Objective The main objective of this laboratory is to design and implement various distributed system programs using JAVA or object oriented code. 1. Write a program to simulate the functioning of Lamport’s logical clock in 'C’. 2. Write a program to simulate the Distributed Mutual Exclusion in ‘C’. 3. Write a program to implement a Distributed chat server using TCP sockets in ‘C’. 4. Implement RPC mechanism for a file transfer across a network in ‘C’. 5. Write a JAVA code to implement ‘Java RMI’ mechanism for accessing methods of remote systems. 6. Write a code in ‘C’ to implement sliding window protocol 7. Implement corba mechanism by using c++ program at one end and java program at the other 8. Write a Program to implement Concurrent Echo Client Server Application. 9. Write the Programs for Remote Procedure call. 10. Write the Programs for Remote Method Invocation. 11. Write the Programs for Thread Programming in JAVA. 12. Write a Program to Increment a Counter in Shared Memory. Learning Outcome 1. Design algorithm for various distributed system programs. 2. Implementing various distributed system programs in JAVA code.
© Copyright 2026 Paperzz