무료 CS 강의 22.3k 스타 저장소, 자세히 보면 '강의 추천'이 아니라 '학위 이수표'다
OnePageDaily·4/30/2026·18 views
ForrestKnight/open-source-cs는 GitHub에서 별 2만 2천 개가 붙은 인기 저장소지만, README를 한 줄씩 따라가면 흔히 말하는 '무료 강의 모음'과는 결이 다르다는 게 보입니다. 첫 문단에서부터 저자는 이 리스트를 'MIT·스탠퍼드·프린스턴 같은 평판 있는 학교들의 무료 강의 중에서, 학부 컴퓨터과학 학위와 같은 요건을 충족하는 것들을 골랐다. 단, 교양 과목은 제외'라고 정의합니다. 즉 출발점이 '좋은 강의 모으기'가 아니라 '학위 요건이라는 범위 안에 들어오는 강의만 남기기'입니다.
그 결과 저장소는 일곱 개의 트랙으로 끊어집니다. Computer Science Basics, Programming, Math, Systems, Theory, Applications, Unix. 학교에서 학과 편람을 펼치면 나오는 그 표 그대로의 구조이고, '머신러닝 입문', '백엔드 로드맵' 같은 주제별 묶음과는 분명히 다릅니다. 그리고 어느 트랙으로 들어가든 강의는 항상 같은 형식으로 정리됩니다. 어느 학교에서 만들었는지, 몇 주짜리인지, 주당 몇 시간을 써야 하는지, 얼마나 자주 개강하는지, 그리고 어떤 강의를 먼저 들어야 하는지. 다섯 번째 칼럼인 Prerequisites가 사실상 이 저장소의 진짜 설계 포인트입니다. 강의를 나열만 한 게 아니라 '이 강의를 끝낸 다음에야 다음 칸으로 넘어갈 수 있다'는 순서를 표 안에 박아둔 셈입니다.
각 트랙을 들여다보면 그 의도가 더 분명해집니다. Programming 트랙은 Duke의 자바 시리즈 여섯 과목, Solving Problems with Software부터 시작해 Arrays/Lists, Object Oriented Programming, Data Structures and Performance, Principles of Software Design, Build a Recommendation System까지 한 학교의 시리즈를 끝까지 듣게 한 뒤, 그 다음 단계로 워싱턴대의 Programming Languages Part A·B·C 세 강의로 넘어가게 만들어 둡니다. Systems 트랙에는 히브리대의 Nand to Tetris I·II가 들어가 NAND 게이트부터 운영체제까지 직접 쌓아올리게 하고, Theory 트랙은 프린스턴의 Computer Science: Algorithms, Theory, and Machines → Algorithms Part I → Part II로 단계가 한 줄로 이어집니다. Applications 트랙의 스탠퍼드 머신러닝과 Cryptography I 모두 'Linear Algebra - Foundations to Frontiers'를 선수과목으로 명시해, 비전공자가 갑자기 ML로 점프하는 걸 표 안에서부터 막아둔 점도 눈에 띕니다.
흥미로운 건 이 저장소의 운영 방식 자체입니다. Systems 트랙 아래에는 Udacity의 Introduction to Operating Systems 강의가 HTML 주석으로 가려진 채 줄로만 남아 있습니다. 강의가 사라지거나 일정이 흔들려도 줄을 통째로 지우지 않고 흔적을 남겨두는 식으로 관리되는 셈인데, 별 2만 2천 개가 붙은 지금도 README가 여전히 한 장 표 형식을 유지하고 있다는 사실 자체가 이 저장소의 큐레이션 철학을 보여 줍니다. 그러니 '무료 CS 강의 어디서 들으면 좋아요'라는 질문에 이 저장소를 던지는 것보다, '학위 요건과 같은 범위를 어떤 순서로 메울 거냐'를 표로 같이 짠다고 생각하면, 이 22.3k 스타짜리 README가 제 모양대로 보입니다.