YoVDO

Getting Started with Competitive Programming

Offered By: NPTEL via Swayam

Tags

Programming Courses Algorithm Design Courses Sorting Algorithms Courses Searching Algorithms Courses Greedy Algorithms Courses Competitive Programming Courses

Course Description

Overview

This is a course on algorithm design with a focus on issues of modeling and implementation. Each lecture will be focused entirely on one or two problems that reveal the use of a specific algorithmic technique. The techniques themselves are chosen to be in line with those covered in existing NPTEL courses on data structures and algorithms, so that students who complete those courses can find in this course a natural follow up. This course is intended for anyone who wants to deepen their appreciation for algorithmic techniques that they have learned in a foundational course and/or would like to take a first step towards preparing for coding competitions such as the ICPC. INTENDED AUDIENCE : Undergraduate students who have already done a basic data structures/algorithms course.PREREQUISITES : Data Structures and Algorithms, Familiarity with a programming language (ideally C++ or Python)INDUSTRY SUPPORT : Most technology-based companies typically hire based on a test of coding competence and this course will prepare students for this. Notable examples include: Facebook, Google, Amazon, Apple, Microsoft, etc.

Syllabus

Week 1: Sorting and Searching Algorithms
Week 2: Greedy Algorithms - I
Week 3: Greedy Algorithms - II
Week 4: Disjoint Set Union with Path Compression
Week 5: Minimum Spanning Tree
Week 6: Shortest Paths: Dijkstra and Beyond
Week 7: Network Flows - I
Week 8: Network Flows - II, Divide and Conquer
Week 9: Dynamic programming - I
Week 10: Dynamic programming - II
Week 11: Dynamic programming - III
Week 12: Dynamic programming - IV

Taught by

Prof. Neeldhara

Tags

Related Courses

How to Win Coding Competitions: Secrets of Champions
ITMO University via edX
Competitive Programmer's Core Skills
Saint Petersburg State University via Coursera
Спортивное программирование
Tomsk State University via Coursera
Competitive Programming for Beginners
Moscow Institute of Physics and Technology via Coursera
Основы олимпиадного программирования
Saint Petersburg State University via Coursera