0% found this document useful (0 votes)
143 views3 pages

Cse329:Prelude To Competitive Coding: Course Outcomes

This document outlines the course outcomes and topics covered in CSE329: Prelude to Competitive Coding. The course aims to help students relate theoretical and practical coding knowledge, devise time and space efficient solutions, and identify optimal algorithms and data structures. Key topics include arrays, strings, stacks, queues, matrices, greedy algorithms, pattern searching, and searching techniques. Students will complete practical exercises to reinforce topics like data structures, math operations, GCD and primality testing, naive pattern searching, and more.
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)
143 views3 pages

Cse329:Prelude To Competitive Coding: Course Outcomes

This document outlines the course outcomes and topics covered in CSE329: Prelude to Competitive Coding. The course aims to help students relate theoretical and practical coding knowledge, devise time and space efficient solutions, and identify optimal algorithms and data structures. Key topics include arrays, strings, stacks, queues, matrices, greedy algorithms, pattern searching, and searching techniques. Students will complete practical exercises to reinforce topics like data structures, math operations, GCD and primality testing, naive pattern searching, and more.
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
You are on page 1/ 3

CSE329:PRELUDE TO COMPETITIVE CODING

Course Outcomes: Through this course students should be able to

CO1 :: relate the theoretical as well as practical knowledge to form an amalgamation of working
code

CO2 :: devise a working combination of solution to ubiquitous problems which are time and
space efficient

CO3 :: identify and comprehend the inner workings behind the design of an optimal solution

CO4 :: justify the usage of algorithms and data structures in the design of an optimal solution
towards a problem

CO5 :: use the knowledge obtained from various algorithmic paradigms to formulate optimal
solutions to real world problems
CO6 :: examine and utilise knowledge to build and design reliable code which is capable of
passing various test cases

List of Practicals / Experiments:

Basic Data Structures


• Arrays, Declaring and processing 1D and 2D arrays

• Insertion in an array

• Deletion from array

• Array rotations

• Array arrangement, rearrangement

• Matrix multiplication, Lower triangular and upper triangular matrix of array, Different operations on
Matrices
• Print a matrix in spiral form, Find distinct elements common to all rows in a matrix

• String declaration and manipulation

• K maximum sum from two arrays

• Missing characters to make a string Pangram, Rearrange characters so that no two adjacent
characters are same
• Remove minimum number of characters so that two strings become anagram

• Creation of stack using arrays, Creation of arrays using linked list

• Creation of queue using array, Creation of queue using linked list

• Implement two Stacks in an array

• Implement Stack using Queues

• Design a stack with operations on middle element

• Implementation of Deque using circular array, Circular Queue

• Reversing a Queue

• Two pointer technique depicted by problem to find if there exists a pair in an unsorted array whose
sum is equal to X
• Count subarrays having an equal sum of elements at even and odd positions

• Rearrange positive and negative numbers

• Rearrange array such that even index elements are smaller and odd index elements are greater

Basic math operations (addition, subtraction, multiplication, division and exponentiation)


• Fast modulo multiplication

• Exponential squaring

• Modular Exponentiation

• Modular multiplicative inverse

Session 2021-22 Page:1/3


• Euler's Totient Function

• Sum of middle row and element in matrix

• Checking if all rows of a matrix are circular rotations of each other

GCD and Primality testing


• Basic Euclidean algorithm

• Extended Euclidean algorithm

• Total number of divisors of a number

• Finding all prime factors of a number

• K-jagged numbers

• Stormer numbers

• Finding the prime factors by taking the square root

• P-smooth numbers in given ranges

• Lemoine's Conjecture

• Problems based on GCD and primality testing

Greedy techniques
• Greedy problem solving paradigm

• Locally optimal choice

• Global optimal choice

• Job Sequencing problem

• Job Selection problem

• Minimum product subset of an array

• Maximum product subset of an array

• Minimum sum of product of two arrays

• Bin packing problem

• Activity Selection problem

• Fractional Knapsack problem

• Connect n ropes with minimum cost

• Coin change problem

• Problems based on greedy techniques

Naive Pattern Search


• The ubiquitous naïve pattern search problem

• KMP algorithm

• Checking if two strings are rotations of each other

• Largest connected component on a grid

• Check if a string is substring of another string

• Longest prefix which is also a suffix

• Problems based on naive pattern search

• Lexicographical sorting of strings with practice problems based on this concept

• Splitting a string into substrings with suitable practice problems

Searching techniques
• Iterative and recursive binary search

• Find the missing number

• Search an element in a sorted and rotated array

• Find the K most frequent words from a string

• Find a pair with a given difference

Session 2021-22 Page:2/3


• Find a peak element

• Problems based on searching techniques

References:
1. CRACKING THE CODING INTERVIEW by GAYLE LAAKMANN MCDOWELL, CAREERCUP

2. DATA STRUCTURES AND ALGORITHMS : CONCEPTS, TECHNIQUES AND APPLICATIONS by


G. A. V. PAI, MCGRAW HILL EDUCATION

Session 2021-22 Page:3/3

You might also like