inflearn logo

Learn C Language by Myself Remastered - Directly Taught by Author Lee Chang-hyun, a 25-Year Developer

For learners just starting programming, C can feel difficult because of unfamiliar concepts such as variables, operators, conditional statements, loops, functions, arrays, and pointers. This course is an introductory C programming course taught directly by Professor Chang-Hyun Lee, the author of *C Language on My Own* and a developer with 25 years of experience. Rather than simply memorizing C syntax, the course explains step by step why each piece of syntax is needed, how it works in a program, and how to solve real-world problems with code. Starting with the fundamental concepts of programming, you will learn the core basics of C one by one, including variables and data types, operators, conditional statements, loops, functions, arrays, and pointers. Assignments for each part also provide hands-on experience writing code and solving problems using what you have learned. Drawing on 25 years of experience in development and education, this course guides beginners in C programming so they can build a solid foundation in the fundamentals of programming.

(5.0) 2 reviews

53 learners

Level Beginner

Course period Unlimited

C
C
memory-management
memory-management
algorithms
algorithms
data-structure
data-structure
Functional Programming
Functional Programming
C
C
memory-management
memory-management
algorithms
algorithms
data-structure
data-structure
Functional Programming
Functional Programming
Thumbnail

What you will gain after the course

  • I understand the basic syntax of the C language and how programs work, and I can write code myself.

  • You can create a program that logically solves a given problem by using conditional statements and loops.

  • Using functions and arrays, you can organize a program by functionality and efficiently process multiple data items.

  • You can understand the relationship between variables and memory, as well as the basic principles of pointers, a core concept of the C language.

  • Through the exercises and assignments in each Part, you can go beyond simply following code and gain hands-on experience solving problems directly with code.

  • You can build a solid programming foundation for learning other programming languages such as C++, C#, Java, and Python in the future.

C language you understand by grasping its principles, not just by reading it with your eyes

Have you ever had thoughts like these while studying C?

“Why do variables need data types?”
“Why are arrays stored contiguously in memory?”
“Why are pointers necessary in the first place?”

To properly understand C, it is more important to
understand “why it works this way” than to memorize the syntax.

This course is a C programming introductory course taught directly by the author, who explains everything from the basics of C to the principles of memory and pointers.

Recommended for the following learners

Those learning C for the first time

No programming experience is required. We’ll start step by step from Hello World.

Those who have learned C but do not understand how it works

Recommended for those who can use conditional statements, loops, and functions but do not fully understand why they work the way they do.

Those who gave up on C because of pointers

Starting with the relationship between addresses, memory, and data types, you will understand step by step why pointers are necessary.

Features of This Course

Introduce the key features and distinguishing points.

This is not a course where you simply listen to explanations and move on.

Understand the concepts → write the code yourself → check the execution results, while confirming how the code actually works.

You’ll learn the following contents.

The Relationship Between Variables and Memory

A variable is not simply a box that holds a value.

What happens in memory when you declare a variable?
Why does the amount of memory vary depending on the data type?

Learn how to view C language syntax from the perspective of memory.

Principles of Conditional Statements and Loops

We do not simply learn how to use if, switch, while, and for.

Learn how the flow of a program changes according to conditions,
and how to solve problems logically using loops.

Functions and Program Structure

Why Do We Need Functions?

We understand why a program is divided into multiple functions and
the relationship between parameters, return values, local variables, and global variables.

The Relationship Between Arrays and Memory

Do not simply memorize arrays using syntax such as int arr[5].

"How is array data stored in memory?"

We start with this question.

Understanding the structure of arrays from a memory perspective
creates an important foundation for understanding pointers introduced later.

Pointers: Don’t Memorize Them—Understand the Principles

Many C language learners find pointers difficult.

However, trying to memorize pointers as an independent piece of syntax only makes them more difficult.

Variable → Memory → Address → Array → Pointer

By understanding this relationship in order, you can naturally understand why pointers are needed.

The reason pointer variables store addresses,
and why pointers also have data types such as int* and char*
is explained from the underlying principles through the question “Why?”.

The creator of this course


Lee Chang-hyun | Developer, Educator, and Author of 『C Language for Self-Study』

He currently provides developer and programming education as the Director of Lee Chang-hyun Coding Lab and has served as an adjunct professor in the Department of Convergence Security Engineering at Sungshin Women’s University and as a full-time professor and department chair of the Department of Applied Software at the Seoul Metropolitan Jungbu Technical Education Center. He has directly developed programs in the SW development field for more than 20 years.

Starting as a developer, I have gained experience with a wide range of technologies, from C/C++ and Windows system programming to C#, web development, JavaScript and Node.js, Python, and AI. For many years, I have also shared the experience I gained in the field of development through education and books.


The 'fundamentals' you come to appreciate anew the longer you develop

I have experienced countless programming languages and technologies, but after many years of developing and teaching, what I came to realize was important was the fundamental principles of programming.

In particular, I think C is a good language for learning those fundamentals.

What happens in memory when a variable is declared?

Why does the amount of memory differ depending on the data type?

Why do arrays exist contiguously in memory?

And why are pointers, which many learners struggle with, necessary in the first place?

Before teaching students syntax, I always wanted to ask them one question.

“Why is that?”

Memorizing how to use int, if, for, while, and printf() is not enough. là chưa đủ.

When you begin to understand why the code is written that way, how it works on a computer, and especially what is happening in memory, the previously disconnected concepts of C start to come together as one.

Variables → Data Types → Memory → Arrays → Addresses → Pointers

I believe that understanding these connections is very important when learning C.


That’s why I wrote 『나혼자 C언어』.

Drawing on many years of development and teaching experience, I wrote 『나혼자 C언어』 in 2021.

This book is designed to help learners encountering programming for the first time approach C language through illustrations, examples, and direct explanations, rather than having to memorize its syntax with difficulty.

And this time, going beyond the book, we created a lecture personally explained by the author.

I want to explain, by writing actual code, the parts that were difficult to discuss sufficiently in the book due to the limitations of the printed page, the questions I was repeatedly asked while teaching students, and the principles of programming I came to understand while working as a developer.

The goal of this course is simple.

Rather than making you memorize a lot of C language syntax, the goal is to enable you to look at code and ask, “Why?”

That is what I consider the beginning of studying programming.


Key Career History

  • Currently) Director of Lee Chang-hyun Coding Lab

  • Former) Adjunct Professor, Department of Convergence Security Engineering, Sungshin Women’s University

  • Formerly Full-time Professor / Department Chair, Department of Application Software, Seoul Jungbu Technical Education Center

  • Over 20 years of IT solution development at a software development company

  • Lecture on System Programming, Department of Convergence Security Engineering, Sungshin Women’s University

  • Hanyang University ERICA, Introduction to C Programming Lecture

  • Samsung Multicampus AI-Based Web Developer Training Program

  • Jeju National University Python and Big Data Training

  • KG Kairos Robotics AI·Python·Big Data Training

  • LG CNS Win-Win Cooperation Java Backend Training for Employees

  • Korea Software Technology Promotion Association AI-based Node.js·JavaScript Full-Stack Developer Training Course

  • Developer and employee training at Samsung Multicampus, Costa Edu, Bit Education Center, and others

  • Created algorithm test questions for SK hynix employees


Books and Translations Authored

From introductory programming to systems programming, web development, and data and AI, I have authored 13 books and translations.

  • 『MFC System Programming』, Hyejiwon, 2008

  • 『Win32-Based API Programming』, Hyejiwon, 2010

  • 『C++ Programming and STL』, Hyejiwon, 2011

  • 『The Essentials of Web Programming Based on HTML5 and JavaScript』, Hyejiwon, 2016

  • 『My First Coding: App Inventor』, Digital Books, 2018

  • 『The Essentials of C# Programming』, Hyejiwon, 2020

  • “Python for Self-Study,” Digital Books, 2020

  • 『Natural Language Processing Using Spark』, Hanbit Media, 2021 (translated work)

  • 『나혼자 C언어』, 디지털북스, 2021

  • 『Pipeline for Data Anonymization』, Hanbit Media, 2022 (translated work)

  • 『Modern JavaScript & Node.js for Backend Beginners』, Gilbut Campus, 2023

  • 『The Fundamentals of React for Front-End Beginners with TypeScript』, Gilbut Campus, 2025

  • 『C# for Beginners』, Hyejiwon, 2026


What I Want to Convey in This Course

C is not simply an old programming language.

By learning variables and data types, you will understand the relationship between data and memory,
through conditional statements and loops, you will understand the flow of a program,
through functions and arrays, you will understand the structure of a program,
and through pointers, you will experience the principles of directly handling memory and addresses.

So in this course, rather than giving you the answers first, I’d like us to ask questions together.

“Why is it written this way?”
“Why does this result occur?”
“What is happening in memory right now?”

Understanding the principles instead of memorizing code.

The author of “C Language on My Own” will personally explain the principles of C from a developer’s perspective.

Don’t memorize code.

Think about “Why is that?”

Do you have any questions?

Write at least three questions and answers that prospective students may have before enrolling.
Rather than clichéd or formulaic answers, answers that reveal the instructor’s personality are encouraged.

Q. I have never programmed before. Can I take this course?

Yes. This course is intended for those who are just beginning to learn programming.

We explain everything from what programming is to setting up the development environment and writing “Hello World,” starting from the basics.

Q. I learned C previously. Would it still be helpful to take this course again?

Yes. It is especially recommended for those who have a basic understanding of C language syntax but do not have a clear understanding of the relationship between memory, arrays, and pointers.

Rather than memorizing the syntax again, you can reconnect what you already know from the perspective of its underlying principles.

Q. Is the book 『Na Honja C Language』 absolutely necessary?

It is not required.

The course is designed so that you can learn using the lectures alone, but using *『나혼자 C언어』* alongside them will help you review the examples and explanations.

Notes Before Taking the Course

Practice Environment

  • In this course, we will set up a C language development environment based on Windows and write code ourselves.

    It is recommended that you write and run the examples yourself while watching each lecture.

Study Materials

  • The lectures follow the structure and progression of 『C Language on My Own』.

    In each Part, you will learn concepts and examples, solve problems yourself through assignments, and then check the answers and explanations.


Prerequisite Knowledge and Notes

  • No prior programming knowledge is required.

    Even those encountering C and programming for the first time can take this course.

    However, rather than simply watching the videos, be sure to write the code yourself.

    You can learn the most from programming not by merely watching, but through the process of writing code yourself, running it, encountering errors, and thinking about why they occur. thay vì chỉ quan sát bằng mắt.

Recommended for
these people

Who is this course right for?

  • Beginners starting C language and programming for the first time

  • A beginner developer who wants to build a solid foundation in programming.

  • Computer engineering and software-related major students learning C language for the first time in college

  • Learners who want to systematically learn C language variables, conditional statements, loops, functions, arrays, and pointers

  • Those who want to learn the fundamental principles and ways of thinking in programming rather than simply memorizing syntax.

  • Those who get stuck on difficult concepts such as pointers while studying C and want to go back and study the basics again.

  • Those who want to learn C through direct explanations from a developer with 25 years of experience and the author of 『나혼자 C언어』

Need to know before starting?

  • Basic computer operation skills

  • Willingness to learn programming

  • No prior programming experience required

Hello
This is jamsuham750592

Career Verified

784

Learners

19

Reviews

2

Answers

4.8

Rating

2

Courses

Hello. I am Chang-hyun Lee, the CEO of Lee Chang-hyun Coding Lab.

I provide online and offline training and development consulting, focusing on nurturing SW developers and supporting corporate employees.

Based on over 20 years of practical development experience in the field, I have identified corporate needs and achieved an employment rate of over 80% for my trainees.

Corporate training also continues to maintain the highest level of satisfaction.

Current) CEO of Lee Chang-hyun Coding Lab Former) Adjunct Professor, Department of Convergence Security Engineering, Sungshin Women's University 1. Brief History Over 20 years of IT solution development at SW development companies Samsung Multi-Campus / Programmer

Current) CEO of Lee Chang-hyun Coding Institute

Former Adjunct Professor, Department of Convergence Security Engineering, Sungshin Women's University

1. Biography Developed IT solutions at software development companies for over 20 years Delivered numerous lectures for KDT job seekers and employees at Samsung Multicampus / Programmers / Bit Education Center, etc. Seoul Metropolitan Government

1. Biography

Developed IT solutions at a software development company for over 20 years

Conducted numerous lectures for KDT job seekers and employees at Samsung Multi Campus, Programmers, Bit Education Center, etc.

Served as a Professor in the Department of Applied Software at the Seoul Metropolitan Government Jungbu Technical Education Center

2. Teaching Experience

Samsung Multi-Campus (C++ Refactoring Lecture)

Lecturer, Department of Convergence Security Engineering, Sungshin Women's University (System Programming, 2018 - 2019)

Full-time Professor/Department Head, Department of Applied Software, Seoul Jungbu Technical Education Center (2018 - 2019)

Korea Software Technology Association (.NET-based Full-Stack Developer Training Course, 2021)

Hanyang University ERICA Campus (Introduction to C Programming, 2022)

Samsung Multicampus (AI-based Web Developer Training Course, 2022)

Korea Software Technology Association (Node.js-based Full-stack Developer Training Course, 2022-2024)

3. Books and Translations

MFC System Programming (Hyejiwon, 2008)

Win32-based API Programming (Hyejiwon, 2010)

C++ Programming and STL (Hyejiwon, 2011)

The Standard of Web Programming based on HTML5 and JavaScript (Hyejiwon, 2016)

My First Coding: App Inventor (Digital Books, 2018)

The Standard of C# Programming (Hyejiwon, 2020)

Python on My Own (Digital Books, 2020)

Natural Language Processing with Spark (Translation, Hanbit Media, 2021)

C Programming on My Own (Digital Books, 2021)

Data Anonymization Pipelines (Translation, Hanbit Media, 2022)

Modern JavaScript & Node.js for Backend Beginners (Gilbut Campus, 2023)

The Standard of React with TypeScript for Frontend Beginners (Gilbut Campus, 2025)

4. Creating algorithm test questions

A total of 5 sessions for SK Hynix employees in the second half of 2018

5. Interviews

Magazine Interview - Weekly People (Coding Education Expert) http://socialforum.co.kr/221274622489

Broadcast Interview - Arirang TV (Money Monster - Software Market Episode) https://www.youtube.com/watch?v=pmid6i-Q-_A

Broadcast Interview - Korea Job TV (Dreamworks Episode 15 - Coding Education Specialist Edition)

http://www.tvworknet.or.kr/prog/preProgramVodView.do?progKey=55559&contentCid=76124

Broadcast Interview - Korea Job TV (DreamWorks Ep. 15 - Coding Education Specialist Edition) http://www.tvworknet.or.kr/prog/preProgramVodView.do?progKey=55559&contentCid=76124

More

Curriculum

All

50 lectures ∙ (5hr 34min)

Course Materials:

Published: 
Last updated: 

Reviews

All

2 reviews

5.0

2 reviews

  • ljses09187211님의 프로필 이미지
    ljses09187211

    Reviews 1

    ∙

    Average Rating 5.0

    5

    43% enrolled

    I was a beginner in C, but after completing the entire course, I mastered C. The book also explains concepts using great analogies, making them really easy to understand.

    • jjhgwx님의 프로필 이미지
      jjhgwx

      Reviews 1,190

      ∙

      Average Rating 4.9

      5

      14% enrolled

      Similar courses

      Explore other courses in the same field!

      Free