4P by GN⁺ 6시간전 | ★ favorite | 댓글 1개
  • 대학의 전통적인 컴퓨터공학 과정에서 다루지 않는 도구 활용 능력을 집중적으로 가르치는 MIT의 실습 중심 강의
  • 명령줄, 텍스트 편집기, 버전 관리 시스템 등 개발자가 매일 사용하는 핵심 도구를 효율적으로 다루는 방법을 교육
  • 2026년판에서는 AI 기반 개발 도구와 워크플로우를 각 강의에 통합해, 최신 실무 환경에 맞춘 학습 구조를 제공
  • 강의는 YouTube 영상으로 공개되어 있으며, OSSU Discord에서 학생과 강사진 간 토론이 가능
  • MIT 외부에서도 자유롭게 활용할 수 있도록 오픈소스와 다국어 번역을 지원, 전 세계 개발자 교육에 기여

강의 개요

  • 컴퓨터공학 수업이 운영체제나 머신러닝 같은 고급 주제를 다루는 반면, 개발 도구 숙련도는 학생 스스로 익혀야 하는 영역으로 남아 있음
    • 본 강의는 명령줄, 강력한 텍스트 편집기, 버전 관리 시스템의 고급 기능 등 실무 필수 기술을 체계적으로 다룸
  • 학생들이 학업과 경력 전반에서 수백~수천 시간을 사용하는 도구를 더 효율적이고 매끄럽게 활용하도록 돕는 목적
  • 이러한 도구 숙련은 문제 해결 속도를 높이고, 복잡한 문제를 다룰 수 있는 능력을 확장함

AI 통합 학습

  • 2026년판에서는 AI 지원 개발 도구와 워크플로우가 소프트웨어 엔지니어링 전반에 확산되고 있음을 반영
    • AI의 한계와 적절한 활용법을 인식한 상태에서 사용할 경우, CS 실무자에게 큰 이점을 제공
  • 별도의 AI 강의는 없으며, 각 주제별 강의에 최신 AI 도구와 기법을 직접 통합

강의 일정

  • 2026년 1월 12일부터 1월 23일까지 총 9회차로 구성
    • 주요 주제: Shell 소개, 명령줄 환경, 개발 환경 및 도구, 디버깅과 프로파일링, Git 버전 관리, 코드 배포, Agentic Coding, 코드 품질 등
  • 모든 강의는 YouTube 재생목록을 통해 시청 가능

참여 및 커뮤니티

  • 수강생은 OSSU Discord#missing-semester-forum 채널에서 질문과 토론 가능
  • 강의는 Anish, Jon, Jose가 공동 진행하며, 문의는 이메일(missing-semester@mit.edu)로 가능

MIT 외부 확산

  • 강의 자료는 MIT 외부에도 공개되어 있으며, Hacker News, Lobsters, Reddit, X, Bluesky, Mastodon, LinkedIn 등 다양한 플랫폼에서 논의됨
  • 2019, 2020, 2026년판 모두 온라인에서 활발히 공유되어 있음

번역 및 오픈소스

  • 아랍어, 중국어, 독일어, 일본어, 한국어 등 15개 이상 언어로 커뮤니티 번역본이 존재
    • 번역본은 외부 커뮤니티가 제작했으며, 공식 검수는 거치지 않음
  • 새로운 번역본은 GitHub Pull Request를 통해 추가 가능
  • 강의 자료는 CC BY-NC-SA 라이선스로 공개되어 있으며, 소스코드는 GitHub에서 확인 가능

감사의 말

  • MIT Open LearningSIPB의 지원으로 강의 영상 제작 및 IAP 2026 프로그램 운영이 가능했음
Hacker News 의견들
  • “Beyond the Code” 섹션에서 주석(comment) 을 다루는 걸 보니 반가움
    내가 프로그래밍 입문 수업에서 학생들에게 항상 말하던 건, 좋은 주석은 코드의 *이유(why)를 설명해야 한다는 것임
    “i+=1; /
    Increment i */” 같은 건 의미가 없고, “루프 중간에 i를 증가시켜 다음 값을 미리 확인해 스왑 가능성을 본다” 같은 설명이 훨씬 유용함
    주석은 마치 할머니에게 설명하듯 서술형으로 쓰면 이해가 쉬워짐
    코드는 대부분의 생애를 유지보수 단계에서 보내므로, 이해하기 쉽게 만들수록 비용이 줄고 수명이 길어짐

    • 나는 “이건 좀 지저분하지만 급해서 이렇게 했음” 같은 솔직한 주석을 선호함. 이런 인간적인 맥락이 나중에 코드를 읽는 사람에게도 도움이 됨
  • 버전 관리(version control) 챕터가 포함된 게 정말 반가움
    대부분의 CS 교육 과정이 버전 관리 시스템(VCS) 을 제대로 가르치지 않는 건 아쉬운 일임
    git bisect, blame, revert, rebase 같은 기능은 제대로 써야 진가를 발휘함
    하지만 많은 개발자가 단순히 “기능 완성 → git commit -am "changes"”로 끝내버림
    커밋 히스토리가 이야기를 전달하도록 관리되면 PR 리뷰가 즐거워지지만, “try fix” 같은 커밋 26개로 엉켜 있으면 끔찍함
    버전 관리는 세심하게 다뤄야 하고, 그 가치는 충분히 보상받음

    • 대부분이 도구를 제대로 쓰지 못한다면, 그건 사용자 탓이 아니라 도구 탓
      Git은 이전보다 낫지만 여전히 직관적이지 않고, 용어가 난해하며, 문제가 생기면 복구가 어렵고 “undo”도 없음
      이제는 Git을 대체할 새로운 버전 관리 도구를 만들 시점일지도 모름
    • 이건 좀 가혹하게 들림. 엔지니어는 배워야 할 게 너무 많고, Git의 복잡한 UX까지 깊게 파고들 여유가 없는 경우도 많음
    • 문제의 일부는 교육 기회 부족임. 2000년대 초 영국에서는 교수들이 이런 실무 기술의 중요성을 알았지만, “학문적이지 않다”는 이유로 가르칠 수 없었음
      다행히 내 대학은 시스템 관리자들이 이런 과목을 운영했고, 나중에 UPenn의 MCIT 프로그램에서도 Git이 커리큘럼에 포함되었음
    • 대부분은 필요할 때만 Git을 배우는 JIT 학습을 함
      하지만 bisect나 git object 같은 고급 기능은 스스로 시간을 내서 배우지 않으면 익히기 어려움
      그래서 Git을 정식으로 가르치는 교육 과정이 꼭 필요하다고 생각함
    • 나도 그 기능들의 이름은 들어봤지만 실제로 써본 적은 거의 없음
      커밋 메시지를 잘 쓰고 변경을 작게 나누려 노력하지만, 고급 Git 도구는 여전히 두려움의 대상
  • sed와 awk를 커리큘럼에 포함시키면 좋겠음
    이 두 도구는 짧고 읽기 쉬운 코드로 다른 언어의 긴 프로그램을 대체할 수 있음
    결국 중요한 건 적절한 도구 선택 능력을 가르치는 것임. “황금 망치” 문제를 피할 수 있음

  • 내 대기업 고객 중 한 곳은 모든 기술직 직원에게 18시간짜리 애자일 교육을 의무화함
    이런 시간은 차라리 이 강의 시리즈 9시간을 보는 데 쓰는 게 훨씬 가치 있을 것 같음

  • 혹시 강의에 면접, 연봉 협상, 매니지먼트 커뮤니케이션, 팀 리딩, 커리어 성장 같은 주제도 포함되어 있는지 궁금함
    대학 시절에 이런 걸 배웠다면 정말 도움이 되었을 것 같음

    • 아직은 포함되어 있지 않지만, 다음 버전의 강의에서 고려할 좋은 아이디어임
  • Purdue의 전자컴퓨터공학(CompE) 학과에는 이런 내용을 다루는 1학점짜리 실습 과목이 있었음
    bash와 git을 배우고, 마지막엔 Python과 Tkinter를 살짝 다룸
    이후 상위 과목에서는 이 지식을 전제로 과제를 제출할 정도였음
    내가 들은 과목 중 가장 실용적이었던 학점

  • 셸을 제대로 익히면 삶의 몇 년을 절약할 수 있음
    Bash 매뉴얼을 처음부터 끝까지 읽는 걸 강력히 추천함. 모든 질문의 답이나 힌트를 얻을 수 있음
    추천 자료:

  • 90년대 후반 NYU 물리학 박사과정 시절, CS 학과의 UNIX 도구 실습 수업을 들었음
    강사가 터미널에서 직접 시연했고, 그때부터 UNIX에 푹 빠졌음
    이후 Linux를 설치하고 Perl로 프로그래밍을 시작함
    지금은 Jon의 Rust 유튜브 영상을 즐겨보고, Rust를 비전통적인 방식으로 활용 중임
    이번 강의 시리즈를 따라가며 rustdoc으로 “포팅”해볼 예정임
    내 프로젝트 링크

  • 혹시 이게 예전에 Sun이 대학에 Java 교육을 후원하던 것처럼, 이번엔 Anthropic이 LLM을 밀어주는 건지 궁금함

    • 요즘 학생들은 이미 LLM을 적극적으로 쓰고 있어서 굳이 장려할 필요는 없을 듯함
      다만 LLM 기업들이 학생용 무료 플랜을 제공하는 건 자연스러운 일일 것 같음
  • 내 대학에서도 한 학기 동안 이런 내용을 다루는 핵심 CS 과목이 있었음
    지금까지도 그때의 노트를 참고할 정도로 가장 유용한 수업 중 하나였음