# Introduction To Haskell Programming

- Institution: Chennai Mathematical Institute
- Department: Computer Science and Engineering
- Teacher: Prof. S. P Suresh
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106106931)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106106931)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

## Lectures

1. [Functions and types: 1](https://invisiblenetwork.ai/learn/nptel/106106931/f01e9eb7ced1) (Video)
2. [Functions and types: 2](https://invisiblenetwork.ai/learn/nptel/106106931/13ea77384b71) (Video)
3. [Functions and types: 3](https://invisiblenetwork.ai/learn/nptel/106106931/344953fc53a5) (Video)
4. [Haskell demo](https://invisiblenetwork.ai/learn/nptel/106106931/78e5bec3eb20) (Video)
5. [Recursive functions: 1](https://invisiblenetwork.ai/learn/nptel/106106931/93ada53ccce8) (Video)
6. [Recursive functions: 2](https://invisiblenetwork.ai/learn/nptel/106106931/5e85e717beff) (Video)
7. [Lists: 1](https://invisiblenetwork.ai/learn/nptel/106106931/23b7016c8463) (Video)
8. [Lists: 2](https://invisiblenetwork.ai/learn/nptel/106106931/76dcb782ee8b) (Video)
9. [Lists demo](https://invisiblenetwork.ai/learn/nptel/106106931/a56e8939f52a) (Video)
10. [Built-in functions on lists, list notations: 1](https://invisiblenetwork.ai/learn/nptel/106106931/2475eeb58cad) (Video)
11. [Built-in functions on lists, list notations: 2](https://invisiblenetwork.ai/learn/nptel/106106931/147cca8f4660) (Video)
12. [Char, String, tuples, etc](https://invisiblenetwork.ai/learn/nptel/106106931/1f0e24b708cd) (Video)
13. [Haskell demo](https://invisiblenetwork.ai/learn/nptel/106106931/387a126038df) (Video)
14. [Higher-order functions](https://invisiblenetwork.ai/learn/nptel/106106931/475932c51831) (Video)
15. [Folds](https://invisiblenetwork.ai/learn/nptel/106106931/5ccbc10f04ed) (Video)
16. [More folds](https://invisiblenetwork.ai/learn/nptel/106106931/61a70928698e) (Video)
17. [Higher-order functions: demo](https://invisiblenetwork.ai/learn/nptel/106106931/46ecb00a8ff6) (Video)
18. [Polymorphism and type classes](https://invisiblenetwork.ai/learn/nptel/106106931/96a4a71e7968) (Video)
19. [User-defined data types](https://invisiblenetwork.ai/learn/nptel/106106931/dad50ab12684) (Video)
20. [Demo session: user-defined types](https://invisiblenetwork.ai/learn/nptel/106106931/0e02026e4c05) (Video)
21. [Demo session: problem solving](https://invisiblenetwork.ai/learn/nptel/106106931/ba65a341c9f3) (Video)
22. [Recursive data types: 1](https://invisiblenetwork.ai/learn/nptel/106106931/008450a2bee4) (Video)
23. [Recursive data types: 2](https://invisiblenetwork.ai/learn/nptel/106106931/f3ce9a75e102) (Video)
24. [Computation as rewriting](https://invisiblenetwork.ai/learn/nptel/106106931/d0399be290eb) (Video)
25. [Input/output -- basics: 1](https://invisiblenetwork.ai/learn/nptel/106106931/8b68d5da19f7) (Video)
26. [Input/output -- basics: 2](https://invisiblenetwork.ai/learn/nptel/106106931/497fcfbdba9c) (Video)
27. [Input/output -- loops: 1](https://invisiblenetwork.ai/learn/nptel/106106931/7e5ff37cf4c7) (Video)
28. [Input/output -- loops: 2](https://invisiblenetwork.ai/learn/nptel/106106931/d25007d5f9db) (Video)
29. [Measuring efficiency](https://invisiblenetwork.ai/learn/nptel/106106931/7fe8dcb73e5a) (Video)
30. [Sorting](https://invisiblenetwork.ai/learn/nptel/106106931/b9d0433cbc87) (Video)
31. [Merge sort](https://invisiblenetwork.ai/learn/nptel/106106931/5b8e81dac3f2) (Video)
32. [Quick sort](https://invisiblenetwork.ai/learn/nptel/106106931/478ec75d2f5b) (Video)
33. [Exploring graphs -- connectedness](https://invisiblenetwork.ai/learn/nptel/106106931/90017108305e) (Video)
34. [Exploring graphs -- eight queens problem](https://invisiblenetwork.ai/learn/nptel/106106931/f698cf2bd101) (Video)
35. [Abstract data types - Stacks](https://invisiblenetwork.ai/learn/nptel/106106931/9dd76251fe82) (Video)
36. [Abstract data types - Queues](https://invisiblenetwork.ai/learn/nptel/106106931/515589ff3f1d) (Video)
37. [Binary trees: 1](https://invisiblenetwork.ai/learn/nptel/106106931/39ee35b55598) (Video)
38. [Binary trees: 2](https://invisiblenetwork.ai/learn/nptel/106106931/751a1f081dd6) (Video)
39. [Binary search trees: 1](https://invisiblenetwork.ai/learn/nptel/106106931/dd518047395d) (Video)
40. [Binary search trees: 2](https://invisiblenetwork.ai/learn/nptel/106106931/febf5aacd8b2) (Video)
41. [AVL trees: 1](https://invisiblenetwork.ai/learn/nptel/106106931/4605886e403a) (Video)
42. [AVL trees: 2](https://invisiblenetwork.ai/learn/nptel/106106931/ec6b98250ac2) (Video)
43. [Leftist heaps: 1](https://invisiblenetwork.ai/learn/nptel/106106931/056412e2bb8f) (Video)
44. [Leftist heaps: 2](https://invisiblenetwork.ai/learn/nptel/106106931/212811c0c635) (Video)
45. [Dynamic programming in Haskell](https://invisiblenetwork.ai/learn/nptel/106106931/4a6f2bc95920) (Video)
46. [Immutable arrays using Data.Array](https://invisiblenetwork.ai/learn/nptel/106106931/e071530ce544) (Video)
47. [Solving Sudoku -- an example of a full-fledged program development](https://invisiblenetwork.ai/learn/nptel/106106931/d1b161a6d9e9) (Video)
