Programming Foundations: Memory, Pointers, and Garbage Collection
This course takes your foundational programming skills to the next level by diving deeper into how code really works, with a particular focus on memory management. It reveals that much like humans, computers also have short- and long-term memory, and most programming tasks involve moving values around in this memory. The course provides valuable tips on making code more efficient and fixing it when it breaks. It also walks you through best practices and power skills to improve your overall performance. By the end of this course, you'll have a deeper understanding of memory management and be equipped with the knowledge to avoid and debug common memory leaks.
Skills for certificate:
C
Problem Solving
Critical Thinking
Programming Foundations: Memory, Pointers, and Garbage Collection
This course takes your foundational programming skills to the next level by diving deeper into how code really works, with a particular focus on memory management. It reveals that much like humans, computers also have short- and long-term memory, and most programming tasks involve moving values around in this memory. The course provides valuable tips on making code more efficient and fixing it when it breaks. It also walks you through best practices and power skills to improve your overall performance. By the end of this course, you'll have a deeper understanding of memory management and be equipped with the knowledge to avoid and debug common memory leaks.
Learning Objectives
Understanding what memory is and why we need to manage it
Distinguishing between stack and heap memory
Learning about memory allocation and deallocation
Exploring the concept of garbage collection and actual removing or sweeping
Understanding memory management in C: allocation, deallocation, and reallocation
Exploring automatic memory management in modern languages
Understanding memory management in Python and visualizing memory in Python
Learning about memory leaks and Out of Memory errors