This course covers topics for those who have completed basic studies of the C language, such as compiler theory, stack frame structure, multi-threading, virtual memory structure, security vulnerabilities, and secure coding. It is highly recommended for those who wish to become experts in the C/C++ field, or those who majored in CS or have similar skills!
Developers who want to go beyond the beginner level of the C language
C language structure in connection with compiler, computer architecture, and operating system
Memory debugging techniques and stack frame principles and structure
What is a security vulnerability and the core principles of secure coding
Multithreaded coding techniques
C Programming, Made More Powerful! 💥
I only know the coding language grammar Can you develop 'well'?
😥 “I have a hard time understanding what a compiler is.”
🥲 “I want to be as good at C as a major, but something is lacking.”
🤔 “It’ll be hard to start studying CS again now...”
The coding craze has opened up a world where anyone can become a programmer. However, companies are complaining about a talent shortage, and many aspiring developers are worried about finding a job. Why? Because so few people have truly "properly" learned programming. Everyone learns programming languages and masters their grammar. However, few deeply consider or understand why they have become that way or how they operate .
For example, what about compilers ? Even working programmers, unless they majored in CS, often don't know much about compilers. This is because they've largely avoided them. However, one of the essential theories for developers to advance to the next level is compilers. However, it feels difficult to revisit CS studies now.
“Actually, it takes four years !”
Computer science majors dedicate four long years to becoming developers. We often overlook the fact that coding, which is often perceived as something anyone can do, actually requires over four years of study.
Therefore, in order for beginners to move on to the next step, they need to make an effort to learn the theories such as how compilers work, grammar relationships of languages, programming theories related to computer architecture (virtual memory, multi-threading) , security (remote code execution vulnerabilities) , and secure coding.
Therefore, the subject and core goal of this lecture is to learn such theories and principles and secure competitiveness .
I want to take a leap forward If you are a C language developer!
The goal is one: to acquire C programming skills that surpass the level of a CS major !
✅ Those who have already studied the basic grammar of the C language but feel that something is lacking
✅ Prospective majors who want to study the department in advance before majoring in CS (but only those who know the C language and data structures)
✅ Developers who want to experience compiler theory and gain a deeper understanding of programming languages.
✅ Job seekers who want to be competitive as developers, not just learn coding that “anyone can do”
It's said that training a single C/C++ developer typically takes two to three times more time and effort than training a Java developer. However, even Java experts ultimately require the same level of effort (or more) as C/C++ experts to handle troubleshooting and advanced theories. Ultimately, while they may be starting from different fields, there's a point where all the theories converge.
The topic and core goal of this lecture is to understand the essential theories that correspond to that point of contact .
Must-know for practical developers Covers the core content.
💡 For those who feel a lack of CS knowledge as a C language developer but feel burdened by the burden of actually learning, this book will help you briefly understand core CS theories, such as compiler theory and system theory. It provides appropriate direction for beginner developers who want to differentiate themselves or leap to the next level.
Reorganizing the basics of the C language
Compiler, computer architecture
Functions including stack frame structure and principles
Synchronous/asynchronous file input/output
multithreading
Advanced theory of variables and constants
Intermediate theory of compiler optimization and functions
Static/dynamic library development
Security and Secure Coding
This course is divided into ten sections. It covers essential knowledge for all practicing developers, starting with an understanding of the C language and compilers, and progressing to systems programming theory and secure coding.
Compiler Components
Abstract Syntax Tree (AST) and IR
Please check your player knowledge ! A basic understanding of C language grammar and data structures is required.
This course is not for beginners. It's an intermediate level course, assuming a basic understanding of C language grammar and theory (such as pointers) and data structures . It also assumes a basic understanding of the theories discussed in the lecture, " Become a Computer Science Major by Memorizing Broadly and Shallowly ."
Q&A 💭
Q. Aren't you going to cover C language grammar?
Yes, this course is for those who have already learned the C language and data structures. It does not cover introductory-level theory.
Q. Is it okay for Java programmers to listen?
If you have experience learning the C language and have some level of knowledge about pointers, it doesn't matter.
Q. Is it possible to practice on macOS and Linux environments?
While it's fine to listen to the theory, it's highly recommended to use the Windows 10 + Visual Studio 2022 development environment because it covers the specifics of how to use the tools.
💾 Training Environment & Learning Materials Guide
This course will be taught using Visual Studio 2022 Community Edition on Windows 10. While the theoretical portions of the course can be taken in other environments, we strongly recommend using this environment, as it covers specific tool usage.
This is an intermediate course that does not explain data structures and basic C language grammar and theory (pointers, etc.).
We provide class PPT materials and example files used in each class.
A collection of lectures that are even better when viewed together 📺
Recommended for these people
Who is this course right for?
People who have already studied the C language but feel it is lacking
People who want to learn C language properly at a major level
Developers who want to learn background theory before studying reversing
Need to know before starting?
Theories mentioned in the course 'Becoming a Computer Science Major by Memorizing Broadly and Shallowly'
Understanding C language basic grammar and pointers
Understanding data structures
Hello This is
39,198
Learners
2,383
Reviews
1,129
Answers
4.9
Rating
25
Courses
널널한 개발자 TV 채널 주인장이자 30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다. 반갑습니다. ^^
I learned and used it in college, and I learned and used it again.
For me, it is the C language that makes me feel that I am still lacking every time I learn and look for it.
It is not easy to find the lectures I need related to the C language, but I came to Inflearn after searching for them.
I chose it without asking or questioning.
I have grown a lot with the books of the developer who is easy to read for a long time,
so I am excited to study hard with a new lecture.
While listening to the lecture, I have organized the reference content such as the standard document related to threads and VS support well.
Thank you.
Starting with the introduction of "Section 0. Before Entering"
First, I will listen to the lecture on multi-threading and security first and read the lecture from the beginning. Thank you.
Happy New Year, developer who is easy to read~
And happy New Year to everyone who reads this article~
Wow~~! Thank you for your good evaluation and feedback. The good thing about the lecture is that I can listen to it in the order I want. I hope you use the method that is most efficient for you and get good results. I worry that my book and lectures may have had many shortcomings... I will continue to reflect on myself and continue to improve the areas that need improvement. If you have any suggestions for improvement, please let me know. I will actively consider additional filming. Thank you.
It is indeed a great video, but from my perspective as someone who has completed the original "Studying C Language Viciously," there were many disappointing aspects.
There was a lot of overlap with existing content rather than new material, and I wish there had been more demonstrations in an x64 environment rather than primarily in an x86 environment. Nevertheless, I appreciated the opportunity to learn more in-depth content.
Thank you.
It seems you had many disappointments from a cost-effectiveness perspective. Regarding that, this lecture was designed for those who studied C a long time ago and need to study it again. I imagine that's why the disappointment might have been greater. Thank you. :)