Competitive Problem-Solving using Python with DSA & System Design– 150 hrs.
Program Objective
To equip students with the skills needed for software
engineering roles by enhancing:
Problem-solving and programming abilities using
Python.
Understanding and application of Data Structures and
Algorithms (DSA).
System-level design and project development.
Program Structure
Curriculum Modules:
Problem-solving using Core Python – 40 hrs.
- Conditions, control statements
- Functions, scope
- File handling
- Lists, tuples, sets, dictionaries
- Exception handling
Advance Python – 30 hrs.
- OOPs (Object-Oriented Programming)
- Regular Expression
- Unit Testing
Data Structures using Python – 30 hrs.
- Stacks
- Queues
- Linked Lists
- Trees
Design and Analysis of Algorithms – 30 hrs.
- Searching and Sorting (Linear, Binary, Bubble, Insertion, Merge, Quick)
- Recursion and Backtracking
- Divide and Conquer
- Greedy Algorithms
- Dynamic Programming
System Design Concepts
- Introduction to Low-Level and High-Level Design
- SOLID Principles and real-world design problems
Problem Solving Practice
- Hands-on coding with visible and hidden test cases
- Debugging edge cases and optimizing solutions
Program Outcomes
After completing this program, learners will be able to:
- Analyze and solve computational problems using Python with structured, modular approaches.
- Implement efficient solutions using appropriate data structures and algorithms.
- Apply object-oriented principles and advanced Python features in project development.
- Design and develop end-to-end system-level applications.
- 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.
Experiential Project Based Learning
Project Based on Data Structures
Tools / Platform:
Python IDLE/ VS Code.
| Problem Solving using Core Python (30 hrs.) | ||
|---|---|---|
| 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 |
| Competitive Problem-Solving using Core Python: Sample Program List | ||
| Viral Advertising, | Printing Patterns | Kaprekar Number |
| Birthday Cake Candles | Migratory Birds | Array Rotation |
| Advance Python (30 hrs.) | ||
|---|---|---|
| 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 |
| Data Structures using Python (30 hrs.) | ||
|---|---|---|
| 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 |
| Competitive Problem-Solving using Data Structure: Sample Program List | ||
| 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 (30 hrs.) | ||
|---|---|---|
| Introduction to Algorithms | Time and Space Complexity | Asymptotic notations: Bit-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 |
| System Design using Python and Project – (30 hrs.) | ||
|---|---|---|
| Introduction to System Design | Difference between algorithmic problem-solving and system level thinking | System Design Process |
| Modular Programming and Project Structuring | Organizing large Project (Packages, modules, imports) | Designing reusable modules |
| Object-Oriented Design in System Development | Data Management | Designing robust exception handling frameworks |
