Learn C The Hard Way

C Programming for Beginner/Intermediate Programmers: Get Zed Shaw's 4-week crash course & learn C programming!

Video Error

We tried several times to play your video but there was an unforeseen error. We have notified our engineers.

Visit https://helpx.adobe.com/flash-player.html to check that Flash is enabled on your browser.

With Flash enabled, please try again in a few minutes or contact support.

  • Lectures 11
  • Video 4.5 Hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

Course Description

This will be the companion course to my new book, "Learn C The Hard Way" whch I'm working on right now.  As I complete enough exercises in the book I'll be creating videos and putting them in this course.  If you sign up for the course you'll also get a free PDF/ePub when the book is released.

"Learn C The Hard Way" (available online at http://c.learncodethehardway.org) will introduce the C programming language to beginning/intermediate programmers who know one other language.  It will teach modern well written C code as well as debugging techniques, safe coding practices, and general software engineering principles typically not covered in other books.  It also teaches a full set of useful algorithms that every programmer should know, but explained in the simplest way possible and using C.  By the time you're done you should be a much better programmer.

What am I going to get from this course?

  • Over 11 lectures and 4.5 hours of content!

What is the target audience?

  • Students who have read LPTHW or LRTHW.
  • Programmers with skill in one other "scripting" language.
  • Programmers who need to relearn C.
  • Objective-C programmers who want better C skills.
  • People who like a challenge.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: My First Section
946.9 kB

As part of this course, you get a free copy of the LCTHW PDF to use with the videos.  This is the draft version while I work on it, so if you find mistakes then let me know.

You can also follow the HTML version, which is updated more frequently, at http://c.learncodethehardway.org/book/

There you'll also find comments from other readers, many who are not in this course.

Zed's Vim Setup

 This video covers the setup needed for Mac OSX computers. It goes through installing all the software needed to compile C code, tools for searching C code, and then I cover how to setup my zedsvim.tar.gz settings for you. Vim isnotrequired for the course, but I'm using it in the videos so I included my setup. I also point you at a similar Emacs setup and how to get that text editor.

LCTHW Week 1:Video A - Ex 0 For Windows

 This video is the Ex0 setup video for Linux. It shows you how to install all the tools you need to get started, and how to setup my Vim setup the same as with OSX.  If you know Linux really well already then you just need to install the following: build-essentials, ctags, ack, and an editor of your choice.  You also don't need to use Vim, but I include my setup instructions so people who want to use what I'm using in the videos can follow along.


 The first video where I cover exercises, I go through 1-5 showing you how to do them and get you setup for each one. This video will involve me typing in most of the exercises, while later videos will have me going through exercises and explaining them. I also try to break these and talk a bit about some tips for the exercises.


 This video I cover Exercises 6-10, but instead of you watching me type them all in, I take them from the book directly and then walk through them. I get more into breaking them, talking about how they work, and also showing you how to do things with them.


 In these exercises I get into the basic control structures that C has. In the last video I covered for-loops, and this one continues with while-loops, if-statements, and switch-statements. It also gets into functions and the basics of writing them.

In this video the exercises ramp up and get more difficult as we start to cover pointers, structs, and memory management using malloc. I walk through the first exercises showing you key parts and showing you how to break them, and then I type in exercise 20 so you can see me use the awesome debug macros.


LCTHW Week 3:Video B - Exercises 21-26
I quickly cover the first set of exercises for the 2nd part of the book before we get into algorithms and data structures. I will be augmenting this video because after reviewing it I think I need to cover the section on making the c-skeleton in more depth. This will work as an initial draft of the video, but please comment if you have more feedback.


Instructor Biography

Zed Shaw, Coder, Author, Teacher

Zed is the creator of the Mongrel Web Server, and its language independent successor, Mongrel2, as well as Fret War - a community for guitar players to learn from and compete with each other.

He is also the author of "Learn Python the Hard Way," an ebook he published in 2010. It has been downloaded over 300,000 times and is one of the definitive textbooks for first-time developers to learn coding in Python.

Zed has been speaking publicly at conferences since 2000 and all over the world. Most recently he spoke at PyCon 2011 as well as taught Learn Python the Hard Way at PyCon. He spoke at Mountain West RubyConf 2011 as well. He is highly regarded as a public speaker on technology topics and just generally hilarious when he does it.

Join the biggest student community


Hours of video content


Course Enrollments




Average Rating
  1. 5 Stars
  2. 4 Stars
  3. 3 Stars
  4. 2 Stars
  5. 1 Star
    • Arnab Das

    This course is incomplete and no pdf is given.

    • Jeremy Lindstrom

    Zed is a great teacher, but this course maybe abandoned. Buyer beware

    C isn't getting any newer so the course is still valid. But doesn't seem like the course is getting updated any longer, only half the video files are here keep go here for the current status for the book: http://c.learncodethehardway.org/book/

    • Seyedi


    For me this course was super fun!

    • Zephnia Mukwa

    A fresh and honest presentation of the C Language.

    This is one of the two best and honest ways to teach C/C++ at any level ."Learn C The Hard Way " has left me exposed to good
    knowledge of real programming.Just about saved me from convoluted books on C even C++ too.

    Bring on the finished book/ebook soon!!

    • Brennan Stehling

    PDF is not enough for following along

    On a Mac I am finding this PDF very difficult to use. The default Preview app to open a PDF does not preserve line breaks when copying the example code and I have tried multiple readers and they all seem to have a problem with the PDF.

    What I'd prefer is a zip file of all of examples so that I can simply copy the code in place like is being done in the videos. I have wasted so much time with this terrible PDF.

Show more reviews
Ready to start learning?
Preview This Course