AI 딸깍 시대에도 CS 기초는 스스로 공부해야 한다

TL;DR — 바이브코딩으로 결과물은 나오지만 실력은 남지 않는다. 세계적인 전공 명저가 웹에 무료로 공개되어 있고, 스탠포드·CMU·하버드·MIT는 AI 활용 과목을 새로 열면서도 기초 코어(C/어셈블리, 시스템, 알고리즘, 이론)는 손대지 않았다. 대학이 지키는 순서는 명확하다. 기초를 직접 익힌 다음에 에이전트를 지휘한다. CS 전공자가 택한 어려운 길은 취업이든 직접 서비스 개발이든 어느 쪽으로 가도 값이 오르는 선택이었고, 우리도 그 순서를 지켜야 한다.

1. "운영체제 만들었어요"의 정체

요즘 SNS와 유튜브에서 “AI로 운영체제를 만들었다”, "컴파일러를 만들었다"는 글과 영상을 자주 본다. 프롬프트 몇 줄 넣고 에이전트가 돌아가는 걸 지켜본 뒤 결과물을 올린다. 결과물 자체는 그럴듯하다. 부팅도 되고 셸도 뜬다.

그런데 운영체제와 컴파일러는 "AI로 앱 하나 만들어 봤다"와는 다른 종류의 물건이다. 웹 서비스는 프레임워크가 어려운 부분을 대신 처리해 주고, 잘못 만들어도 대개 어딘가는 돌아간다. 운영체제는 그 밑에 아무것도 없다. 메모리 관리, 스케줄링, 인터럽트 처리, 파일 시스템이 서로 맞물려야 하고 한 군데만 어긋나도 커널 패닉이다. 컴파일러도 마찬가지다. 렉서, 파서, 타입 검사, 코드 생성이 언어 명세와 정확히 일치해야 한다. 이런 것들은 원리를 알아야만 정확하게 만들 수 있는 기능이고, 그래서 CS 전공 과정이 4년을 들여 가르치는 것이다. "만들었다"는 말이 얼마나 무거운지가 여기서 갈린다.

문제는 그 과정에서 만든 사람의 머릿속에 남은 게 무엇인가다. 페이지 테이블이 왜 다단계로 나뉘는지, 컨텍스트 스위치에서 레지스터를 어떤 순서로 저장해야 하는지, 스핀락과 뮤텍스를 언제 골라야 하는지를 설명할 수 있는가. 설명할 수 없다면 그건 운영체제를 만든 게 아니라 운영체제가 만들어지는 걸 구경한 것이다.

이 차이가 드러나는 순간은 항상 같다. 에이전트가 만든 코드가 이상하게 동작할 때다. 원인을 좁혀 들어가려면 그 계층이 어떻게 생겼는지 알아야 한다. 모르면 다시 프롬프트를 던지는 것 말고는 할 수 있는 게 없고, 에이전트가 같은 자리에서 계속 헛돌면 거기서 끝난다. AI를 지휘하는 사람과 AI에게 끌려다니는 사람의 차이는 결국 검증 능력이고, 검증 능력은 기초 이론에서 나온다.

AI를 쓰지 말자는 얘기가 아니다. 나도 매일 쓴다. 순서의 문제다.

2. 공부할 재료는 이미 널려 있다

"기초를 공부하라"는 말이 공허하게 들리는 이유 중 하나는 어디서 시작할지 모르기 때문이다. 그런데 지금은 세계적인 교수와 실무자들이 쓴 전공서가 웹에 전문 공개되어 있는 시대다. 돈이 없어서 못 배우는 시대는 끝났다.

분야별 대표 명저

먼저 각 분야에서 가장 자주 추천되는 책들이다.

분야 저자 비고
운영체제 Operating Systems: Three Easy Pieces (OSTEP) Remzi & Andrea Arpaci-Dusseau 가상화·동시성·영속성 세 축. 대화체라 읽기 쉽다
컴파일러/인터프리터 Crafting Interpreters Bob Nystrom 트리 워킹 인터프리터와 바이트코드 VM을 처음부터 구현
설계 패턴 Game Programming Patterns Bob Nystrom 게임 맥락이지만 일반 소프트웨어 설계에 그대로 쓰인다
컴퓨터 그래픽스 Physically Based Rendering (PBRT, 4판) Pharr, Jakob, Humphreys 오프라인 물리 기반 렌더링. 실시간 레이트레이싱은 NVIDIA의 Ray Tracing Gems
네트워크 Computer Networks: A Systems Approach Peterson & Davie GitHub에 오픈소스로 공개
딥러닝 Deep Learning Goodfellow, Bengio, Courville 2016년 책이라 트랜스포머 이전. 수학적 기초를 잡는 용도
선형대수 Immersive Linear Algebra Ström, Åström, Akenine-Möller 인터랙티브 시각화로 직관을 잡는다

한 가지 주의할 점은 Kurose & Ross의 Computer Networking: A Top-Down Approach다. 네트워크 명저로 자주 언급되지만 유료 교재다. 무료 목록에 넣으면 안 된다.

여기에 더해 볼 만한 무료 교재

위 목록만으로는 빈 분야가 많다. 아래는 저자나 출판사가 전문을 무료로 공개한 책들이다. 전부 링크가 살아 있는지 확인했다(2026년 9월 기준).

프로그래밍 기초와 시스템

저자 비고
Structure and Interpretation of Computer Programs (SICP) Abelson & Sussman MIT의 고전. 프로그램을 어떻게 생각할지 배운다
Composing Programs John DeNero 버클리 CS61A 교재. SICP를 파이썬으로 다시 쓴 것
How to Design Programs Felleisen 외 설계 레시피 중심의 입문서
Beej’s Guide to C Programming Brian Hall C 입문. 같은 저자의 Beej’s Guide to Network Programming은 소켓 실습 필독서
Dive into Systems Matthews, Newhall, Webb C, 어셈블리, 메모리, 캐시, 병렬성까지. CS:APP의 무료 대안으로 가장 가깝다
Think OS Allen Downey 짧은 운영체제 입문. OSTEP 전에 읽기 좋다
xv6: a simple, Unix-like teaching operating system Cox, Kaashoek, Morris MIT 6.1810 교재. OSTEP를 읽고 실제 커널 소스를 뜯을 때
The Elements of Computing Systems (Nand2Tetris) Nisan & Schocken NAND 게이트부터 테트리스까지. 강의와 프로젝트가 무료

알고리즘과 이론

저자 비고
Algorithms Jeff Erickson UIUC 교재. CLRS의 무료 대안으로 가장 많이 추천된다
Open Data Structures Pat Morin 자료구조. C++, Java, Python 판이 모두 무료
Mathematics for Computer Science Lehman, Leighton, Meyer MIT 6.042 교재. 이산수학, 확률, 증명
Introduction to Theoretical Computer Science Boaz Barak 하버드 CS121 교재. 계산 이론
Software Foundations Benjamin Pierce 외 Coq으로 프로그램을 증명한다. CMU 15-122의 "정확성 증명"이 어디까지 가는지 보고 싶다면
Programming Languages: Application and Interpretation (PLAI) Shriram Krishnamurthi 프로그래밍 언어론. Crafting Interpreters 다음 단계

데이터베이스와 분산 시스템

저자 비고
Readings in Database Systems (Red Book) Bailis, Hellerstein, Stonebraker DB 고전 논문 모음과 해설
Distributed Systems (4판) van Steen & Tanenbaum 이메일 등록 후 PDF 무료
High Performance Browser Networking Ilya Grigorik TCP, TLS, HTTP/2를 실무 관점에서
Security Engineering (3판) Ross Anderson 보안 공학의 교과서. 전 장 무료
The Architecture of Open Source Applications 여러 저자 실제 오픈소스 프로젝트의 설계를 만든 사람이 직접 설명

수학과 머신러닝

저자 비고
Linear Algebra Done Right (4판) Sheldon Axler 2024년부터 오픈 액세스
Introduction to Applied Linear Algebra Boyd & Vandenberghe 스탠포드 교재. 응용 중심
Mathematics for Machine Learning Deisenroth, Faisal, Ong ML에 필요한 수학만 골라 정리
An Introduction to Statistical Learning James, Witten, Hastie, Tibshirani 통계적 학습 입문. Python 판도 있다
Dive into Deep Learning Zhang, Lipton, Li, Smola 코드 실행하며 읽는 딥러닝. PyTorch/JAX 지원
Understanding Deep Learning Simon Prince 2023년 책. 트랜스포머와 확산 모델까지 다룬다
Probabilistic Machine Learning (1·2권) Kevin Murphy 확률적 관점의 ML 대백과
Reinforcement Learning: An Introduction (2판) Sutton & Barto 강화학습 교과서

그래픽스와 도구

저자 비고
Ray Tracing in One Weekend 시리즈 Peter Shirley 외 주말에 레이트레이서 하나 만든다. PBRT 전에
Learn OpenGL Joey de Vries 실시간 그래픽스 입문
Pro Git Chacon & Straub Git 공식 교재
The Rust Programming Language Klabnik & Nichols 시스템 언어를 하나 더 배운다면

강의 자료도 열려 있다

책만 있는 게 아니다. 3장에서 다룰 대학들의 강의 자료 상당수가 공개되어 있다.

  • MIT OCW: 수십 년째 강의를 열어 놓고 있다. 6.1810(운영체제, xv6)은 과제까지 공개.
  • 하버드 CS50: 전체가 무료. 자체 튜터 AI까지 쓸 수 있다.
  • 버클리 CS61A: Composing Programs와 함께 강의, 과제, 오토그레이더 공개.
  • CMU 15-445: 데이터베이스 시스템. 강의 영상과 과제(자체 DB 엔진 구현)가 공개.
  • 스탠포드 CS107, CS146S: 강의 자료 공개. CS146S는 에이전트 강의지만 슬라이드와 과제 코드까지 전부 열어 놨다.
  • CMU 15-122, 15-213, 15-251: 3장에서 언급한 CMU 코어의 강의 페이지도 대부분 공개되어 있다.
  • Nand2Tetris: Coursera 무료 강의와 프로젝트.
  • MIT The Missing Semester: 셸, 에디터, Git, 디버깅, 프로파일링 등 학교에서 안 가르쳐 주는 도구 사용법.

한국어 자료도 있다. KOCW는 국내 대학 강의를 공개하고, 부스트코스(네이버 커넥트재단)는 CS50 한국어판을 포함한 무료 강좌를 운영한다.

어디서 시작할지 모르겠다면

목록이 길어서 오히려 막막하다면 로드맵부터 본다.

  • Teach Yourself CS (teachyourselfcs.com): 9개 분야에 책 한 권, 강의 하나씩만 추천한다. 가장 짧은 로드맵.
  • OSSU Computer Science (GitHub): 무료 강의만으로 학부 CS 과정을 구성한 커리큘럼.
  • free-programming-books (GitHub, EbookFoundation): 언어별·분야별 무료 책 총목록. 위 목록에 없는 건 여기서 찾으면 된다.

재료가 없어서 못 하는 게 아니다.

3. 대학들은 이론을 버리지 않았다

"스탠포드가 커리큘럼의 85%를 갈아엎었다"는 이야기가 돌았다. 숫자는 사실이지만 범위가 과장됐다. 실제로 무슨 일이 일어났는지, 그리고 다른 상위권 대학들은 어떻게 하고 있는지 2025~2026년 기준으로 확인해 봤다.

스탠포드 (2025–2026)

85%가 바뀐 건 CS146S "The Modern Software Developer"라는 선택 과목 하나의 전년도 자료다. 이 과목은 2025년 가을에 처음 개설됐고, 2026년 가을 판(9월 22일 개강)에서 강사 Mihail Eric이 Fall 2025 자료의 85%를 버리고 에이전트 스킬, 컨텍스트 엔지니어링, MCP, 스펙 기반 개발, 소프트웨어 팩토리 중심으로 재구성했다. 학생들은 실제 오픈소스 AI 저장소에 매주 PR을 보낸다.

그런데 이 과목의 선수 조건은 CS111(운영체제)과 CS161(알고리즘) 수준의 프로그래밍 경험이다. 즉 OS와 알고리즘을 마친 학생에게만 에이전트 조율을 가르친다.

학부 필수 코어는 그대로다. 시스템 3과목(CS106B, CS107, CS111)과 이론 3과목(CS103, CS109, CS161)이고, 그중 5과목은 5학점 필수다.

  • CS107: 레지스터, I/O, 어셈블리, 포인터와 메모리 할당, 스택 프레임, 코드 생성, 스레딩. 교재는 CS:APP이고 C와 어셈블리로 과제를 낸다.
  • CS111: 동시성, 동기화, 스케줄링, 프로세스, 가상 메모리, 파일 시스템. OSTEP의 세 축과 그대로 겹친다.
  • CS103: 증명, 귀납법, 오토마타, 문맥 자유 문법, 튜링 머신, NP-완전성.
  • CS161: 복잡도 분석, 점화식, 마스터 정리, 분할 정복, 탐욕, 그래프 알고리즘.

입문 과목 CS106A의 2025–26년 안내에는 이 수업의 목표가 직접 코드를 쓰는 데 익숙해지는 것이므로 AI 코드 자동완성은 그 목적을 무너뜨린다고 명시되어 있다. 같은 학교가 1학년에게는 “AI 끄고 직접 짜라”, 3~4학년에게는 "에이전트를 지휘하라"고 가르치는 셈이다.

CMU (2026)

CMU 코어는 15-122에서 시작한다. 검증 가능한 C 부분집합으로 프로그램 정확성을 증명하는 법부터 가르치고 후반에 완전한 C로 넘어간다. 2026년 가을 안내에도 이 설명이 그대로 있다. 그 위에 2학년 필수인 15-210(병렬·순차 자료구조와 알고리즘), 15-213(컴퓨터 시스템 입문), 15-251(이론 CS)이 온다. 15-213의 교재는 스탠포드 CS107과 같은 CS:APP다. 두 학교가 같은 책으로 같은 밑바닥을 가르친다.

AI 쪽은 2026년 가을에 15-113 "Effective Coding with AI"가 별도로 개설됐다. AI 코딩 도구의 능력과 한계를 탐색하고, AI 활용 워크플로에서 코드 품질과 투명성을 유지하는 기준을 학생들이 함께 만드는 응용 과목이다. 선수 조건은 15-112 수준의 프로그래밍 경험. 스탠포드보다 이른 시점에 AI 활용 과목을 열되, 필수 코어와는 분리해 놓았다.

하버드 CS50 (2026)

정책이 가장 명확한 사례다. CS50x 2026 학업 정직성 규정은 CS50 자체 도구 외의 AI(ChatGPT, Claude, Copilot, Gemini 등)로 답이나 코드를 제안·완성받는 것을 부정행위로 규정한다.

대신 자체 개발한 CS50 Duck은 허용한다. 설계 철학이 핵심이다. 범용 챗봇은 답을 통째로 주는 반면, CS50 Duck은 좋은 튜터처럼 답을 바로 알려주지 않고 학생을 답으로 이끌도록 만들어졌다. 목표는 24시간 오피스아워를 제공해 1:1 교사-학생 비율에 가까워지는 것이다.

"AI를 쓰지 말라"가 아니라 "AI가 대신 생각하게 두지 말라"로 문제를 정의한 것이다.

MIT (2025년 11월 기준)

MIT는 학과 통일 정책 없이 과목별로 실험 중인데, 방향이 흥미롭다. 금지보다 평가 방식으로 대응한다. 학생 신문 The Tech가 2025년 11월에 정리한 내용이다.

  • 6.1000(입문): 개념 이해나 예제 코드 생성에는 AI 허용, 과제 해답 생성은 금지. 교수진의 근거는 숙련 개발자들이 AI로 생산성을 높이는 건 맞지만 그들에게는 이미 탄탄한 기초가 있다는 것이다. 과제 점수의 1/3은 코드 설계와 개념 이해를 묻는 짧은 구두 면담으로 채운다.
  • 6.1010(프로그래밍 기초): Copilot 같은 AI 코드 완성 도구가 만든 코드를 포함해 본인이 쓰지 않은 외부 코드 참조는 전면 금지.
  • 6.1210(알고리즘): 2024년 가을 과제 25%·시험 75%에서 2025년 가을 과제 5%·시험 95%로 바뀌었다.
  • 수학과: 모든 학부 및 대학원 입문 과목에 대면 평가를 포함하도록 요청. AI가 큰 요인이었다고 학과 부학과장이 밝혔다.

AI가 과제를 대신 풀 수 있다면 대면 시험과 구두 면담으로 이해도를 직접 확인하겠다는 것이다. 결국 "본인 머리로 이해했는가"를 검증하는 구조를 지키려는 시도다.

네 학교를 묶으면

기초 코어 AI 활용 과목 기초 과목에서 AI 처리
스탠포드 CS107/111/103/161 유지 CS146S (3~4학년 선택, OS·알고리즘 선수) CS106A에서 코드 자동완성 금지
CMU 15-122/213/210/251 유지 15-113 (1학년 말 선택, 15-112 선수) 코어와 분리
하버드 CS50 내용 유지 외부 AI 금지, 답 안 주는 자체 튜터 AI 제공
MIT 6.1010/1200/1210 유지 과목별 실험 해답 생성 금지, 구두 면담·시험 비중 확대

공통 패턴은 하나다. 기초 코어는 손대지 않는다. AI 활용은 별도 과목으로 분리하거나, 기초 과목에서는 코드 생성을 막거나 평가로 걸러낸다. 차이는 AI 과목을 언제 여느냐와 기초 과목에서 AI를 어떻게 다루느냐의 방식뿐이다.

한 가지 짚어둘 점이 있다. 위 내용은 커리큘럼 문서와 과목 정책 기준이지, 학생들이 실제로 AI 없이 CS107 과제를 푸는지는 별개 문제다. 그래서 MIT가 평가 구조를 바꾸는 것이다. 제도적으로는 이렇게 설계되어 있다는 얘기다.

4. 어려운 길을 택한 사람들에게

위 코어 과목들은 원래부터 어려웠다. C로 정확성을 증명하고, 어셈블리를 읽고, 페이지 폴트 핸들러를 짜고, NP-완전성을 증명하는 과목이다. 스탠포드 문서조차 졸업생들이 CS161을 가장 유용한 수업으로 꼽는다고 쓰면서 그 어려움을 전제한다. CS를 전공한다는 건 처음부터 이 길을 가겠다고 선택한 것이었다.

AI 시대에 이 선택은 더 어려워 보이게 됐다. 옆에서는 프롬프트 몇 줄로 앱을 뽑아내는데, 나는 세그폴트 하나 잡으려고 밤새 gdb를 붙들고 있다. 4년 동안 배운 것들이 에이전트 한 번 호출로 대체되는 것처럼 보인다. "굳이 이걸 왜 배우지"라는 생각이 안 들 수가 없다.

그런데 위 네 대학이 보여주듯, 그 선택은 잘못된 게 아니다. 오히려 어느 쪽으로 가든 값이 오르는 선택이다.

취업으로 갈 때. 코드를 생산하는 비용이 0에 가까워질수록 회사가 돈을 주고 사는 능력은 바뀐다. 코드를 찍어내는 사람이 아니라, 에이전트가 찍어낸 코드가 맞는지 판단하고 시스템 전체를 책임질 수 있는 사람이다. 스탠포드 CS146S가 인간의 역할을 스펙, 리뷰, 감각으로 정의한 것이 그 방향이다. 리뷰를 하려면 알아야 하고, 스펙을 쓰려면 더 잘 알아야 한다. 채용 과정도 같은 방향으로 움직일 수밖에 없다. MIT가 과제 대신 구두 면담과 대면 시험으로 옮겨간 것과 같은 논리로, 기업도 결과물이 아니라 그 결과물을 설명할 수 있는지를 볼 것이다. 4년 동안 어려운 길을 걸은 사람은 그 자리에서 유리하다.

직접 서비스를 만들 때. 이쪽은 더 분명하다. 에이전트로 서비스를 빨리 띄우는 건 이제 누구나 한다. 차이는 그 다음이다. 트래픽이 붙고, 응답이 느려지고, 새벽에 장애가 나고, 보안 이슈가 터진다. 기초가 없으면 이때 할 수 있는 게 에이전트에게 다시 묻는 것뿐이고, 에이전트가 원인을 못 찾으면 서비스는 거기서 멈춘다. 기초가 있으면 어디를 봐야 하는지 안다. 스레드 풀이 고갈된 건지, 인덱스가 빠진 건지, 커널 파라미터 문제인지 가설을 세우고 좁혀 들어갈 수 있다. 그리고 그 기초는 에이전트를 쓸 때 생산성을 몇 배로 끌어올린다. 스펙을 정확히 쓸 수 있고, 결과를 빨리 검증할 수 있고, 잘못된 방향으로 가는 에이전트를 초기에 잡을 수 있기 때문이다. 같은 도구를 쥐어도 기초가 있는 사람이 훨씬 멀리 간다.

돌아보면 어려운 길은 우회로가 아니었다. 지름길이었다. 에이전트가 생산을 맡는 시대에 판단하는 사람의 값은 올라가고, 판단은 기초에서 나온다.

5. 하고 싶은 말

세계에서 가장 AI에 가까운 대학들이 이런 선택을 했다. 스탠포드 CS146S를 만든 사람은 스탠포드 첫 AI 코딩 강의를 만든 사람이고, 강의에 Claude Code와 Cursor를 만든 사람들이 직접 나온다. 그런 강의가 OS와 알고리즘을 선수 과목으로 요구한다. 이게 답이다.

첫째, 순서를 지키자. 에이전트 조율은 기초 위에 얹는 층이다. 기초 없이 조율부터 배우면 에이전트가 틀렸을 때 틀렸다는 것조차 모른다. 스탠포드가 3~4학년에 CS146S를 두고, CMU가 15-112 이후에 15-113을 두는 이유다.

둘째, 책 한 권을 골라 직접 구현하자. 위 목록에서 하나를 고른다. OSTEP를 읽으면서 xv6를 뜯어보거나, Crafting Interpreters를 따라 인터프리터를 끝까지 만들어 본다. 완성이 목표가 아니라 막히는 지점을 만나는 게 목표다. 막혀야 배운다.

셋째, AI는 튜터로 쓰자. CS50 Duck의 방식이다. 답을 달라고 하지 말고 힌트를 달라고 한다. "이 코드 고쳐줘"가 아니라 “이 코드가 왜 세그폴트 나는지 내가 찾을 수 있게 어디를 봐야 하는지만 알려줘”. 프롬프트 한 줄 차이가 남는 실력의 차이다.

넷째, 스스로 시험을 보자. MIT 방식이다. 만든 걸 화이트보드 앞에서 설명할 수 있는가. 코드 한 줄 안 보고 페이지 폴트 처리 흐름을 그릴 수 있는가. 설명할 수 없으면 아직 내 것이 아니다.

AI 시대라서 기초가 덜 중요해진 게 아니다. AI가 만든 결과물을 검증할 사람이 필요해졌기 때문에 기초는 더 중요해졌다. 에이전트는 코드를 찍어내고, 사람은 그 코드가 맞는지 판단한다. 판단하려면 알아야 한다. 대학들은 그걸 알고 있고, 그래서 코어를 지키고 있다. 우리도 딸깍 뒤에 숨지 말고 책을 펴자.

참고 자료

  • Stanford CS BS Core Requirements — https://www.cs.stanford.edu/bs-core-requirements
  • Stanford CS146S: The Modern Software Developer — https://themodernsoftware.dev/
  • Stanford CS106A (2025–26) — https://web.stanford.edu/class/cs106a/
  • CMU 15-113 Effective Coding with AI (Fall 2026) — https://csd.cmu.edu/course/15113/f26
  • CMU CSD Fall 2026 Courses — https://csd.cmu.edu/academics/fall-courses
  • Harvard CS50x 2026 Academic Honesty — https://cs50.harvard.edu/x/honesty/
  • CS50.ai (CS50 Duck) — https://cs50.readthedocs.io/cs50.ai/
  • The Tech (MIT), “Course 6 and 18 faculty members share mixed perspectives on AI in the classroom”, 2025-11-25 — https://thetech.com/2025/11/25/course-6-ai 분야별 대표 명저
  • OSTEP — https://pages.cs.wisc.edu/~remzi/OSTEP/
  • Crafting Interpreters — https://craftinginterpreters.com/
  • Game Programming Patterns — https://gameprogrammingpatterns.com/
  • PBRT 4th ed. — https://pbr-book.org/
  • Ray Tracing Gems — https://www.realtimerendering.com/raytracinggems/
  • Computer Networks: A Systems Approach — https://book.systemsapproach.org/
  • Deep Learning — https://www.deeplearningbook.org/
  • Immersive Linear Algebra — https://immersivemath.com/ila/

프로그래밍 기초와 시스템

  • SICP — https://sarabander.github.io/sicp/ (PDF: https://web.mit.edu/6.001/6.037/sicp.pdf)
  • Composing Programs — https://www.composingprograms.com/
  • How to Design Programs — https://htdp.org/
  • Beej’s Guide to C Programming — https://beej.us/guide/bgc/
  • Beej’s Guide to Network Programming — https://beej.us/guide/bgnet/
  • Dive into Systems — https://diveintosystems.org/
  • Think OS — https://greenteapress.com/wp/think-os/
  • xv6 book — https://pdos.csail.mit.edu/6.828/2024/xv6/book-riscv-rev4.pdf
  • Nand2Tetris — https://www.nand2tetris.org/

알고리즘과 이론

  • Algorithms (Jeff Erickson) — https://jeffe.cs.illinois.edu/teaching/algorithms/
  • Open Data Structures — https://opendatastructures.org/
  • Mathematics for Computer Science — https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-spring-2015/
  • Introduction to Theoretical Computer Science — https://introtcs.org/
  • Software Foundations — https://softwarefoundations.cis.upenn.edu/
  • PLAI — https://www.plai.org/

데이터베이스·분산·보안

  • Readings in Database Systems — http://www.redbook.io/
  • Distributed Systems 4th ed. — https://www.distributed-systems.net/index.php/books/ds4/
  • High Performance Browser Networking — https://hpbn.co/
  • Security Engineering 3rd ed. — https://www.cl.cam.ac.uk/~rja14/book.html
  • The Architecture of Open Source Applications — https://aosabook.org/

수학과 머신러닝

  • Linear Algebra Done Right — https://linear.axler.net/
  • Introduction to Applied Linear Algebra — https://web.stanford.edu/~boyd/vmls/
  • Mathematics for Machine Learning — https://mml-book.github.io/
  • An Introduction to Statistical Learning — https://www.statlearning.com/
  • Dive into Deep Learning — https://d2l.ai/
  • Understanding Deep Learning — https://udlbook.github.io/udlbook/
  • Probabilistic Machine Learning — https://probml.github.io/pml-book/
  • Reinforcement Learning: An Introduction — http://incompleteideas.net/book/the-book-2nd.html

그래픽스와 도구

  • Ray Tracing in One Weekend — https://raytracing.github.io/
  • Learn OpenGL — https://learnopengl.com/
  • Pro Git — https://git-scm.com/book/en/v2
  • The Rust Programming Language — https://doc.rust-lang.org/book/

강의·로드맵

  • MIT OCW — https://ocw.mit.edu/
  • MIT 6.1810 Operating System Engineering — https://pdos.csail.mit.edu/6.828/
  • MIT The Missing Semester — https://missing.csail.mit.edu/
  • Berkeley CS61A — https://cs61a.org/
  • CMU 15-445 Database Systems — https://15445.courses.cs.cmu.edu/
  • CMU 15-122 / 15-213 / 15-251 — https://www.cs.cmu.edu/~15122/ · https://www.cs.cmu.edu/~213/ · https://www.cs.cmu.edu/~15251/
  • Stanford CS107 — https://web.stanford.edu/class/cs107/
  • KOCW — https://www.kocw.net/
  • 부스트코스 — https://www.boostcourse.org/
  • Teach Yourself CS — https://teachyourselfcs.com/
  • OSSU Computer Science — https://github.com/ossu/computer-science
  • free-programming-books — https://github.com/EbookFoundation/free-programming-books

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.