# C Programming and Assembly Language

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

Students who complete their bachelors degree (BE/ BTech) in computer science or electrical engineering do extensive course work in Microprocessors and then in C programming. However, what is missing in the current curriculum is to explicitly establish the link between the two. Specifically we look at how a C program is translated to assembly language and how it eventually gets executed on a microprocessor. Through, animations we show what happens in the stack, data and code segment, of the microprocessor when a C program is executed.

Intended audience: Any Interested Learners

Prerequisites: Students are expected to have done a course on C programming and Microprocessors

## Lectures

1. [Lecture 1](https://invisiblenetwork.ai/learn/nptel/106106210/19c35618d942) (YouTube)
2. [Lecture 2](https://invisiblenetwork.ai/learn/nptel/106106210/69c841abfb81) (YouTube)
3. [Lecture 3](https://invisiblenetwork.ai/learn/nptel/106106210/616cc50b0c2d) (YouTube)
4. [Lecture 4A](https://invisiblenetwork.ai/learn/nptel/106106210/de25e8de2b8a) (YouTube)
5. [Lecture 4B](https://invisiblenetwork.ai/learn/nptel/106106210/7b0361af7ece) (YouTube)
6. [Lecture 5](https://invisiblenetwork.ai/learn/nptel/106106210/5940b8face86) (YouTube)
7. [Lecture 6](https://invisiblenetwork.ai/learn/nptel/106106210/0bde53e0765e) (YouTube)
8. [Lecture 7](https://invisiblenetwork.ai/learn/nptel/106106210/9ca3b629319d) (YouTube)
9. [Lecture 8](https://invisiblenetwork.ai/learn/nptel/106106210/eeab8ef578fa) (YouTube)
10. [Lecture 9](https://invisiblenetwork.ai/learn/nptel/106106210/c743fc1a3aaa) (YouTube)
11. [Lecture 10](https://invisiblenetwork.ai/learn/nptel/106106210/96e0048e0734) (YouTube)
12. [Lecture 11](https://invisiblenetwork.ai/learn/nptel/106106210/1d375bb81f7d) (YouTube)
13. [Lecture 12](https://invisiblenetwork.ai/learn/nptel/106106210/64ac6b042604) (YouTube)
14. [Lecture 13](https://invisiblenetwork.ai/learn/nptel/106106210/3d680d73be88) (YouTube)
15. [Lecture 14](https://invisiblenetwork.ai/learn/nptel/106106210/840b03404d7e) (YouTube)
16. [Lecture 15](https://invisiblenetwork.ai/learn/nptel/106106210/f013456a6a25) (YouTube)
17. [Lecture 16](https://invisiblenetwork.ai/learn/nptel/106106210/703bd9444bf5) (YouTube)
18. [Lecture 17 A](https://invisiblenetwork.ai/learn/nptel/106106210/16b1c1085782) (YouTube)
19. [Lecture 17 B](https://invisiblenetwork.ai/learn/nptel/106106210/40353517c338) (YouTube)
20. [Lecture 18](https://invisiblenetwork.ai/learn/nptel/106106210/7ea0fbaf294d) (YouTube)
21. [Lecture 19](https://invisiblenetwork.ai/learn/nptel/106106210/c5a59615e2fb) (YouTube)
22. [Lecture 20](https://invisiblenetwork.ai/learn/nptel/106106210/1c51284e24ec) (YouTube)
23. [Lesson 21A - Memory Alignment - 1](https://invisiblenetwork.ai/learn/nptel/106106210/0a69d678a8b6) (YouTube)
24. [Lesson 21B - Memory Alignment - 2](https://invisiblenetwork.ai/learn/nptel/106106210/f61302e844a5) (YouTube)
