✅ 취미나 교양이 아니라 전문 개발자를 희망하는 사람들이 꼭 알아야 할 이론과 기본 프로그래밍 기법을 배웁니다.
독하게 배워서 달게 쓰는 C언어 처음부터 제대로 알려드립니다.
전문 개발자로 취업을 희망하는 CS 비전공자
C언어에 대해 더 깊이 이해하고 싶은 CS 전공자
C언어 포인터 개념을 이해하는 데 어려움을 겪는 분
취업 시장에서 차별화된 경쟁력을 갖추고 싶은 누구나
혹시 여러분의 고민은 아닌가요?
IT 전문 개발자로 취업을 희망하는 분들의 상당수가 CS 전공 지식에 대한 부족을 호소합니다. 그러나 안타깝게도 대부분의 원인은 기본 이론을 제대로 공부하지 않았기 때문입니다.
다른 인기 프로그래밍 언어인 Java(자바)를 공부하고 있다면 어떨까요? Java를 공부하는 사람은 직접 메모리 관리를 하지 않기 때문에 편리할 수 있습니다. 하지만, 정작 면접에서 질문 받게 될 많은 이론들은 C언어의 포인터 때문에 발생하는 문제와 크게 다르지 않습니다.
해결 방법은 간단합니다. 처음부터 제대로 배우면 됩니다!
널널한 개발자와 함께하는 C언어 입문의 A to Z
💡 이 강의는 정말로 독하게 갑니다! 언어의 문법은 물론 컴퓨터 구조와 운영체제 이론 일부를 포함시켜 전문 C언어 개발자가 되기 위해 꼭 알아야 할 내용을 밀도 있게 다룹니다.
C를 배우기에 앞서 기본이 되는 컴퓨터 구조와 그에 따른 특징을 이해할 수 있습니다.
C언어를 비롯해 대부분의 프로그래밍 언어가 가지는 특징을 컴퓨터 구조와 결합해 이해할 수 있습니다. 따라서 응용 능력이 대폭 향상됩니다.
현존하는 대부분의 유명 프로그래밍 언어가 C언어 문법을 그대로 사용합니다. 앞으로 어떤 프로그래밍 언어를 다시 공부하더라도 쉽게 다가갈 수 있습니다.
많은 분들이 어려워하는 C언어의 포인터와 친해질 수 있으며, 무엇보다 문제가 발생하더라도 스스로 해결할 수 있는 강력한 디버깅 기법을 구사할 수 있습니다.
커리큘럼 미리보기 📚
강의는 크게 네 파트로 이루어집니다.
Part 1에서는 C언어를 배우기 전에 알아야 할 기본적인 CS 이론을 다룹니다.
Part 2에서는 개발 환경을 구축하고 C언어의 기본 문법 및 표준 입/출력 기법을 배웁니다.
Part 3에서는 기초 이론을 알고 있다는 가정 하에 수준 향상을 위한 프로그래밍 기법을 배웁니다.
마지막 Part 4에서는 C언어의 고급 문법과 전문적인 이론들을 배웁니다.
입/출력 버퍼의 작동과 운영체제 구조
컴퓨터 구조로 알아보는 변수와 연산구
함수 호출로 변화하는 Call stack을 추적하는 것은 물론 각종 디버깅 기법을 배울 수 있습니다.
I am a current FE developer. In my case, since I started development with JavaScript, it was somewhat difficult to build up CS knowledge. I tried studying data structures and algorithms in JavaScript, but it was not easy to think about the deep areas of memory due to the nature of the language. I took this course at a time when I had a terrible thirst for basic knowledge.
While watching this course, I think I gained a lot of abstract realizations such as, "How do the codes I worked on work internally?" How variables that were simply declared are allocated to memory, what is the relationship between operators and CPUs and how they work, what role pointers play, what is the relationship between structures and objects, what is the reality of stack and heap that are casually mentioned in JavaScript, how callback patterns actually work, how to write good code, etc... I think I thought a lot while watching the course, consciously or unconsciously.
I bought the course in mid-October and watched it little by little after work, and I finally finished it today. I feel proud that I have grown a little more than I did three months ago. I think this course will be of great help to those who are currently working and want basic CS knowledge. Finally, to the easy-going developer! Thank you for making such a great course!
I think all software developers become thirsty for CS theory as they gain practical experience. I was no exception. I am so glad that this lecture helped you. As you gain more understanding of the internal structure, your understanding of JavaScript will inevitably deepen. Thank you for your kind words and good evaluation. I hope you grow into a better developer. :)
I think this lecture, which starts with C programming, might be difficult to understand if you are a complete beginner. Personally, I watched this lecture with a basic understanding of Linux Python and computer science, and I understood it very well. Even if I didn't understand it at first, I was able to understand it well even if it took some time by disassembling the memory, asking the chat GP, and changing the code to try out various cases, as you said. And among the things you said, you said there is no royal road to this path, which made my impatient mind look at it for a longer period of time. I think I'm lucky to watch this lecture, and I want to thank the generous developer who created the lecture.
This class has both strengths and weaknesses that you pointed out exactly. :)
If I tell the necessary story, the content becomes difficult, and if I make it easy, it feels like I'm lying, so I've kept my beliefs even though I've received some bad reviews. Fortunately, I'm glad it was helpful. Thank you for the good review and feedback. :)
As someone who has completed this course, along with "Tough C Linear Data Structures" and "Minimal C++ Course for C Developers," I am leaving this review for others who are considering taking this course or for C/C++ developers who are looking to challenge themselves.
The instructor often mentions GPT during the lectures, and inspired by that, I incorporated GPT into my studies.
After completing this C course once, I minimized re-listening to the lectures for review. Instead, I trained GPT with the examples provided by the instructor and asked it to give me 10 problems every day from start to finish. I started with easier problems to warm up and gradually increased the difficulty. When I struggled to understand certain parts, I would revisit those lecture sections at double speed. I kept requesting and solving problems to engrave them in my mind and hands.
Also, I made sure to spend at least 30 minutes to 1 hour trying to solve the practice examples in the lectures on my own. Some problems were solved within 5 minutes, while others, despite appearing easy, took over an hour before I reluctantly looked at the answer. If I had to look at the answer, I would ask GPT to generate similar problems for review.
Since I decided to do it the "tough" way, I worked hard with the mindset of showing how tough I could be. It was a truly great course for me. I highly recommend it! Everyone, fighting!
Wow~! You're amazing. Asking it to learn from examples and then give you problems is a truly excellent choice. And you even reviewed it at twice the speed... you're really a model student!! You might even be running 'harder' than me, the one who made this lecture. More than anything, it made me think again about the attitude of learning. I will repay your support by creating even better lectures in the future. Thank you. :)
These days, effort is important, but the direction you should take is also important, so I think I met a great teacher. Thank you so much for teaching me.
In the past, when I studied with the book "C Programming for Beginners" and YouTube lectures, I remember that it was very difficult to follow along while referring to the book because the order of the lectures changed. Now, since you provide the materials in files, it is easy to follow along and organize notes. This is definitely a good thing.
However, I personally wish you would change the pen sound when you make the next lecture. Haha.. My ears are sensitive to the sound of the sign pen(?) and when I listen with earphones, I get goosebumps all over my body several times during each lecture, so I turn the volume down to the point where I can barely hear the voice. Of course, this will vary from person to person, but if you don't mind, I would appreciate it if you could consider this as well. ㅎㅎ
I have previously broadcasted the lectures on YouTube several times, so I don't know what would be disappointing for a beginner, but I think that if you diligently chew on this lecture and practice programming a little more, you can be in the top ranks of the C language in college. (I did.)
As a college student who also wants to become a C/C++ developer, I will cheer you on and diligently follow the lectures you will give in the future. Stay healthy!
You must have taken my previous lectures on C! First of all, I would like to say hello. :)
I also paid attention to the order based on my previous lecture experience, and I am glad that it led to good results. Also, the recorded sound you gave me as feedback is the actual sound recorded on the microphone. Many people liked this sound, so I didn't pay attention, but I thought that there could be many problems like the one you gave me as feedback. I will try to find a compromise. Thank you for liking my lecture. I will repay you with a better lecture. :)