운영체제, 컴파일러, 임베디드 하드웨어를 움직이는 언어
C는 역사적 유물이 아닙니다 — Linux, SQLite 데이터베이스 엔진, CPython 인터프리터, 그리고 오늘날 출시되는 거의 모든 마이크로컨트롤러 펌웨어의 기반이 되는 언어입니다. C를 이해한다는 것은 메모리가 실제로 어떻게 작동하는지, 프로세서가 명령을 어떻게 실행하는지, 그리고 왜 모든 고수준 언어이 그런 선택을 하는지를 이해한다는 뜻입니다. 이 트랙은 첫 printf부터 메모리 할당자, 해시 테이블, 연결 리스트, 작동하는 인터프리터 작성까지 C를 다룹니다.
배우게 될 것
연산자, 제어문, 포맷팅된 I/O, 타입 캐스팅부터 시작한 후 표준 라이브러리 — math.h, string.h, ctype.h — 그리고 열거형, 명령줄 인수, 저장소 클래스, 전처리기 매크로 같은 C 특화 주제로 넘어갑니다. 중급 단계에서는 포인터와 동적 메모리 관리, 함수 포인터와 콜백, 가변 함수, 모듈식 다중 파일 프로젝트를 다룹니다. 핵심 데이터 구조를 처음부터 구현합니다: 연결 리스트, 이진 트리, 해시 테이블, 동적 배열. 고급 과정에서는 멀티스레딩과 동시성, 소켓 프로그래밍, 프로세스 간 통신, Valgrind를 이용한 메모리 디버깅, epoll을 이용한 네트워크 프로그래밍을 다룹니다.
학습 경로
39개 과정이 A1부터 C1까지 이어집니다. A1과 A2 과정은 문법, 재귀, 표준 라이브러리를 다집니다. 11개의 B1 과정은 실무 기술을 쌓습니다 — 파일 처리, 비트 조작, 구조체와 공용체, 전처리기. 10개의 B2 과정은 더 깊이 들어갑니다: 동적 메모리, 정렬 알고리즘, 해시 테이블, 그리고 C Building a Memory Allocator로 마무리됩니다. 7개의 C1 과정은 시스템 수준의 작업으로 트랙을 마감합니다: Multithreading and Concurrency, C Socket Programming, C Memory Debugging with Valgrind, C Writing a Simple Interpreter, C Network Programming with epoll.
작동 방식
각 과정은 기본 제공 코드 에디터에서 실시간 피드백을 받으며 완료하는 짧고 집중된 레슨으로 나뉩니다. segfault, 링커 에러, 포인터 산술의 off-by-one 오류에 막혔을 때 언제든 AI 튜터를 이용할 수 있습니다. 진도는 레슨별로 추적되므로 세션 간에 멈춘 곳에서 다시 시작할 수 있으며 진행 상황을 잃지 않습니다.