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

Python - I Syllabus

Python – 1

Unit – I

 Introduction to Python: Python, Features of Python, Execution of a Python Program, Viewing the Byte Code, Flavors of Python, Python Virtual Machine, Frozen Binaries, Memory Management in Python, Garbage Collection in Python, Comparisons between C and Python, Comparisons between Java and Python.
 Writing Our First Python Program: Installing Python for Windows, Installing numpy, Setting the Path to Python, Writing Our First Python Program, Executing a Python Program, Getting Help in Python, Getting Python Documentation Help, Reopening the Python Program in IDLE.
 Data types in Python: Comments in Python, Doc strings, How Python Sees Variables, Data types in Python, Built-in data types, bool Data type, Sequences in Python, Sets, Literals in Python, Determining the Data type of a Variable, What about Characters, User-defined Data types, Constants in Python, Identifiers and Reserved words, Naming Conventions in Python.

 Unit – II 

Operators in Python: Arithmetic Operators, Assignment Operators, Unary Minus Operator, Relational Operators, Logical Operators, Boolean Operators, Bitwise Operators, Membership Operators, Identity Operators, Operator Precedence and Associativity, Mathematical Functions.
 Input and Output: Output statements, Input Statements, Command Line Arguments.
Control Statements: Control Statements, The if Statement, A Word on Indentation, The if … else Statement, The if … elif … else Statement, The while Loop, The for Loop, Infinite Loops, Nested Loops, The else Suite, The break Statement, The continue Statement, The pass Statement, The assert Statement, The return Statement.

Text     R. Nageswara Rao, Corer Python Programming, Dreamtech Press 

Programming in C++ Syllabus

Programming in C++

Unit – I 

Introduction to C++: 
Applications, Example Programs, Tokens, Data Types, Operators, Expressions, Control Structures, Arrays, Strings, Pointers, Searching and Sorting Arrays.
 Functions: Introduction, Prototype, Passing Data by Value, Reference Variables, Using Reference Variables as Parameters, Inline Functions, Default Arguments, Overloading Functions, Passing Arrays to Functions.
Object Oriented Programming: Procedural and Object-Oriented Programming, Terminology, Benefits, OOP Languages, and OOP Applications.

 Unit – II

Classes: Introduction, Defining an Instance of a Class, Why Have Private Members? Separating Class Specification from Implementation, Inline Member Functions, Constructors, Passing Arguments to Constructors, Destructors, Overloading Constructors, Private Member Functions, Arrays of Objects, Instance and Static Members, Friends of Classes, Member-wise Assignment, Copy Constructors, Operator Overloading, Object Conversion, Aggregation.

Unit – III

 Inheritance: Introduction, Protected Members and Class Access, Base Class Access Specification, Constructors and Destructors in Base and Derived Classes, Redefining Base Class Functions, Class Hierarchies, Polymorphism and Virtual Member Functions, Abstract Base Classes and Pure Virtual Functions, Multiple Inheritance.
 C++ Streams: Stream Classes, Unformatted I/O Operations, Formatted I/O Operations.

Unit – IV

Exceptions: Introduction, Throwing an Exception, Handling an Exception, Object-Oriented Exception Handling with Classes, Multiple Exceptions, Extracting Data from the Exception Class, Re-throwing an Exception, Handling the bad_alloc Exception.
Templates: Function Templates–Introduction, Function Templates with Multiple Type, Overloading with Function Templates, Class Templates – Introduction, Defining Objects of the Class Template, Class Templates and Inheritance, Introduction to the STL.

 Text Tony Gaddis, Starting out with C++: from control structures through objects (7e)

C++ Lab


Programming in 'C' Syllabus

Programming in C 

 Unit – I 

Computer Fundamentals: Introduction of Computers, Classification of Computers, Anatomy of a Computer, Memory Hierarchy, Introduction to OS, Operational Overview of a CPU.
 Program Fundamentals: Generation and Classification of Programming Languages, Compiling, Interpreting, Loading, Linking of a Program, Developing Program, Software Development. Algorithms: Definitions, Different Ways of Stating Algorithms (Step-form, Pseudo-code, Flowchart), Strategy for Designing Algorithms, Structured Programming Concept. 
Basics of C: Overview of C, Developing Programs in C, Parts of Simple C Program, Structure of a C Program, Comments, Program Statements, C Tokens, Keywords, Identifiers, Data Types, Variables, Constants, Operators and Expressions, Expression Evaluation–precedence and associativity, Type Conversions.

Unit – II 

Input-Output: Non-formatted and Formatted Input and Output Functions, Escape Sequences, Control Statements: Selection Statements – if, if-else, nested if, nested if-else, comma operator, conditional operator, switch; Iterative Statements–while, for, do-while; Special Control Statement–goto, break, continue, return, exit. 
Arrays and Strings: One-dimensional Arrays, Character Arrays, Functions from ctype.h, string.h, Multidimensional Arrays.

 Unit – III 

Functions: Concept of Function, Using Functions, Call-by-Value Vs Call-by-reference, Passing Arrays to Functions, Score of Variables, Storage Classes, Inline Functions, and Recursion. 
Pointers: Introduction, Address of Operator (&), Pointer, Uses of Pointers, Arrays and Pointers, Pointers and Strings, Pointers to Pointers, Array of Pointers, Pointer to Array, Dynamic Memory Allocation. 

Unit – IV 

User-defined Data Types: Declaring a Structure (Union) and its members, Initialization Structure (Union), Accessing members of a Structure (Union), Array of Structures (Union), Structures verses Unions, Enumeration Types. 
Files: Introduction, Using Files in C, Working with Text Files, Working with Binary Files, Files of Records, Random Access to Files of Records, Other File Management Functions. Text Pradip Dey, Manas Ghosh, Computer Fundamentals and Programming in C (2e)

C Lab

1 Write a program to find the largest two (three) numbers using if and conditional operator. 
2 Write a program to print the reverse of a given number.
 3 Write a program to print the prime number from 2 to n where n is given by user.
 4 Write a program to find the roots of a quadratic equation using switch statement.
 5 Write a program to print a triangle of stars as follows (take number of lines from user):
 * 
* * * 
* * * * * 
* * * * * * *
 * * * * * * * * *
 6 Write a program to find largest and smallest elements in a given list of numbers.
 7 Write a program to find the product of two matrices..
 8 Write a program to find the GCD of two numbers using iteration and recursion. 
9 Write a program to illustrate use of storage classes. 
10 Write a program to demonstrate the call by value and the call by reference concepts. 
11 Write a program that prints a table indicating the number of occurrences of each alphabet in the text entered as command line arguments.
 12 Write a program to illustrate use of data type enum.
 13 Write a program to demonstrate use of string functions string.h header file.
 14 Write a program that opens a file and counts the number of characters in a file. 
15 Write a program to create a structure Student containing fields for Roll No., Name, Class, Year and Total Marks. Create 10 students and store them in a file.
 16 Write a program that opens an existing text file and copies it to a new text file with all lowercase letters changed to capital letters and all other characters unchanged. 

Note : Write the Pseudo Code and draw Flow Chart for the above programs. Recommended to use Open Source Software: GCC on Linux; DevC++ (or) CodeBlocks on Windows 10.