Monday 27 January 2020

Friday 29 June 2018

Data Structures using C++ Syllabus

Data Structures

Unit – I

 Fundamental Concepts: Introduction to Data Structures, Types of Data Structures, Introduction to Algorithm, Pseudo-code, Flow Chart, Analysis of Algorithms.
Linear Data Structure Using Arrays: 1-D Arrays, 2-D Arrays, N-D Arrays, Memory Representation and Address Calculation of 1-D, 2-D, N-D Arrays, Concept of Ordered List, String Manipulation, Pros and Cons of Arrays.
Stacks: Concept, Primitive Operations, Abstract Data Type, Representation Stacks Using Arrays, Prefix, Infix, Postfix Notations for Arithmetic Expression, Applications of Stacks– Converting Infix Expression to Postfix Expression, Evaluating the Postfix Expression, Checking Well-formed (Nested) Parenthesis, Processing of Function Calls, Reversing a String.

 Unit – II 

Recursion: Introduction, Recurrence, Use of Stack in Recursion, Variants of Recursion, Execution of Recursive Calls, Recursive Functions, Iteration versus Recursion.
Queues: Concept, Primitive Operations, Abstract Data Type, Representation Queues Using Arrays, Circular Queue, Double-Ended Queue, Applications of Queues.
Linked Lists: Introduction, Concept, Terminology, Primitive Operations-creating, inserting, deleting, traversing, Representation of Linked Lists, Linked List Abstract Data Type, Linked List Variants - Singly Linked List, Doubly Linked List, Linear and Circular Linked List, Representation Stacks and Queues Using Linked Singly Lists, Application of Linked List–Garbage Collection.

Unit – III 

Trees: Introduction, Representation of a General Tree, Binary Tree Introduction, Binary Tree Abstract Data Type, Implementation of Binary Trees, Binary Tree Traversals – Preorder, Inorder, Postorder Traversals, Applications of Binary Trees Briefly.
Graphs: Introduction, Graph Abstract Data Type, Representation of Graphs, Graph Traversal – Depth-First Search, Breadth-First Search, Spanning Tree – Prim’s Algorithm, Kruskal’s Algorithm. Hashing: Introduction, Hash Functions, Collision Resolution Strategies.

Unit – IV

Searching and Sorting: Sequential (Linear) Search, Binary Search, Bubble Sort, Insertion Sort, Selection Sort, Quick Sort, Merge Sort, and Comparison of Sorting Techniques.
Heaps: Concept, Implementation, Abstract Data Type, Heap Sort.

 Text   Varsha H. Patil, Data Structures Using C++

Data Structures Lab 




Software Engineering Syllabus

Software Engineering

Unit – I

Software Engineering – Introduction, Program Versus Software, Software Engineering, Software Development Process and its Stages, Generic Software Development Process Models, Code of Ethics and Professional Practice, Software Development and Maintenance Cost Breakup.
Requirement Engineering Processes – Requirement Engineering Process, Feasibility Study, Cost and Benefit Analysis, Requirement Specification, Characteristics of a Good Requirement and Validation Techniques, Requirements Management Planning, Process of Requirement Change Management.
Software Requirement Specifications – Introduction, Stakeholder Analysis, Software Requirements Document, IEEE Standard of Software Requirement Specifications, Organizing Functional Requirements, Traceability and Validation of Specifications.

Unit – II 

Architectural Styles – Introduction, Architecture Styles, Object Oriented Architecture, Inter-organizational Communication, Cloud Computing Architecture Style, Core, Configurable and Customizable Architecture, Design Models, Architectural Design Principles.
Object Oriented System Analysis – Introduction, Object Oriented Design, Object Oriented Design Models, Object Oriented Analysis, Data Modeling, Comparison Between Top Down Structured and Object Oriented Analysis, Description of Logical and Static Modeling, Identification of Class Relationships.
 Object Oriented Design Using UML – Introduction, Sequence Diagram, State Machine Diagram, Timing Diagram, Describing Detailed Object Oriented Design, Decision Tree and Decision Table, Composite Structure Diagram, Generating Test Cases, Moving Towards Physical Design, Structured Methods.

Unit – III 

Software Development – Introduction, Good Coding Practices, Code Reuse, Design Pattern, Generator Based Reuse, Application/Software Developed on Product Lines Approach, Component Based Software Engineering, Agile Methods.
Verification, Validation and Software Testing – Introduction, Software Verification and Validation Process, Software Testing, System Testing, Object Oriented Testing Strategy, Test Cases, Equivalence Partitioning (Black Box Testing), Art of Debugging.
Measurement and Metrics for Assessing Software Quality – Introduction, ISO 9126 Quality Standards, Quality Management Models, Ways to Build Quality in Software, Software Quality Control and Metrics, Defect Density Metrics, Chidamber and Kemerer Metric Suites for Object Oriented System, Class Coupling Metric-Coupling Between Objects, Monitoring Dynamic Quality Attributes (Visible Externally) of a Software.

 Text     Rajesh Narang, Software Engineering: Principles and Practices

Software Engineering Lab


Programming in Java Syllabus

Programming in Java

Unit – I 

Introduction: Java Essentials, JVM, Java Features, Creation and Execution of Programs, Data Types, Type Conversion, Casting, Conditional Statements, Loops, Branching Mechanism, Classes, Objects, Class Declaration, Creating Objects, Method Declaration and Invocation, Method Overloading, Constructors– Parameterized Constructors, Constructor Overloading, Cleaning-up unused Objects, Class Variables & Methods-static Keyword, this Keyword, One-Dimensional Arrays, Two-Dimensional Arrays, Command-Line Arguments, Inner Class.
Inheritance: Introduction, Types of Inheritance, extends Keyword, Examples, Method Overriding, super, final Keywords, Abstract classes, Interfaces, Abstract Classes Verses Interfaces.

 Unit – II

 Packages–Creating and Using Packages, Access Protection, Wrapper Classes, String Class, StringBuffer Class.
Exception: Introduction, Types, Exception Handling Techniques, User-Defined Exception. Multithreading: Introduction, Main Thread, Creation of New Threads – By Inheriting the Thread Class or Implementing the Runnable Interface, Thread Lifecycle, Thread Priority, Synchronization. Input/Output: Introduction, java.io Package, File Class, FileInputStream Class, FileOutputStream Class, Scanner Class, BufferedInputStream Class, BufferedOutputStream Class, RandomAccessFile Class.

Unit – III 

Applets: Introduction, Example, Life Cycle, Applet Class, Common Methods Used in Displaying the Output. Event Handling: Introduction, Types of Events, Example. AWT: Introduction, Components, Containers, Button, Label, Checkbox, Radio Buttons, Container Class, Layouts. Swing: Introduction, Differences between Swing and AWT, Jframe, Japplet, Jpanel, Components in Swings, Layout Managers, Jtable, Dialog Box.
 Database Handling Using JDBC: Introduction, Types of JDBC Drivers, Load the Driver, Establish Connection, Create Statement, Execute Query, Iterate Resultset, Scrollable Resultset, Developing a JDBS Application.

 Text     Sachin Malhotra, Saurabh Choudhary, Programming in Java (2e)

Java Lab