Programming, Data Structures and Algorithms
Offered By: NPTEL via YouTube
Course Description
Overview
This is a course on programming, data structures and algorithms. The learner is assumed to have no prior experience of programming but is expected to be at the level of a second year undergraduate college student in science or engineering. The course will run over ten weeks with about 2-3 hours of lectures per week.
At the end of each week, the learner is expected to write some programs and submit them for grading. These programming problems are classified as easy, moderate or difficult. The easy problems, typically, are repeats from the lecture. The moderate and difficult ones will require increasing levels of initiative from the learner.
In addition, at the end of each week the learner is expected to answer a set of objective-type assessment questions.
Syllabus
Module 1.
Module 2.
Module 3.
Module 4.
Module 5.
Module 6.
Module 7.
Video Solution to Digital Root Programming Assignment.
Module 8a.
Module 8b.
Module 8c.
Module debugging Demo module.
Module 9a.
Module 9b.
Module 9c.
Module 9d.
Module 13a.
Module 13b.
Video Solution to Print Elements of a Matrix in Spiral Order Programming Assignment.
Introduction to functions.
More details on functions.
Arguments, variables and parameters.
Pass parameters by reference.
Recursive functions.
Running time of a program.
Module 3.
Video Solution to Palindrome Checker Programming Assignment.
Algorithms and Powering.
Polynomial evaluation and multiplication.
Linear and Binary Search Analysis.
Analysis of minimum and maximum in an array.
Sorting I: Insertion, Merge.
Sorting II: Counting, Radix.
Finding i-th smallest number.
Video Solution to Sorting words Programming Assignment.
Structures.
More on structures.
Using structures and pointers to structures.
Dynamic memory allocation.
Linked Lists.
Brief introduction to C++: Classes and objects.
Data Structures: Abstract Data Type.
Lists.
Supplementary Lesson.
Video Solution to Implementing a Hash Table ADT Programming Assignment.
Stacks: Last In First Out.
Queues: First In First Out.
Trees.
Tree traversal.
Binary Search Trees.
Heaps.
Graphs and Representation.
Supplementary Lesson.
Video Solution to the Queue in a Hospital Programming Assignment.
Greedy Algorithms.
Dynamic Programming.
Matrix Chain Multiplication.
Boyer-Moore String Matching Algorithm.
File I/O.
Modular Programming.
Taught by
Programming, Data Structures and Algorithms
Tags
Related Courses
Algorithms for DNA SequencingJohns Hopkins University via Coursera Conception et mise en œuvre d'algorithmes.
École Polytechnique via Coursera مربع الأدوات الخوارزمية
University of California, San Diego via Coursera Algorithms
Stanford University via Coursera Graph Search, Shortest Paths, and Data Structures
Stanford University via Coursera