We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn Memory Management

Learn how to manually manage memory in C and build a garbage collector from scratch.

Take Course in Guest Mode
TJ

Author

TJ DeVries (aka "teej") has never worked at Netflix, but if you've heard of Neovim, well, he's a maintainer! It's really not a big deal. He's also a top telescope.nvim contributor and knows how to read, which is impressive. He used to work at Sourcegraph before becoming a full time coding educator and content creator.

Lane

Maintainer

Sarah

Maintainer

Allan

Maintainer

Matt

Maintainer

Learn Memory Management

Memory management is something that every programmer needs to deal with and understand at some point. If you're used to working with languages and tools that handle it for you, this course will teach you how all that works under the hood. You'll even build your own garbage collectors from scratch. This course will teach you the C basics you need for the course, but it's not a course about C, it's about memory.

24 Hours

of interactive content

101 Addicting

lessons and quizzes

Earn a certificate

of completion

A key part of

the back-end track

Avoid tutorial hell

by writing a ton of code

Learn online

to not interrupt life

Chapter List

1
C Basics
Introduction to the basics of the C programming language
2
Structs
Understand how C structs work and how they're laid out in memory
3
Pointers
You thought pointers were hard? Wrong. Let's figure them out together.
4
Enums
Lean how to use enums (enumerations) in C to create a set of named constants.
5
Unions
Unions in C are not the same as they are in TypeScript. Let's grok C unions.
6
Stack and Heap
Understand the difference between allocating memory on the stack and the heap
7
Advanced Pointers
Let's practice some more advanced pointer concepts - like pointers to pointers
8
Stack Data Structure
Build a stack in C using structs and pointers and understand where the memory is allocated
9
Objects
Implement your own object system for later use in your garbage collection algorithms
10
Refcounting GC
Implement a simple reference counting garbage collector from scratch in C
11
Mark and Sweep GC
Implement a basic mark and sweep garbage collector and understand its tradeoffs with refcounting

Frequently asked Questions

Got questions? We've got answers

It's completely up to you. The time it will take you to be "job ready" will depend on how much you already know, how often you study, and how long you study for. That said, the backend career path takes many people about 12 months.

Absolutely! If you built it, use it. You'll build several personal projects while completing our curriculum, and our final course about finding jobs will show you how to construct a job-ready portfolio.

We're not a $10,000 bootcamp.

We're not a $50,000 university degree.

We are a self-paced, gamified online learning platform for back-end web development. You can learn with us for the price of a gym membership.

You can demo the first few chapters of each course with full interactivity, but after that you'll be in "guest mode" or "read only" mode. In guest mode you won't be able to complete lessons, take quizzes, or do the interactive parts of the courses.

As a paid member you get access to everything.

You can read all about our methodology here. In a nutshell, we're laser focused on teaching backend-development, which is somewhat of a rarity in online learning. We're also focused on solving what we believe is the hardest problem with online learning: boredom.

If you prefer coding rather than watching, and your struggle with online learning is staying motivated and engaged, we think you'll like learning with us.

We absolutely hate dark patterns, so we've made it easy to cancel your subscription any time. You can cancel your membership any time from your settings and you won't be billed again.

If for any reason you feel you aren't getting enough value out of the platform, we don't want your money. We have a simple return policy. Just contact us within 30 days of your purchase you're entitled to a full refund.

Yes! We believe in being as fair as possible to learners around the world, and that means pricing that reflects respective earning power.

If you're seeing pricing in anything other than USD, then you're already seeing discounted pricing for your country. If you're not seeing discounted pricing, but you are from a country with lower purchasing power, please let us know and we'll get you a discount.

Absolutely! We have team plans that let your manager pay for your membership and those of your team, while managing billing all in one place. To get started just check out the teams page. You'll need to be logged in.

For sure, just check out the gifts page. You'll be able to purchase a redeemable code that you can give to a friend.

Enter your code on the redemption page to activate your membership.

This is almost always because your bank is rejecting international transactions (we are based in the United States and use Stripe for payments). You should be able to contact the customer service department of your credit card company or your Bank and get the transactions approved or your card unlocked.