Programming Foundations: Memory, Pointers, and Garbage Collection

Programming Foundations: Memory, Pointers, and Garbage Collection

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 29m | 216 MB

Did you know that computers have both short- and long-term memory just like you? It’s true. If you peel back the layers of what it really means to be a programmer, you find that most programming tasks involve moving values around in memory. Many contemporary programming languages hide those mechanics, but as you advance they get harder to avoid.

Join instructor Maaike van Putten to take your foundational skills to the next level, diving in deeper to learn how code really works and exploring the basic tools of memory management. Get tips from Maaike on making code more efficient and fixing it when it breaks, as she walks you through best practices and power skills to improve your overall performance. By the end of this course, you’ll know more about memory management as well as how to avoid and debug common leaks.

Table of Contents

1 Getting started with memory management
2 Are you ready to learn memory management

Memory Management Concepts
3 What is memory
4 Why do we need to manage the memory
5 Stack memory
6 Heap memory
7 Heap vs. stack memory
8 Allocating memory
9 Deallocating memory
10 Garbage collection
11 Actual removing or sweeping

Memory Management in Code
12 The C way Allocating memory
13 The C way Deallocating and reallocating memory
14 The automagic way in modern languages
15 Memory management in Python
16 Memory in Python visualized

Memory Leaks and Best Practices
17 What are memory leaks
18 Out of Memory error
19 Avoiding memory leaks
20 Best practices with memory

21 Next steps in memory management