Video Solution to Digital Root Programming Assignment
9
Module 8a
10
Module 8b
11
Module 8c
12
Module debugging Demo module
13
Module 9a
14
Module 9b
15
Module 9c
16
Module 9d
17
Module 13a
18
Module 13b
19
Video Solution to Print Elements of a Matrix in Spiral Order Programming Assignment
20
Introduction to functions
21
More details on functions
22
Arguments, variables and parameters
23
Pass parameters by reference
24
Recursive functions
25
Running time of a program
26
Module 3
27
Video Solution to Palindrome Checker Programming Assignment
28
Algorithms and Powering
29
Polynomial evaluation and multiplication
30
Linear and Binary Search Analysis
31
Analysis of minimum and maximum in an array
32
Sorting I: Insertion, Merge
33
Sorting II: Counting, Radix
34
Finding i-th smallest number
35
Video Solution to Sorting words Programming Assignment
36
Structures
37
More on structures
38
Using structures and pointers to structures
39
Dynamic memory allocation
40
Linked Lists
41
Brief introduction to C++: Classes and objects
42
Data Structures: Abstract Data Type
43
Lists
44
Supplementary Lesson
45
Video Solution to Implementing a Hash Table ADT Programming Assignment
46
Stacks: Last In First Out
47
Queues: First In First Out
48
Trees
49
Tree traversal
50
Binary Search Trees
51
Heaps
52
Graphs and Representation
53
Supplementary Lesson
54
Video Solution to the Queue in a Hospital Programming Assignment
55
Greedy Algorithms
56
Dynamic Programming
57
Matrix Chain Multiplication
58
Boyer-Moore String Matching Algorithm
59
File I/O
60
Modular Programming
Description:
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.