0% found this document useful (0 votes)
5 views

frmCourseSyllabusIPDownload

The document outlines the CSE330 course on Competitive Coding Approaches and Techniques, focusing on algorithm efficiency, primality testing, sorting techniques, and dynamic programming. It details course outcomes, including the ability to analyze algorithms using asymptotic notations and apply recursion in various applications. The course also includes topics such as sorting algorithms and dynamic programming problems, supported by recommended textbooks and references.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

frmCourseSyllabusIPDownload

The document outlines the CSE330 course on Competitive Coding Approaches and Techniques, focusing on algorithm efficiency, primality testing, sorting techniques, and dynamic programming. It details course outcomes, including the ability to analyze algorithms using asymptotic notations and apply recursion in various applications. The course also includes topics such as sorting algorithms and dynamic programming problems, supported by recommended textbooks and references.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

CSE330:COMPETITIVE CODING APPROACHES-TECHNIQUES

L:2 T:0 P:1 Credits:3

Course Outcomes: Through this course students should be able to

CO1 :: explain the process to find efficiency of algorithms using asymptotic notations.

CO2 :: identify an efficient algorithm for determining primality testing.

CO3 :: examine the use of nlogn sorting techniques in effective way.

CO4 :: plan Tabulation and Memorization in standard dynamic programming problems.

CO5 :: explain the concept of memory allocations in recursions.

CO6 :: apply the technique of recursion in different applications.

Unit I
Asymptotic Analysis (Big-O notation) : Introduction to asymptotic notations, Basics of Big-O
notation, Definition of Big-O notation, Measuring efficiency of algorithms, Time and space complexity
analysis of recursive programs
Sqrt(n) Primality Testing : O(sqrt(n)) algorithm for finding whether a number is a prime,
Factorization of a number, Finding prime factors by taking the square root, Fermat method, Sieve of
Eratosthenes, Segmented Sieve, Sieve of Atkins
Basic Recursion : Introduction to recursion: base condition in recursion, How a particular problem is
solved using recursion, Difference between direct and indirect recursion, Difference between tailed
and non-tailed recursion, How memory is allocated to different function calls in recursion, Advantages
& disadvantages of recursive programming, Backtracking, Memoization & Dynamic Programming
Basic Dynamic Programming : Introduction to Dynamic Programming, Dynamic Programming
process, Tiling problem, Tabulation vs Memoizatation, Optimal Substructure Property, Overlapping
Subproblems Property, How to solve a Dynamic Programming Problem
Dynamic Programming Problems : Longest increasing subsequence, Longest common
subsequence, Binomial coefficient, Box Stacking, Integer Knapsack Problem (Duplicate Items
Forbidden), Edit Distance, Balanced Partition
O(n logn) Sorting : Iterative MergeSort, Recursive MergeSort, QuickSort, CountingSort, Sorting
Elements by Frequency, Sort Array in Wave Form, Finding Minimum Length Sorted Sub-array to Sort
an Array, Sorting Strings, Count Distinct Pairs with Difference of K

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

References:
1. PROGRAMMING PEARLS by JOE BENTLEY, PEARSON

Session 2023-24 Page:1/1

You might also like