Image default
Máy Tính

Học Swift với AI NotebookLM: Bí quyết làm chủ lập trình iOS hiệu quả bất ngờ

Là một sinh viên Khoa học Máy tính, dù đang trong kỳ nghỉ hè nhưng việc dành thời gian không học hỏi điều gì mới dường như là một sự lãng phí. Lập trình là một phần lớn trong chuyên ngành của tôi và cũng là niềm đam mê từ khi 10 tuổi. Mặc dù đã thành thạo Python, C và C++, tôi luôn ấp ủ mong muốn tìm hiểu sâu hơn về lĩnh vực phát triển ứng dụng di động. Với thời gian rảnh rỗi hiện tại, đây chính là cơ hội hoàn hảo để tôi bắt tay vào.

Là một người dùng trung thành của Apple, Swift tự nhiên trở thành ngôn ngữ đầu tiên tôi nghĩ đến. Trong thời gian gần đây, tôi đã sử dụng NotebookLM – trợ lý nghiên cứu được hỗ trợ bởi AI của Google – rất nhiều, chủ yếu nhờ vào khả năng trích dẫn nguồn gốc thông tin cực kỳ đáng tin cậy. Bất chợt, một ý tưởng lóe lên: Tại sao không dùng NotebookLM để học Swift? Tôi đã làm thử, và kết quả thực sự khiến tôi ngạc nhiên.

Tại sao NotebookLM là lựa chọn tối ưu để học Swift?

Khác biệt so với cách học truyền thống

Tôi hiểu rằng việc sử dụng một “trợ lý nghiên cứu” để học một ngôn ngữ lập trình hoàn toàn mới nghe có vẻ lạ và không theo lối mòn. Nhưng hãy nghe tôi giải thích. Thông thường, có một vài cách phổ biến để tiếp cận một ngôn ngữ lập trình mới:

  • Đi theo con đường truyền thống, học bằng sách giáo trình chuyên sâu.
  • Mua một khóa học trực tuyến đắt đỏ và hy vọng bạn sẽ hoàn thành nó.
  • “Cày” các video hướng dẫn trên YouTube cho đến khi não bạn mệt mỏi.

Giao diện video hướng dẫn học lập trình Swift trên YouTube, minh họa phương pháp học truyền thống.Giao diện video hướng dẫn học lập trình Swift trên YouTube, minh họa phương pháp học truyền thống.

Một lựa chọn khác là bắt tay ngay vào một dự án và tự tìm kiếm thông tin trên Google. Và giờ đây, khi AI đã trở nên phổ biến, bạn còn có thể “vibe-code” (viết code ngẫu hứng) những gì bạn muốn tạo ra với một chatbot mở sẵn bên cạnh.

Mặc dù tôi muốn học Swift để hiện thực hóa một số ý tưởng ứng dụng iOS, và tôi hoàn toàn có thể “vibe-code” qua chúng, nhưng điều tôi thực sự muốn là học hiểu sâu ngôn ngữ này. Đối với tôi, phần thú vị nhất của lập trình luôn là quá trình tự mình viết code. Tôi không thích chỉ sao chép dán và cầu nguyện cho nó hoạt động. Sử dụng các công cụ AI như ChatGPT hay Gemini chắc chắn là một lựa chọn, nhưng tôi nhận thấy chúng thường đưa ra thông tin mâu thuẫn hoặc không chính xác hoàn toàn.

Mặt khác, sức mạnh của NotebookLM là khả năng xây dựng một AI cá nhân hóa, được đào tạo dựa trên thông tin bạn cung cấp cho nó. Điều này có nghĩa là tôi có thể tạo một “sổ tay” (notebook) trên NotebookLM và thêm vào đó các nguồn tài liệu liên quan như tài liệu Swift chính thức của Apple, các video hướng dẫn ngắn trên YouTube, các bảng tóm tắt (cheat sheet) Swift, và nhiều hơn nữa. Đây là điểm mấu chốt giúp NotebookLM vượt trội trong việc học lập trình hiệu quả.

Chuẩn bị nguồn tài liệu “chất lượng” cho NotebookLM

Nguồn tài liệu là yếu tố then chốt

Với bất kỳ sổ tay NotebookLM nào, điều quan trọng nhất chính là các nguồn bạn thêm vào. Vì vậy, bước đầu tiên là đưa vào sổ tay của tôi những nguồn tài liệu tốt nhất để hỗ trợ việc học. Tôi đã dành hàng giờ để duyệt qua Reddit, đọc các bài blog và hỏi các lập trình viên Swift rằng những tài nguyên nào đã giúp họ nhiều nhất khi mới bắt đầu. Hầu hết đều gợi ý tài liệu chính thức của Apple: The Swift Programming Language.

Mặc dù tài liệu này có thể tải xuống dưới dạng eBook từ Apple Books Store, nhưng không có cách nào tích hợp để xuất nó thành PDF để tôi có thể thêm làm nguồn cho sổ tay NotebookLM của mình. Tài liệu cũng có sẵn trên trang web tài liệu Swift của Apple. Và trong khi NotebookLM chấp nhận các URL trang web làm nguồn, tài liệu này lại được chia thành nhiều trang khác nhau, điều đó có nghĩa là tôi không thể chỉ tải lên một liên kết và coi là xong. Tôi đã thử tải lên URL của từng trang, nhưng cũng không hiệu quả; nó cứ tải lên cùng một trang lặp đi lặp lại.

Vì vậy, tôi đã sử dụng tiện ích mở rộng Myndo Chrome, tiện ích này về cơ bản sẽ chuyển đổi nội dung bạn sao chép thành định dạng Markdown mà các mô hình ngôn ngữ lớn (LLM) như NotebookLM có thể dễ dàng hiểu được. Tôi đã sao chép thủ công tất cả các trang cần thiết để bắt đầu với những kiến thức cơ bản của Swift từ tài liệu của Apple và tải nó lên làm nguồn. Vì nguồn được thêm vào dưới dạng Google Doc, tất cả những gì tôi cần làm là nhấn nút Sync with Google Drive để tránh việc phải xóa Doc khỏi NotebookLM và tải lại mỗi khi tôi cập nhật. Bằng cách này, một khi tôi hoàn thành các kiến thức cơ bản và bắt đầu sao chép các chủ đề Swift nâng cao hơn bằng Myndo, tất cả những gì tôi cần làm là đồng bộ hóa Doc hiện có thay vì tạo một tài liệu mới từ đầu và tải nó lên làm nguồn.

Mặc dù tôi thấy tài liệu của Apple đủ tốt để bắt đầu, tôi cũng bổ sung vào sổ tay của mình một vài video hướng dẫn trên YouTube được nhiều người trực tuyến khuyên dùng. Rõ ràng, NotebookLM không “xem” các video bạn thêm vào, nhưng nó sẽ lấy bản ghi (transcript) của chúng, và bạn có thể tương tác với chúng giống như cách bạn làm với bất kỳ nguồn văn bản nào. Chắc chắn, bản ghi không phải lúc nào cũng chính xác 100%, nhưng tôi thấy việc sử dụng NotebookLM để “xem” các video hướng dẫn trên YouTube tốt hơn nhiều so với việc ngồi xem các video dài hàng giờ và cố gắng nhớ lại những gì đã được nói ở giữa chừng.

Trải nghiệm thực tế: NotebookLM đã thay đổi cách tôi học Swift

Bắt đầu từ những kiến thức nền tảng

Sau khi các nguồn đã được sắp xếp, phần thú vị cuối cùng cũng bắt đầu – thực sự học Swift. Như đã đề cập ở trên, tôi bắt đầu với một tài liệu duy nhất bao gồm một vài trang được sao chép từ tài liệu Swift chính thức của Apple, tất cả đều tập trung vào những kiến thức cơ bản nhất của Swift. Vì tôi đã thành thạo Python, C và C++, tôi đã hỏi NotebookLM như sau:

“Tôi là người mới học Swift. Tôi biết Python, C và C++, nhưng chưa từng học Swift trước đây. Bạn có thể giải thích những kiến thức cơ bản nhất cho tôi và cho tôi biết về cú pháp của nó không? Chúng ta có thể bỏ qua phần lý thuyết và tập trung vào những gì giúp tôi viết code. Hãy ghi nhớ kiến thức hiện có của tôi về Python, C và C++.”

Giao diện NotebookLM hiển thị câu hỏi về cú pháp và kiến thức cơ bản của ngôn ngữ lập trình Swift.Giao diện NotebookLM hiển thị câu hỏi về cú pháp và kiến thức cơ bản của ngôn ngữ lập trình Swift.

Phần tuyệt vời nhất của NotebookLM là nó làm chính xác những gì bạn yêu cầu, mà không cung cấp thông tin không cần thiết hoặc bịa đặt (hallucinate). Nó đã trích xuất thông tin liên quan từ các nguồn của tôi và giải thích tất cả các kiến thức cơ bản của Swift cho tôi. Nó thậm chí còn bao gồm các ví dụ về cách cú pháp của Swift khác với các ngôn ngữ lập trình mà tôi đã biết, điều mà tôi thấy thực sự hữu ích.

Xử lý các khái niệm phức tạp

Tất nhiên, vì Swift là một ngôn ngữ hoàn toàn mới đối với tôi, có một số khái niệm tôi chưa từng nghe nói đến trước đây và vẫn còn bối rối. Với NotebookLM, thay vì phải Google từng thuật ngữ riêng lẻ hoặc xem nhiều video hướng dẫn trên YouTube cho mỗi khái niệm gây nhầm lẫn, tôi chỉ cần đặt các câu hỏi tiếp theo. Vì nó chỉ trích xuất thông tin từ các nguồn tôi đã thêm, tôi không phải lo lắng về thông tin lỗi thời hoặc mâu thuẫn, điều mà tôi thường gặp phải với các chatbot thông thường.

NotebookLM hiển thị ví dụ so sánh cú pháp giữa ngôn ngữ lập trình Swift và C, giúp người học dễ dàng hình dung.NotebookLM hiển thị ví dụ so sánh cú pháp giữa ngôn ngữ lập trình Swift và C, giúp người học dễ dàng hình dung.

Mặc dù tôi nhận thấy tính năng Audio Overviews của NotebookLM không giúp ích nhiều trong trường hợp này, nhưng tính năng Mind Maps lại là một “game-changer”.

Bản đồ tư duy (Mind Map) do NotebookLM tạo ra, tóm tắt các khái niệm cốt lõi của ngôn ngữ lập trình Swift.Bản đồ tư duy (Mind Map) do NotebookLM tạo ra, tóm tắt các khái niệm cốt lõi của ngôn ngữ lập trình Swift.

Nó tóm tắt tất cả các khái niệm cốt lõi trong một sơ đồ phân nhánh trực quan, giúp tôi nhanh chóng xem lại tài liệu và hiểu cách các chủ đề khác nhau được kết nối, đặc biệt khi quay lại học sau một thời gian nghỉ.

Tương lai của việc học ngôn ngữ lập trình với AI

Liệu có tái diễn trải nghiệm này với ngôn ngữ khác? Chắc chắn rồi!

Đây không phải là lần đầu tiên tôi học một ngôn ngữ lập trình mới, nhưng việc sử dụng NotebookLM có lẽ là cách học thu hút nhất mà tôi từng trải nghiệm cho đến nay. Đó là bởi vì NotebookLM khiến quá trình này không còn giống như việc học bài mà giống như có một gia sư luôn thấu hiểu cách tôi học tốt nhất.

Việc học một ngôn ngữ lập trình mới, đặc biệt là Swift để phát triển ứng dụng iOS, đòi hỏi sự kiên trì và một nguồn tài liệu đáng tin cậy. NotebookLM không chỉ cung cấp thông tin chính xác mà còn biến quá trình học thành một trải nghiệm tương tác, cá nhân hóa. Với khả năng xử lý thông tin từ các nguồn được chọn lọc và tạo ra các tóm tắt trực quan như Mind Maps, công cụ AI này thực sự là một trợ thủ đắc lực cho bất kỳ ai muốn làm chủ một ngôn ngữ lập trình mới.

Bạn đã từng thử sử dụng AI để học lập trình chưa? Hãy chia sẻ kinh nghiệm của bạn trong phần bình luận bên dưới nhé!

Related posts

Cách Khắc Phục Lỗi File Explorer Chậm Trên Windows 11 Hiệu Quả Nhất

Administrator

DeepSeek R1: Cơn Địa Chấn Hay Bước Tiến Vĩ Đại Của AI? Phân Tích Chuyên Sâu Tác Động Toàn Cầu

Administrator

Microsoft: AI Tạo Ra Đến 30% Mã Nguồn, Lộ Trình Tới 95% Vào 2030

Administrator