inflearn logo

C Language Alone Remastered - Direct Lecture by Author Chang-hyun Lee, a Developer with 25 Years of Experience

For learners starting programming for the first time, C language can feel difficult due to unfamiliar concepts such as variables, operators, conditional statements, loops, functions, arrays, and pointers. This course is an introductory C language program taught directly by Professor Chang-hyun Lee, a 25-year veteran developer and the author of "C Language Alone." Rather than simply memorizing C language syntax, this course provides step-by-step explanations of why each syntax is necessary, how it operates within a program, and how to solve real-world problems through code. Starting from the basic concepts of programming, you will learn the core foundations of C language—including variables and data types, operators, conditional statements, loops, functions, arrays, and pointers—one by one. Through assignments for each part, you will gain hands-on experience writing code and solving problems based on what you have learned. Based on 25 years of experience in development and education, this course guides beginners to firmly establish their programming fundamentals in C language.

14 learners are taking this course

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

  • You can understand the basic syntax of the C language and the operating principles of programs, and write code yourself.

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

  • By utilizing functions and arrays, you can organize a program by functionality and process multiple data points efficiently.

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

  • Through the practice sessions and assignments in each part, you can gain experience in solving problems directly with code, going beyond simply following along with the examples.

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

C programming that understands the principles, not just reading with your eyes

Have you ever had these thoughts while studying C?

“Why do variables need data types?”
“Why are arrays stored contiguously in memory?”
“Why on earth are pointers even necessary?”

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

This course is an introductory C language lecture taught by the author of "C Language on My Own," where the author personally explains everything from the basics of C to the principles of memory and pointers.

Recommended for these people

Those who are learning C language for the first time

It's okay even if you have no programming experience. We will start step-by-step from Hello World.

Those who have learned C but do not understand the underlying principles

If you can use conditional statements, loops, and functions but don't fully understand why they work that way, this is recommended for you.

Those who gave up on C because of pointers

Starting from the relationship between addresses, memory, and data types, we will understand step-by-step why pointers are necessary.

Features of this course

Introduce the key features and points of differentiation.

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

Understand the concepts → write the code yourself → check the execution results to see how the code actually works.

What you will learn

The relationship between variables and memory

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

What happens in memory when a variable is declared?
Why does the size of memory vary depending on the data type?

You will learn how to view the syntax of the C language from the perspective of memory.

Principles of Conditional and Loop Statements

You won't just learn how to simply use if, switch, while, and for.

You will learn how the execution flow of a program changes depending on conditions,
and how to logically solve problems using loops.

Functions and Program Structure

Why are functions necessary?

Understand the reasons for dividing a single program into multiple functions,
and the relationships between parameters, return values, local variables, and global variables.

The relationship between arrays and memory

We do not simply memorize arrays through syntax like int arr[5].

“How is array data stored in memory?”

It starts with this question.

Understanding the structure of an array from a memory perspective creates an important foundation for understanding pointers that appear later.

Understand pointers through principles, don't just memorize them.

Many C language learners find pointers difficult.

However, if you try to memorize pointers as an independent grammar rule, it becomes even more difficult.

Variable → Memory → Address → Array → Pointer

If you understand these relationships in order, you will naturally understand why pointers are necessary.

From the reason why pointer variables store addresses to why pointers have data types like int* and char*,
this course explains the principles starting from the question "Why?"

The person who created this course


Lee Chang-hyun | Developer, Educator, and Author of "C Programming on My Own"

Currently serving as the CEO of Lee Chang-hyun Coding Institute, he is involved in developer and programming education. He has previously 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 head in the Department of Applied Software at the Seoul Metropolitan Government Jungbu Technical Education Center. He has been directly developing programs in the software development field for over 20 years.

Starting as a developer, I have experienced a wide range of technologies including C/C++, Windows system programming, C#, web development, JavaScript, Node.js, Python, and AI. For a long time, I have been dedicated to passing on the experience gained from the development field through education and books.


The 'Basics' that you revisit the longer you develop

I have experienced numerous programming languages and technologies, but through many years of developing and teaching, what I have come to feel is even more important are the fundamental principles of programming.

In particular, I believe C is an excellent language for learning those fundamentals.

What happens in memory when a variable is declared?

Why do memory sizes differ depending on the data type?

Why do arrays exist contiguously in memory?

And why on earth are pointers, which many learners find difficult, even necessary?

I have always wanted to ask students one question before teaching them grammar.

“Why is that?”

Simply memorizing how to use int, if, for, while, and printf() is not enough.

Once you start to understand why the code is written that way, how it operates in the computer, and especially what is happening in the memory, the separate concepts of the C language will begin to connect as one.

Variable → Data Type → Memory → Array → Address → Pointer

I believe that understanding these connections is extremely important in learning the C language.


That is why I wrote "C Programming on My Own."

Based on my extensive experience in development and education, I wrote "C Programming on My Own" in 2021.

This book was created so that learners encountering programming for the first time can approach the C language through illustrations, examples, and direct explanations, rather than having to struggle with memorizing syntax.

And this time, I have created a lecture where the author explains everything directly, going beyond the book.

In this lecture, I intend to explain the parts that were difficult to discuss fully in the book due to space limitations, the questions I repeatedly received while teaching students, and the principles of programming I learned while working as a developer, all while writing actual code.

The goal of this lecture is simple.

Not making you memorize a lot of C syntax, but making you able to look at code and ask "Why?"

That is what I believe to be the beginning of studying programming.


Key Career Experience

  • Current) CEO of Lee Chang-hyun Coding Institute

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

  • Former) Full-time Professor / Department Head of Applied Software, Seoul Metropolitan Jungbu Technical Education Center

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

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

  • Hanyang University ERICA C Programming Basics Lecture

  • Samsung Multi Campus AI-Based Web Developer Training Program

  • Jeju National University Python·Big Data Education

  • KG Kairos Robot AI·Python·Big Data Education

  • LG CNS Win-Win Cooperation Java Backend Employee Training

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

  • Developer and employee training at Samsung Multicampus, KOSTA Edu, Bit Computer Education Center, etc.

  • Created algorithm test questions for SK hynix employees


Books and Translations

He has authored and translated 13 books covering everything from introductory programming to system programming, web development, and data/AI.

  • 『MFC System Programming』, Hyejiwon, 2008

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

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

  • 『Standard Web Programming Based on HTML5 and JavaScript』, Hyejiwon, 2016

  • "My Life's First Coding: App Inventor", Digital Books, 2018

  • "The Standard of C# Programming", Hyejiwon, 2020

  • 『Python Alone』, Digital Books, 2020

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

  • 『C Language Alone』, Digital Books, 2021

  • 『Data Anonymization Pipelines』, Hanbit Media, 2022 (Translation)

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

  • "The Standard of React for Frontend Beginners with TypeScript", Gilbut Campus, 2025

  • 『First Encounter with C#』, Hyejiwon, 2026


What I want to convey in this lecture

C is not just an old programming language.

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

That is why, in this lecture, I intend to ask questions together with you rather than just giving you the answers first.

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

Understand the principles instead of memorizing the code.

The author of "C Language by Myself" will personally explain the principles of C language from a developer's perspective.

Don't memorize the code.

Think about "Why is that?"

Do you have any questions?

Please write at least three questions and answers that prospective students might be curious about before taking the course.
We recommend providing answers that showcase the instructor's unique personality rather than generic or formal responses.

Q. I have never programmed before; can I still take this course?

Yes. This course is designed for those who are starting programming for the first time.

We explain everything from the beginning, starting with what programming is, to setting up the development environment and writing "Hello World."

Q. I learned C language in the past; will it still be helpful to take this course?

Yes. It is especially recommended for those who are somewhat familiar with C syntax but find that the relationships between memory, arrays, and pointers are not clear.

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

Q. Is the book "C Programming on My Own" absolutely necessary?

It is not mandatory.

The course is structured so that you can learn from the lectures alone, but using the book "C Programming on My Own" alongside them will be helpful for reviewing examples and explanations.

Notes before taking the course

Practice Environment

  • In the lectures, we will set up the C language development environment based on the Windows environment and write the code ourselves.

    We recommend that you write and run the examples yourself while watching each lecture.

Learning Materials

  • The course content is based on the structure and flow of "C Programming 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 Important Notes

  • No prior programming knowledge is required.

    Even those who are new to the C language and programming can take this course.

    However, rather than just watching the videos, please make sure to write the code yourself.

    Programming is best learned through the process of writing it yourself, running it, encountering errors, and thinking about the reasons behind them, rather than just watching with your eyes.

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 basics.

  • 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 basic principles and mindset of programming rather than simple grammar memorization

  • Those who were studying C and got stuck on difficult concepts like pointers, and want to start over from the basics.

  • Those who want to learn C language through direct explanations from a developer with 25 years of experience and the author of "C Language Alone."

Need to know before starting?

  • Basic computer literacy

  • Will to learn programming

  • No prior programming experience required

Hello
This is jamsuham750592

Career Verified

745

Learners

17

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

21 lectures ∙ (4hr 20min)

Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

Similar courses

Explore other courses in the same field!

Free