Competitive Problem-Solving using Python with DSA & System Design
Durations -20 days.
Program Structure
- Competitive Problem-solving using Core Python – 5 days Conditions, control statements, Functions, scope, file handling, Lists, tuples, sets, dictionaries, Exception handling, OOPs, Regular Expression, Unit Testing.
- Competitive Problem Solving with Data Structures using Python – 5 days Stacks, Queues, Linked Lists, Trees.
- Design and Analysis of Algorithms – 5 days
- Searching and Sorting (Linear, Binary, Bubble, Insertion, Merge, Quick)
- Recursion and Backtracking
- Divide and Conquer
- Greedy Algorithms
- Dynamic Programming
Project:
Project Based on Data StructuresAssessment –
MCQ’s , Module TestExperiential Project Based Learning
- Project Based on Data Structures
Program Outcomes
- Implement efficient solutions using appropriate data structures and algorithms
- Apply object-oriented principles and advanced Python features in project development
- Evaluate program efficiency using space and time complexity concepts
- Confidently tackle coding challenges on platforms such as HackerRank, LeetCode, CodeChef, and GeeksforGeeks
- Demonstrate job-readiness for software development and technical interviews
Tools / Platform:
- Python IDLE/ VS Code.
| Competitive Problem Solving using Core Python – 5 days | ||
|---|---|---|
| Introduction to Python | Python Data types and Conditions | Control Statements |
| Python Functions | Default arguments | Functions with variable number of args |
| Scope of Variables | Global specifier | Working with multiple files |
| List and Tuple | List Methods | List Comprehension |
| Map and filter functions | String | List comprehension with conditionals |
| Set and Dictionary | Exception Handling | File Handling |
| Viral Advertising, | Printing Patterns | Kaprekar Number |
| Birthday Cake Candles | Migratory Birds | Array Rotation |
| Pangram String | Anagram String | Palindrome Index |
| Encryption: Caesar Cipher | Game of Thrones | Utopian Tree |
| Object-Oriented Programming | Classes and Objects | Inheritance |
| Magic Methods | Dunders | Regular Expression |
| Collection Library | Iterators & Generators | Unit Testing |
| Competitive Problem-Solving with Data Structure using Python – 5 days | ||
| Data Structures | Implement a Stack using user-defined class and List. | Implement a Queue using user-defined class and List. |
|---|---|---|
| Implement linked list in Python. | Time Complexity & Space Complexity | Trees |
| Binary Search Tree | Tree Traversal | Binary Search Tree |
| Parenthesis Matching using Stack | Super Reduced String using Stack | Max Element in Stack with O(1) |
| Insert node at Front / Rear | Delete node at Front/Rear | Reverse a Linked List |
| Compare two Linked List | Merge two Sorted Linked List | Delete duplicate value nodes |
| Cycle Detection | Tree Traversals: InOrder, PreOrder, PostOrder, LevelOrder | Height of Tree |
| Search in BST | Expression Tree | |
| Design and Analysis of Algorithms – 5 days | ||
| Introduction to Algorithms | Time and Space Complexity | Asymptotic notations: Big-O |
| Brute Force | Divide and Conquer | Greedy Algorithm |
| Recursion | Dynamic Programming | Backtracking |
| Introduction to Graph | Graph Representation | Graph Traversal |
| Breadth First Search (BFS) | Depth First Search (DFS) | Minimum Spanning Tree |
| Prims Algorithm | Kruskals Algorithm | Single Source Shortest Path |
| Dijkstra’s Algorithm | Floyd Algorithm | Warshall Algorithm |
| N-Queens Problem | 0/1 Knapsack | Topological Sequencing |
