0% found this document useful (0 votes)
2 views12 pages

Python With Data Structures PACE

The document outlines a 48-hour intermediate placement preparation program focused on Python programming, data structures, and algorithms for pre-final and final-year undergraduate students. It includes modules covering topics such as problem-solving, arrays, strings, searching and sorting algorithms, recursion, linked lists, stacks, queues, hashing, trees, graphs, dynamic programming, and placement strategies. The program aims to enhance students' coding skills for campus placement assessments conducted by IT companies.

Uploaded by

naz958804
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views12 pages

Python With Data Structures PACE

The document outlines a 48-hour intermediate placement preparation program focused on Python programming, data structures, and algorithms for pre-final and final-year undergraduate students. It includes modules covering topics such as problem-solving, arrays, strings, searching and sorting algorithms, recursion, linked lists, stacks, queues, hashing, trees, graphs, dynamic programming, and placement strategies. The program aims to enhance students' coding skills for campus placement assessments conducted by IT companies.

Uploaded by

naz958804
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Python with Data Structures and

Algorithms
48-Hour Intermediate Placement Preparation
Program
Program Objective

To strengthen students’ Python programming, problem-solving, data


structures and algorithmic thinking required for campus placement coding
assessments conducted by IT services, product-based and multinational
companies.

Target Audience

Pre-final-year and final-year undergraduate students who have basic


knowledge of Python programming.

Prerequisites

Students should be familiar with:

• Python syntax and basic programming


• Variables, data types and operators
• Conditional statements
• Loops
• Functions
• Basic lists and strings

Program Duration

Total Duration: 48 Hours


Training Level: Intermediate
Training Method: Concept learning, guided coding, practice challenges,
assessments and mock coding tests
Module-Wise Course Structure
Module 1: Python Programming Refresher
Duration: 4 Hours

Topics

• Python execution flow


• Input and output techniques
• Variables and data types
• Type conversion
• Operators and expressions
• Conditional statements
• Loops and nested loops
• Functions and return values
• Scope of variables
• List comprehensions
• Lambda functions
• Basic exception handling

Practice Problems

• Number-based problems
• Pattern problems
• Digit manipulation
• Prime-number problems
• Armstrong and palindrome numbers
• GCD and LCM
• Factorial and Fibonacci sequence
Module 2: Problem-Solving and Complexity
Analysis
Duration: 4 Hours

Topics

• Understanding coding problem statements


• Identifying input, output and constraints
• Breaking problems into smaller steps
• Writing pseudocode
• Dry-running programs
• Developing brute-force solutions
• Optimising solutions
• Time complexity
• Space complexity
• Big-O notation
• Best, average and worst-case analysis

Practice Problems

• Find the largest and second-largest numbers


• Count occurrences of elements
• Find missing numbers
• Remove duplicates
• Frequency-based problems
• Optimise nested-loop solutions

Module 3: Arrays and Lists


Duration: 6 Hours

Topics
• Array and list operations
• Traversal, insertion and deletion
• Searching elements
• Updating and rearranging elements
• Prefix sum technique
• Two-pointer technique
• Sliding-window technique
• Frequency arrays
• Kadane’s algorithm
• Matrix basics

Practice Problems

• Reverse an array
• Rotate an array
• Move zeros to the end
• Find duplicate elements
• Find the missing number
• Find leaders in an array
• Maximum subarray sum
• Pair with a given sum
• Merge two sorted arrays
• Maximum sum of a fixed-size subarray
• Matrix transpose
• Spiral matrix traversal

Module 4: Strings
Duration: 5 Hours

Topics

• String traversal and manipulation


• Character frequency
• ASCII and Unicode concepts
• String slicing
• Palindrome checking
• Anagrams
• Substrings and subsequences
• Pattern matching basics
• String compression
• Two-pointer applications in strings

Practice Problems

• Reverse words in a sentence


• Check whether two strings are anagrams
• Find the first non-repeating character
• Remove duplicate characters
• Find the longest common prefix
• Count vowels, consonants and special characters
• Check string rotation
• Find the longest substring without repeating characters
• Compress a string
• Validate balanced characters

Module 5: Searching and Sorting Algorithms


Duration: 5 Hours

Topics

• Linear search
• Binary search
• Binary search on sorted data
• Binary search on answer
• Bubble sort
• Selection sort
• Insertion sort
• Merge sort
• Quick sort
• Python sorting methods
• Custom sorting using keys
• Comparison of sorting algorithms

Practice Problems

• Search an element in a sorted array


• Find first and last occurrence
• Find floor and ceiling values
• Search in a rotated sorted array
• Find square root using binary search
• Sort elements by frequency
• Merge overlapping intervals
• Find the kth smallest or largest element

Module 6: Recursion and Backtracking


Duration: 5 Hours

Topics

• Recursive thinking
• Base and recursive cases
• Call stack
• Recursive complexity
• Recursion on numbers
• Recursion on arrays and strings
• Introduction to backtracking
• Decision trees
• Generating combinations and permutations
• Pruning invalid solutions

Practice Problems
• Factorial using recursion
• Fibonacci using recursion
• Sum of digits
• Reverse a string recursively
• Generate all subsequences
• Generate permutations
• Combination-sum problems
• Rat in a maze
• N-Queens introduction
• Valid-parentheses generation

Module 7: Linked Lists


Duration: 4 Hours

Topics

• Linked-list structure
• Nodes and references
• Singly linked lists
• Traversal
• Insertion and deletion
• Reversing a linked list
• Fast and slow pointer technique
• Cycle detection
• Finding the middle node

Practice Problems

• Create and display a linked list


• Insert at the beginning, end and position
• Delete a node
• Reverse a linked list
• Find the middle node
• Detect a cycle
• Remove duplicates from a sorted linked list
• Merge two sorted linked lists

Module 8: Stacks and Queues


Duration: 4 Hours

Topics

• Stack operations
• Stack implementation using lists
• Queue operations
• Queue implementation using deque
• Circular queue concept
• Monotonic stack introduction
• Applications of stacks and queues

Practice Problems

• Balanced parentheses
• Reverse a string using a stack
• Evaluate postfix expressions
• Next greater element
• Stock span problem
• Implement a queue using stacks
• Implement a stack using queues
• Generate binary numbers using a queue

Module 9: Hashing, Sets and Dictionaries


Duration: 3 Hours

Topics
• Hashing concepts
• Python dictionaries
• Python sets
• Frequency maps
• Lookup optimisation
• Collision concept
• Hashing-based problem-solving patterns

Practice Problems

• Two-sum problem
• Find duplicate elements
• Find common elements
• Majority element
• Count distinct elements
• Longest consecutive sequence
• Subarray with a given sum
• Group anagrams

Module 10: Trees and Binary Search Trees


Duration: 3 Hours

Topics

• Tree terminology
• Binary-tree representation
• Depth-first traversal
• Preorder, inorder and postorder traversal
• Breadth-first traversal
• Binary search tree properties
• Searching and inserting in a BST
• Height and depth of a tree

Practice Problems
• Tree traversals
• Level-order traversal
• Find tree height
• Count leaf nodes
• Search an element in a BST
• Find minimum and maximum values in a BST
• Validate a binary search tree
• Find the lowest common ancestor

Module 11: Graphs and Greedy Algorithms


Duration: 2 Hours

Topics

• Graph terminology
• Adjacency list and adjacency matrix
• Breadth-first search
• Depth-first search
• Connected components
• Introduction to greedy algorithms
• Selecting locally optimal solutions

Practice Problems

• Graph traversal using BFS


• Graph traversal using DFS
• Count connected components
• Number of islands
• Activity-selection problem
• Minimum number of platforms
• Coin-selection problems
Module 12: Dynamic Programming
Fundamentals
Duration: 2 Hours

Topics

• Overlapping subproblems
• Optimal substructure
• Memoisation
• Tabulation
• Converting recursion into dynamic programming
• One-dimensional DP problems

Practice Problems

• Fibonacci using dynamic programming


• Climbing stairs
• Minimum cost climbing stairs
• House robber problem
• Coin change introduction
• Longest common subsequence introduction

Module 13: Placement Coding Strategies and


Mock Assessments
Duration: 1 Hour

Topics

• Understanding company coding-test patterns


• Managing time during coding assessments
• Selecting the right programming problem
• Handling hidden test cases
• Input and output formatting
• Edge-case identification
• Debugging runtime and logical errors
• Writing optimised and readable code
• Avoiding common coding-test mistakes

You might also like