TOPICS 1 Getting User Input 2 Conditional Statements 3 Data Types 4 Variables Types (String, numeric, Boolean) 5 Loops in Python 6 Introduction to Loops 7 Conditions in Python 8 Conditions: Exception to the Rule 9 Functions in Python 10 Python Programming Coding - Revision 11 Creating Calculations 12 Regex in Python 13 Python File Manipulation 14 Try Catch statements 15 Linear Search 16 Binary Search 17 Sorting Algorithms: 18 Bubble Sort 19 Selection Sort 20 Insertion Sort 21 Merge Sort 22 Quick Sort 23 Heap Sort 24 Counting Sort 25 OOP Introduction 26 Classes and Objects 27 Attributes and Methods in Classes 28 Inheritance 29 Polymorphism 30 Encapsulation 31 Abstraction 32 Class and Instance Variables 33 Class Methods and Instance Methods 34 Operator Overloading in Python 35 Multiple Inheritance 36 Composition and Aggregation 37 Abstract Classes and Interfaces 38 Design Patterns in Python 39 Exception Handling in OOP 40 Testing in OOP 41 Code Organization and Documentation in OOP 42 Best Practices in OOP 43 OOP Project - Design and Implementation 44 OOP Project - Testing and Debugging 45 Introduction to Data Structures 46 Definition and Importance 47 Types of Data Structures 48 Arrays 49 Introduction to Arrays 50 Operations on Arrays (Insertion, Deletion, Traversal) 51 Multidimensional Arrays 52 Dynamic Arrays 53 Linked Lists 54 Singly Linked Lists 55 Doubly Linked Lists 56 Circular Linked Lists 57 Operations on Linked Lists 58 Stacks 59 Introduction to Stacks 60 Stack Operations (Push, Pop) 61 Applications of Stacks 62 Implementing Stacks using Arrays and Linked Lists 63 Queues 64 Introduction to Queues 65 Queue Operations (Enqueue, Dequeue) 66 Priority Queues 67 Implementing Queues using Arrays and Linked Lists 68 Trees 69 Introduction to Trees 70 Binary Trees 71 Heap and Heap Sort 72 Graphs