# ARICENT: First Mile Foundation Program - Programming and Data Structure and Algorithm

- Institution: IIT Madras
- Department: Computer Science and Engineering
- Taught by: Prof. Shankar Balachandran, Prof. Hema A Murthy
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106106133)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106106133)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

## Lectures

1. [Introduction to Computers and Programming](https://invisiblenetwork.ai/learn/nptel/106106133/6cef566617aa) (Video)
2. [Writing your first program](https://invisiblenetwork.ai/learn/nptel/106106133/a0c242415d0d) (Video)
3. [Variables, Operators and Expressions](https://invisiblenetwork.ai/learn/nptel/106106133/31a059fa2d58) (Video)
4. [Variable declarations, more operators and precedence](https://invisiblenetwork.ai/learn/nptel/106106133/3de82090aba2) (Video)
5. [Input and Output Statements](https://invisiblenetwork.ai/learn/nptel/106106133/1b4e17764eca) (Video)
6. [Conditionals](https://invisiblenetwork.ai/learn/nptel/106106133/c84e81e20c4d) (Video)
7. [Loops](https://invisiblenetwork.ai/learn/nptel/106106133/c773372bc8df) (Video)
8. [Introduction to arrays](https://invisiblenetwork.ai/learn/nptel/106106133/f16f08f2e74b) (Video)
9. [Working with 1D arrays](https://invisiblenetwork.ai/learn/nptel/106106133/c4c354858f5b) (Video)
10. [Find prime numbers](https://invisiblenetwork.ai/learn/nptel/106106133/4d6088d2af04) (Video)
11. [Debugging demo](https://invisiblenetwork.ai/learn/nptel/106106133/e294f4b1b3c1) (Video)
12. [Multi-dimensional arrays](https://invisiblenetwork.ai/learn/nptel/106106133/02c47c349f8e) (Video)
13. [Pointers](https://invisiblenetwork.ai/learn/nptel/106106133/8a008141d307) (Video)
14. [More on pointers](https://invisiblenetwork.ai/learn/nptel/106106133/00ad0ab21229) (Video)
15. [Arrays and pointer arithmetic](https://invisiblenetwork.ai/learn/nptel/106106133/88e57a0c7a01) (Video)
16. [Introduction to Strings](https://invisiblenetwork.ai/learn/nptel/106106133/f9d933f313c9) (Video)
17. [More on Strings](https://invisiblenetwork.ai/learn/nptel/106106133/e41d73c18d12) (Video)
18. [Introduction to functions](https://invisiblenetwork.ai/learn/nptel/106106133/e801ad201769) (Video)
19. [More details on functions](https://invisiblenetwork.ai/learn/nptel/106106133/ea49fef3399f) (Video)
20. [Arguments, variables and parameters](https://invisiblenetwork.ai/learn/nptel/106106133/30bd440f077b) (Video)
21. [Pass parameters by reference](https://invisiblenetwork.ai/learn/nptel/106106133/0f8182c70f03) (Video)
22. [Recursive Functions](https://invisiblenetwork.ai/learn/nptel/106106133/27a5860dfe35) (Video)
23. [C control structures, functional specification of programs](https://invisiblenetwork.ai/learn/nptel/106106133/75baee0d86b9) (Video)
24. [Complexity Analysis using Sum and Product Rule](https://invisiblenetwork.ai/learn/nptel/106106133/4e852ec7c3f4) (Video)
25. [Complexity Analysis of Recursive Functions](https://invisiblenetwork.ai/learn/nptel/106106133/af673ca8dc55) (Video)
26. [Algorithms and Powering](https://invisiblenetwork.ai/learn/nptel/106106133/a0791f30a3bb) (Video)
27. [Polynomial evaluation and multiplication](https://invisiblenetwork.ai/learn/nptel/106106133/6a667ce54dc4) (Video)
28. [Linear and Binary Search Analysis](https://invisiblenetwork.ai/learn/nptel/106106133/13b0734ee80a) (Video)
29. [Analysis of minimum and maximum in an array](https://invisiblenetwork.ai/learn/nptel/106106133/68c736918e70) (Video)
30. [Sorting I: Insertion, Merge](https://invisiblenetwork.ai/learn/nptel/106106133/091779e9de92) (Video)
31. [Sorting II: Counting, Radix](https://invisiblenetwork.ai/learn/nptel/106106133/c413e0562e93) (Video)
32. [Finding i-th smallest number](https://invisiblenetwork.ai/learn/nptel/106106133/7a4d63ee1283) (Video)
33. [Structures](https://invisiblenetwork.ai/learn/nptel/106106133/70ccc88daee0) (Video)
34. [More on Structures](https://invisiblenetwork.ai/learn/nptel/106106133/f100808c5ce5) (Video)
35. [Using structures and pointers to structures](https://invisiblenetwork.ai/learn/nptel/106106133/5411cb2f943e) (Video)
36. [Dynamic memory allocation](https://invisiblenetwork.ai/learn/nptel/106106133/a7c4b7cc156f) (Video)
37. [Linked List](https://invisiblenetwork.ai/learn/nptel/106106133/9812c6ba5720) (Video)
38. [Brief introduction to C++: Classes and objects](https://invisiblenetwork.ai/learn/nptel/106106133/e543bf2af9ef) (Video)
39. [Abstract Data Types](https://invisiblenetwork.ai/learn/nptel/106106133/e8800edde6a9) (Video)
40. [More on ADT](https://invisiblenetwork.ai/learn/nptel/106106133/5b594a01310d) (Video)
41. [Stacks : Last In First Out](https://invisiblenetwork.ai/learn/nptel/106106133/10206f15758b) (Video)
42. [Queues: First In First](https://invisiblenetwork.ai/learn/nptel/106106133/78eef373b94a) (Video)
43. [Trees](https://invisiblenetwork.ai/learn/nptel/106106133/6be7caedfc73) (Video)
44. [Tree Traversal](https://invisiblenetwork.ai/learn/nptel/106106133/32d0d2774f5c) (Video)
45. [Binary Search](https://invisiblenetwork.ai/learn/nptel/106106133/1e8ab724a1d7) (Video)
46. [Heaps](https://invisiblenetwork.ai/learn/nptel/106106133/ee5ca4527df0) (Video)
47. [Graphs and Representations](https://invisiblenetwork.ai/learn/nptel/106106133/123342e6085d) (Video)
48. [Greedy Algorithms](https://invisiblenetwork.ai/learn/nptel/106106133/00db9e5c9399) (Video)
49. [Dynamic Programming](https://invisiblenetwork.ai/learn/nptel/106106133/7838edbef8bc) (Video)
50. [Matrix Chain Multiplication](https://invisiblenetwork.ai/learn/nptel/106106133/d4e8b98b38c0) (Video)
51. [Hash Tables](https://invisiblenetwork.ai/learn/nptel/106106133/8ebbb2cf1f1f) (Video)
52. [Graph Algorithms: Dijkstras Algorithm and Prims Algorithm](https://invisiblenetwork.ai/learn/nptel/106106133/a0202d53f404) (Video)
53. [Graph Traversals : BFS,DFS and Articulation Points](https://invisiblenetwork.ai/learn/nptel/106106133/9d7b8d694fc0) (Video)
54. [File I/O](https://invisiblenetwork.ai/learn/nptel/106106133/0c265d891587) (Video)
55. [Modular Programming](https://invisiblenetwork.ai/learn/nptel/106106133/8a8d8a361bce) (Video)
