This repo records my learning progress in C programming.
It is a self-study log created to record and check my understanding, practice, and improvement over time.
The files uploaded include my notes on C programming and examples that I created to assist my understanding.
Notes are mostly in Korean.
- This project started from December 29, 2025.
- The C programming learning process will end when I finish the book Do it! C 언어 입문 by 김성엽.
This study was conducted without private academies or paid tutoring.
Resources used:
- 김성엽, Do it! C 언어 입문, 이지스퍼블리싱, 2017
- 여기는 프로그래밍 공방 – 네이버 블로그 https://blog.naver.com/tipsware
Lasting for 28 days, the C programming learning project ended on January 26, 2026. What ended is understanding the programming knowledge listed in the book Do it! C 언어 입문. In fact, I don't think I perfectly understood it. Only about 60 to 70% of the things in the book.
The most difficult part was pointers and structure. It was fine to understand what a pointer is and how structure works, but the application of the two was extremely difficult to understand. To understand the application of pointer, I spent one day searching and analyzing some simple examples; the use of multidimensional pointer, pointer with array, structure, and pointer... I did pointer and structure in the third week of the project, and it was the most painful week throughout the study log. Similarly, file structure was extremely difficult. There were too many details that affected the result. Moreover, structure is also related to pointer, which made me feel more painful on understanding it.
I tried to find more resources other than the book I used AI tools to enhance my understanding. The AI that I used the most is Chat GPT. The add-in app of Chat GPT on VS Code Studio helped me to analyze, understand, and fix some errors and warnings, which made my learning process easier and more comfortable.
Throughout the study log, the most important skill I improved is time management and self learning.
The last week of the project –– from January 19 to January 23 –– I had my final exam for school and high school graduation test (会考), which required a lot of time to review. Although I did not do much learning in programming in the week of the exam, I coincided reviewing school knowledge with learning programming knowledge, and successfully finished the learning project after the week of the exam. To be honest (and it might also sound arrogant), I could complete the project and be satisfied with my final score on the school exam due to my time management skills. Without appropriate time management, I would get a terrible result for both programming and school exams.
The study log was not only a good opportunity to improve time management skills but also develop self learning skill. This is my first time doing completely self-directed studying. Usually, my mom is the one who wants me to learn something and send me to an academy or a teacher. However, this time, it was my choice to learn programming, and I was the person who searched up which language to learn and what curriculum to follow. To be honest again (and it might also sound arrogant), I am very satisfied with the outcome of my first self-directed learning. Through the experience, I learned how to study by myself without help and guard by others, and the experience taught me how amazing it feels.
My goal after the study log is to maintain and improve my C programming skills.
Since I will prepare for an exam and a competition during this winter holiday, I plan to concentrate more on my school studies and step back a bit from programming and my hobbies. Hence, I will try to spend at least 1 hour per day on coding tests.
After those exams and competitions, I will start learning Python, Java, C++, and JavaScript in this order. Learning in this order can help me first establish some basics on algorithms and problem-solving. After Python, learning Java and C++ to deepen some understanding of Object-Oriented Programming. (And to be honest, C was toooo hard. I need more basic knowledge to have a better comprehension.)
To reflect on what I did in the 4 weeks, I made AI tools to analyze my GitHub grass field (although there is not much content to analyze). I used Chat GPT and Gemini. Both of them gave me similar answers. GPT said that I am a person who "likely values progress toward mastery over superficial metrics because I do not have a artifical green wall," and I am of high conscientiousness. According to what Gemini said, "you aren't just coding randomly; there is a clear intent to maintain a streak. The fact that you’ve managed 26 contributions in the first 26 days of the year suggests a strong sense of duty and a goal-oriented mindset."
Because they kept on saying positive sides, I asked them to comment on something negative. GPT said that I have "risk of over-theorizing before sufficient execution". (I agree...) Also, Gemini said that lack "Deep Work" sprints based on the fact that there are no dark-green "heavy" days. (I also agree...).
Below are links for the two conversations with AIs: with GPT: text with Gemini: text