The document outlines a syllabus and learning resources for a foundation course covering essential data structures and algorithms topics. The syllabus includes data structures like arrays, strings, stacks, queues and algorithms like asymptotic analysis, recursion, sorting, searching. For each topic, the document provides multiple online resources like tutorials, lecture videos and practice problems to learn and apply the concepts. It also lists 4 mock tests to evaluate preparedness.
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
228 views
Codechef Syllabus
The document outlines a syllabus and learning resources for a foundation course covering essential data structures and algorithms topics. The syllabus includes data structures like arrays, strings, stacks, queues and algorithms like asymptotic analysis, recursion, sorting, searching. For each topic, the document provides multiple online resources like tutorials, lecture videos and practice problems to learn and apply the concepts. It also lists 4 mock tests to evaluate preparedness.
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4
Foundation
Syllabus: The syllabus for each level is mentioned below:
1. Basic Data Structures: Arrays, Strings, Stacks, Queues
2. Asymptotic analysis (Big-O notation) 3. Basic math operations (addition, subtraction, multiplication, division, exponentiation) 4. Sqrt(n) primality testing 5. Euclid’s GCD Algorithm 6. Basic Recursion 7. Greedy Algorithms 8. Basic Dynamic Programming 9. Naive string searching 10. O(n logn) Sorting 11. Binary Searching Learning Resources: 1. Asymptotic analysis (Big-O notation) a. Basic i. youtube.com - Time complexity of a computer program ii. youtube.com - Big-O notation in 5 minutes - The basics iii. youtube.com - Definition Of Big O Notation - Intro to Theoretical Computer Science iv. youtube.com - Algorithms Lecture 1 -- Introduction to asymptotic notations v. iarcs.org.in - Measuring the efficiency of algorithms vi. interactivepython.org - Particularly for Big-O notation b. Advanced . rob-bell.net - A beginner's guide to Big O notation i. youtube.com - Big O Notation, Gayle Laakman McDowell ii. web.mit.edu - Big O notation iii. youtube.com - Time and space complexity analysis of recursive programs - using factorial iv. A very nice tutorial with examples c. Practice Problems . You can see some problems with solutions here: Time complexity of an algorithm 2. Arrays . Resources . codechef.com - Data Structure Tutorial: Array i. cs.cmu.edu - Arrays ii. geeksforgeeks.org - Arrays Data Structure a. Practice Problems . codechef.com - LECANDY, editorial i. codechef.com - CNOTE, editorial ; ii. codechef.com - SALARY, editorial iii. codechef.com - CHN15A, editorial iv. codechef.com - RAINBOWA, editorial v. codechef.com - FRGTNLNG, editorial vi. codechef.com - COPS, editorial 3. Strings . Resources . tutorialspoint.com - C++ strings i. guru99.com - Java strings ii. docs.python.org - Python strings iii. tutorialspoint.com - Python strings iv. Many questions on the string: v. geeksforgeeks.org - String Data Structure a. Practice Problems . codechef.com - CSUB, editorial i. codechef.com - LAPIN, editorial 4. Stack and Queue . Resources . geeksforgeeks.org - Stack Data Structure i. geeksforgeeks.org - Introduction and Array Implementation ii. tutorialspoint.com - Data Structures Algorithms iii. cs.cmu.edu - Stacks iv. cs.cmu.edu - Stacks and Queues v. cs.cmu.edu - Stacks and Queues a. Practice Problems . spoj.com - JNEXT i. spoj.com - STPAR ii. spoj.com - ONP iii. codechef.com - COMPILER iv. spoj.com - MMASS v. spoj.com - HISTOGRA vi. codeforces.com - D. Maximum Xor Secondary vii. spoj.com - ANARC09A viii. codeforces.com - C. Minimal string ix. codeforces.com - B. Alternating Current x. codeforces.com - C. Longest Regular Bracket Sequence 5. Basic math operations (addition, subtraction, multiplication, division, exponentiation) . codechef.com - A tutorial on Fast Modulo Multiplication 6. Euclid’s GCD Algorithm . Resources . youtube.com - Mycodeschool video i. khanacademy.org - The Euclidean Algorithm ii. geeksforgeeks.org - Example program to find gcd in c++: 7. Prime Numbers, divisibility of numbers . Resources: . Only O(sqrt(n)) algorithm for finding whether a number is a prime, factorization of a number. i. Finding prime factors by taking the square root a. Practice Problems: . community.topcoder.com - DivisorInc i. community.topcoder.com - Prime Polynom ii. community.topcoder.com - Prime Anagrams iii. community.topcoder.com - Refactoring 8. Basic Recursion . Resources . topcoder.com - An Introduction to Recursion, Part 1 i. topcoder.com - An Introduction to Recursion: Part 2 ii. geeksforgeeks.org - Recursion ;(along with questions) iii. web.mit.edu - Recursion iv. csee.umbc.edu - Recursion ;(Examples with exercises) v. loveforprogramming.quora.com - Backtracking, Memoization & Dynamic Programming a. Practice Problems . codechef.com - NOKIA, editorial i. codechef.com - TRISQ, editorial ii. codechef.com - LFSTACK, editorial iii. codechef.com - FICE, editorial 9. Greedy Algorithms . Resources . iarcs.org.in - Greedy Algorithms i. iarcs.org.in - Greedy Algorithms ii. topcoder.com - Greedy Algorithms iii. Greedy Algorithms a. Practice Problems . codechef.com - TACHSTCK, editorial i. codechef.com - CIELRCPT, editorial ii. codechef.com - MAXDIFF, editorial iii. codechef.com - CHEFST, editorial iv. codechef.com - CAKEDOOM, editorial v. codechef.com - CLETAB, editorial vi. codechef.com - TADELIVE, editorial vii. codechef.com - MANYCHEF, editorial viii. codechef.com - MMPROD, editorial ix. codechef.com - CHEFTMA, editorial x. codechef.com - STICKS, editorial xi. spoj.com - BAISED xii. spoj.com - BALIFE xiii. spoj.com - GCJ101BB xiv. codechef.com - FGFS xv. codechef.com - KNPSK xvi. codechef.com - LEMUSIC xvii. spoj.com - ARRANGE xviii. spoj.com - FASHION 10. Dynamic programming (Basic DP) . Resources . medium.freecodecamp.org - Demystifying Dynamic Programming i. iarcs.org.in - Dynamic Programming - Tiling ii. topcoder.com - Dynamic Programming – From Novice to Advanced iii. illinois.edu - Dynamic Programming ;(Exercises are recommended) iv. codechef.com - Dynamic Programming v. geeksforgeeks.org - Dynamic Programming ;(Contains a lot of practice sessions) vi. MIT OCW (Contains some Advanced topics as well) i. Dynamic Programming I ii. Dynamic Programming II iii. Dynamic Programming III iv. Dynamic Programming IV a. Practice Problems . codechef.com - ALTARAY, editorial i. codechef.com - DELISH, editorial ii. codechef.com - DBOY, editorial iii. codechef.com - XORSUB, editorial iv. codechef.com - GRID, editorial v. codechef.com - TADELIVE, editorial vi. codechef.com - FROGV, editorial vii. codechef.com - MATRIX2, editorial viii. codechef.com - AMSGAME2, editorial ix. spoj.com - MDOLLS x. spoj.com - MSTICK xi. spoj.com - MCARDS xii. spoj.com - MIXTURES xiii. spoj.com - SAMER08D xiv. spoj.com - AIBOHP 11. Naive string searching . Resources . geeksforgeeks.org - Naive Pattern Searching 12. Sorting . khanacademy.org a. visualgo.net b. iarcs.org.in c. Merge sort . youtube.com - Merge sort algorithm i. Practice Problems codechef.com -MRGSRT d. Quick sort . youtube.com - Quicksort algorithm i. Practice Problems codechef.com -TSORT e. Counting sort . geeksforgeeks.org - Counting Sort i. Practice Problems . codechef.com - TACHSTCK, editorial i. codechef.com - STICKS, editorial 13. Binary Search . Resources . topcoder.com (Try solving problems of Simple and Moderate level as mentioned in the end of the link) i. codechef.com ii. usfca.edu iii. khanacademy.org a. Detailed Theoretical analysis . cmu.edu (A theoretical analysis) b. Problems . geeksforgeeks.org - Binary Search (Contains some solved problems) i. codechef.com - STRSUB, editorial ii. codechef.com - ASHIGIFT, editorial iii. codechef.com - STACKS, editorial iv. codechef.com - DIVSET, editorial v. codechef.com - LOWSUM, editorial vi. codechef.com - SNTEMPLE, editorial vii. codechef.com - SNAKEEAT, editorial viii. codechef.com - SCHEDULE, editorial ix. codechef.com - RIGHTTRI, editorial x. codechef.com - FORESTGA, editorial xi. codechef.com - CHEFHCK2,editorial xii. spoj.com - ABCDEF xiii. spoj.com - NOTATRI xiv. spoj.com - SCALE xv. spoj.com - SUMFOUR xvi. spoj.com - SUBSUMS xvii. spoj.com - ANARC05B xviii. spoj.com - RENT xix. spoj.com - PIE xx. spoj.com - MKUHAR xxi. spoj.com - SVADA xxii. spoj.com - SUBS Mock Test: 1. Test 1 - codechef.com/FLMOCK01 2. Test 2 - codechef.com/FLMOCK02 3. Test 3 - codechef.com/FLMOCK03 4. Test 4 - codechef.com/FLMOCK04
(Ebook) Python for DevOps: Learn Ruthlessly Effective Automation by Noah Gift; Kennedy Behrman; Alfredo Deza; Grig Gheorghiu ISBN 9781492057697, 149205769X - The latest ebook version is now available for instant access