MTRA-107	ADVANCED DATA STRUCTURE AND PROGRAMMING
Lecture	Tutorial	Practical	Credit	Major Test	Minor Test	Total	Time
3	0	0	3	60	40	100	3 Hrs.
Program Objective (PO)	The goal of this course is to provide an introduction to different data types, Python and JavaScript programming. The course will discuss topics necessary for the participant to be able to create and execute programs in Python and JavaScript which are essential ingredients of Artificial Intelligence. The lectures and presentations are designed to provide knowledge and experiences to students that serve as a foundation for continued learning of presented areas. The focus of the course is to provide students with an introduction to programming, I/O, and visualization using Python and JavaScript programming languages.
Course Outcomes (CO)
CO1	Have knowledge of arranging data in different ways
CO2	Describe the Numbers, Math functions, Strings, List, Tuples and Dictionaries in Python
CO3	Express different Decision Making statements and Functions
CO4	Understand and summarize different File handling operations in Python Design and develop Client Server network applications using JavaScript 6. JavaScript to program the behavior of web.

##### UNIT-1

Data Structures Arrays and Strings, Algorithm Development, Complexity analysis, Recursion, Linear Data Structures, Stacks, Queues, Circular Queues, Links Lists, Operation - Creations, insertion, Deletion, Circular Lists, Doubly Linked List.

UNIT-2 Trees : Definition, Basic Terminology, Binary Tree, External and Internal Nodes, Static and Dynamic Trees : Definition, Basic Terminology, Binary Tree, External and Internal Nodes, Static and Dynamic Implementation of a Binary Tree, Primitive Operations on Binary Trees, Binary Tree Traversals: Pre-Order, In-Order and Post-Order Traversals. Representation of Infix, Post-Fix and Prefix Expressions using Trees. Introduction to Binary Search Trees: B+ trees, AVL Trees, Threaded Binary trees, Balanced Multi-way search trees, Implementation of Heap Sort Algorithm. Graphs : Basic Terminology, Definition of Undirected and Directed Graphs, Memory Representation of Graphs, Minimum-Spanning Trees, Warshal Algorithm, Graph Traversals Algorithms: Breadth First and Depth First.

##### UNIT-3

Python Programming Introduction, gitHub, Functions, Booleans and Modules, Sequences, Iteration and String Formatting, Dictionaries, Sets, and Files, Exceptions, Testing, Comprehensions, Advanced Argument Passing, Lambda -- functions as objects, Object Oriented Programming, More OO -- Properties, Special methods, Iterators, Iterables, and Generators, Decorators, Context Managers, Regular Expressions, and Wrap Up.

##### UNIT-4

JavaScript Basics, Functional programming, Object oriented programming, Client-side applications, Server- side applications, Design patterns and Idioms, Popular frameworks.

##### Reference Books:

- 1. Theory and Problems of Data Structures by Jr. Symour Lipschetz, Schaum's outline, TMH.
- 2. Data Structures and Algorithms by PAI, TMH.
- 3. Fundamentals of Data structures by Ellis Horowitz and Sartaj Sahni, Pub, 1983, AW.
- 4. Data Structures and Algorithms by A.V. Aho, J.E. Hopcroft and T.D. Ullman, Original edition, Addison-Wesley, 1999
- 5. Data Structures and Program Design in C by Robert Kruse, PHI,
- 6. Shukla, Data Structures using C++, Wiley India
- 7. Introduction to Computers Science -An Algorithms Approach, Jean Paul Tremblay, Richard B. Bunt, 2002, T.M.H.
- 8. Data Structure and the Standard Template library - Willam J. Collins, 2003, T.M.H.

Note for paper setter for paper setter : Eight question will be set in all. Two questions from each unit. The candidate will be required to attempt four question in all and selecting one question from each unit.