66 điểm bởi GN⁺ 2026-02-25 | 5 bình luận | Chia sẻ qua WhatsApp
  • Khóa học thực hành của MIT tập trung giảng dạy năng lực sử dụng công cụ mà các chương trình Khoa học máy tính truyền thống ở đại học thường không đề cập
  • Giảng dạy cách sử dụng hiệu quả các công cụ cốt lõi mà lập trình viên dùng hằng ngày như dòng lệnh, trình soạn thảo văn bản, hệ thống quản lý phiên bản
  • Ở bản 2026, công cụ và quy trình phát triển dựa trên AI được tích hợp vào từng buổi học, mang đến cấu trúc học tập phù hợp với môi trường làm việc hiện đại
  • Khóa học được công khai dưới dạng video YouTube, và có thể thảo luận giữa học viên với giảng viên trên OSSU Discord
  • Hỗ trợ mã nguồn mở và bản dịch đa ngôn ngữ để có thể tự do sử dụng cả ngoài MIT, góp phần vào giáo dục lập trình viên trên toàn thế giới

Tổng quan khóa học

  • Trong khi các môn Khoa học máy tính thường đề cập đến những chủ đề nâng cao như hệ điều hành hay machine learning, thì mức độ thành thạo công cụ phát triển vẫn là lĩnh vực mà sinh viên thường phải tự học
    • Khóa học này trình bày có hệ thống các kỹ năng thiết yếu trong thực tế như dòng lệnh, trình soạn thảo văn bản mạnh mẽ, và các tính năng nâng cao của hệ thống quản lý phiên bản
  • Mục tiêu là giúp sinh viên sử dụng hiệu quả và trơn tru hơn những công cụ mà họ sẽ dành hàng trăm đến hàng nghìn giờ sử dụng trong suốt quá trình học tập và sự nghiệp
  • Việc thành thạo các công cụ này giúp tăng tốc độ giải quyết vấn đề và mở rộng khả năng xử lý các bài toán phức tạp

Học tập tích hợp AI

  • Bản 2026 phản ánh thực tế rằng công cụ và quy trình phát triển có hỗ trợ AI đang lan rộng trong toàn bộ lĩnh vực kỹ thuật phần mềm
    • Khi được sử dụng với nhận thức rõ về giới hạn của AI và cách áp dụng phù hợp, chúng mang lại lợi ích lớn cho người làm CS trong thực tế
  • Không có buổi học AI riêng biệt; thay vào đó, các công cụ và kỹ thuật AI mới nhất được tích hợp trực tiếp vào từng bài giảng theo chủ đề

Lịch học

  • Gồm tổng cộng 9 buổi, từ ngày 12/1/2026 đến 23/1/2026
    • Chủ đề chính: giới thiệu Shell, môi trường dòng lệnh, môi trường và công cụ phát triển, debugging và profiling, quản lý phiên bản Git, triển khai mã, Agentic Coding, chất lượng mã, v.v.
  • Tất cả bài giảng đều có thể xem qua playlist YouTube

Tham gia và cộng đồng

  • Học viên có thể đặt câu hỏi và thảo luận trên kênh #missing-semester-forum của OSSU Discord
  • Khóa học do Anish, Jon, Jose đồng giảng dạy, và có thể liên hệ qua email (missing-semester@mit.edu)

Mở rộng ra ngoài MIT

  • Tài liệu khóa học cũng được công khai ngoài MIT và được thảo luận trên nhiều nền tảng như Hacker News, Lobsters, Reddit, X, Bluesky, Mastodon, LinkedIn
  • Các bản 2019, 2020, 2026 đều đang được chia sẻ sôi nổi trên mạng

Dịch thuật và mã nguồn mở

  • bản dịch cộng đồng sang hơn 15 ngôn ngữ như tiếng Ả Rập, tiếng Trung, tiếng Đức, tiếng Nhật, tiếng Hàn, v.v.
    • Các bản dịch do cộng đồng bên ngoài thực hiện và chưa qua kiểm duyệt chính thức
  • Có thể bổ sung bản dịch mới thông qua GitHub Pull Request
  • Tài liệu khóa học được phát hành theo giấy phép CC BY-NC-SA, và mã nguồn có thể xem trên GitHub

Lời cảm ơn

  • Nhờ sự hỗ trợ của MIT Open LearningSIPB, việc sản xuất video bài giảng và vận hành chương trình IAP 2026 mới có thể thực hiện được

5 bình luận

 
bungker 2026-02-25

Tại sao không phải là giấy phép MIT?

 
yklovejesus 2026-02-26

kkkk

 
boolsee 2026-03-03

Wow... trong video cũng có phụ đề tiếng Hàn nữa.
Nội dung cũng hay...

Dù là chủ đề khác, đúng là thế giới giờ tốt thật. Đây là thời đại mà chúng ta có thể học dự thính cả các khóa học của MIT qua Internet bằng tiếng mẹ đẻ của mình.

 
laeyoung 2026-02-27

Trông như đang xem The Pragmatic Programmer phiên bản thực dụng dành cho sinh viên đại học, nên thấy cực kỳ hấp dẫn.

 
GN⁺ 2026-02-25
Ý kiến trên Hacker News
  • Thật vui khi thấy phần “Beyond the Code” đề cập đến chú thích (comment)
    Điều tôi luôn nói với sinh viên trong lớp nhập môn lập trình là, chú thích tốt phải giải thích lý do (why) của đoạn mã
    Những kiểu như “i+=1; /* Increment i */” thì vô nghĩa, còn giải thích kiểu “tăng i ở giữa vòng lặp để kiểm tra trước giá trị tiếp theo và xem có khả năng hoán đổi hay không” thì hữu ích hơn nhiều
    Nếu viết chú thích theo lối văn xuôi, như thể đang giải thích cho bà của mình, thì sẽ dễ hiểu hơn
    Mã nguồn dành phần lớn vòng đời của nó ở giai đoạn bảo trì, nên càng dễ hiểu thì chi phí càng thấp và tuổi thọ càng dài

    • Tôi thích những chú thích thẳng thắn kiểu “đoạn này hơi bẩn nhưng tôi làm vậy vì gấp”. Bối cảnh rất con người như thế cũng giúp ích cho người đọc mã sau này
  • Rất vui khi chương về quản lý phiên bản (version control) được đưa vào
    Thật đáng tiếc khi phần lớn chương trình đào tạo CS không dạy tử tế về hệ thống quản lý phiên bản (VCS)
    Các tính năng như git bisect, blame, revert, rebase chỉ thật sự phát huy giá trị khi được dùng đúng cách
    Nhưng nhiều lập trình viên chỉ dừng ở mức “hoàn thành tính năng → git commit -am "changes"” là xong
    Nếu lịch sử commit được quản lý để kể một câu chuyện, việc review PR sẽ trở nên dễ chịu; còn nếu rối tung với 26 commit kiểu “try fix” thì thật kinh khủng
    Quản lý phiên bản là thứ cần được chăm chút kỹ lưỡng, và giá trị của nó hoàn toàn xứng đáng với công sức bỏ ra

    • Nếu đa số mọi người không dùng công cụ đúng cách, thì đó là lỗi của công cụ chứ không phải người dùng
      Git có tốt hơn trước, nhưng vẫn không trực quan, thuật ngữ khó hiểu, khi gặp sự cố thì rất khó khôi phục, và cũng không có “undo”
      Có lẽ đã đến lúc tạo ra một công cụ quản lý phiên bản mới để thay thế Git
    • Nghe vậy thì hơi khắt khe. Kỹ sư phải học quá nhiều thứ, nên nhiều khi không có dư thời gian để đào sâu cả UX phức tạp của Git
    • Một phần của vấn đề là thiếu cơ hội được đào tạo. Ở Anh đầu những năm 2000, các giáo sư biết tầm quan trọng của những kỹ năng thực tiễn này, nhưng lại không thể dạy vì bị xem là “không mang tính học thuật”
      May là trường đại học của tôi có các quản trị viên hệ thống phụ trách những môn như vậy, và sau này trong chương trình MCIT của UPenn, Git cũng đã được đưa vào chương trình học
    • Hầu hết mọi người học Git theo kiểu JIT learning, tức là chỉ học khi cần
      Nhưng các tính năng nâng cao như bisect hay git object thì rất khó nắm được nếu không chủ động dành thời gian học riêng
      Vì thế tôi nghĩ nhất định cần có một khóa học chính quy dạy Git
    • Tôi cũng từng nghe tên các tính năng đó, nhưng gần như chưa thật sự dùng bao giờ
      Tôi có cố viết commit message cho tốt và chia thay đổi thành những phần nhỏ, nhưng các công cụ Git nâng cao vẫn là thứ khiến tôi e dè
  • Sẽ rất tốt nếu đưa sed và awk vào chương trình học
    Hai công cụ này có thể thay thế những chương trình dài trong ngôn ngữ khác bằng các đoạn mã ngắn và dễ đọc
    Rốt cuộc, điều quan trọng là dạy được khả năng chọn đúng công cụ. Nhờ vậy có thể tránh vấn đề “chiếc búa vàng”

  • Một khách hàng doanh nghiệp lớn của tôi bắt buộc mọi nhân viên kỹ thuật phải học 18 giờ đào tạo agile
    Thời gian đó thà dùng để xem 9 giờ của chuỗi bài giảng này còn giá trị hơn nhiều

  • Tôi tò mò không biết bài giảng có bao gồm các chủ đề như phỏng vấn, đàm phán lương, giao tiếp với quản lý, dẫn dắt nhóm, phát triển sự nghiệp hay không
    Nếu được học những thứ này từ thời đại học thì chắc đã rất hữu ích

    • Hiện thì chưa có, nhưng đó là một ý tưởng rất hay để cân nhắc cho phiên bản bài giảng tiếp theo
  • Ở khoa Kỹ thuật Máy tính và Điện tử (CompE) của Purdue từng có một môn thực hành 1 tín chỉ dạy những nội dung như thế này
    Học bash và git, rồi cuối khóa có chạm nhẹ đến Python và Tkinter
    Sau đó ở các môn nâng cao hơn, việc nộp bài tập đã mặc định dựa trên kiến thức này
    Đó là tín chỉ thực dụng nhất trong số các môn tôi từng học

  • Nếu thật sự nắm vững shell thì bạn có thể tiết kiệm vài năm cuộc đời
    Tôi cực kỳ khuyên nên đọc Bash manual từ đầu đến cuối. Bạn sẽ tìm được câu trả lời hoặc ít nhất là gợi ý cho hầu như mọi câu hỏi
    Tài liệu gợi ý:

  • Hồi cuối những năm 90, khi học tiến sĩ Vật lý ở NYU, tôi đã tham gia một lớp thực hành công cụ UNIX của khoa CS
    Giảng viên trình diễn trực tiếp trên terminal, và từ đó tôi đã mê UNIX luôn
    Sau này tôi cài Linux và bắt đầu lập trình bằng Perl
    Giờ tôi vẫn thích xem các video YouTube về Rust của Jon, và đang dùng Rust theo một cách không truyền thống
    Tôi định theo chuỗi bài giảng này và “port” nó sang rustdoc
    Link dự án của tôi

  • Tôi tò mò liệu chuyện này có giống hồi trước Sun từng tài trợ đào tạo Java cho các trường đại học, còn lần này là Anthropic đang thúc đẩy LLM hay không

    • Sinh viên ngày nay vốn đã dùng LLM rất tích cực rồi, nên có lẽ chẳng cần phải khuyến khích thêm
      Tuy vậy, việc các công ty LLM cung cấp gói miễn phí cho sinh viên có vẻ là điều tự nhiên
  • Trường đại học của tôi cũng từng có một môn CS cốt lõi dành trọn một học kỳ để dạy những nội dung như thế này
    Cho đến bây giờ tôi vẫn còn tra lại ghi chú từ hồi đó, đến mức đây là một trong những môn học hữu ích nhất mà tôi từng học