Review 10 tuần học nền tảng Computer Science, Python & AI từ con số 0
Tháng 4 vừa rồi mình vừa nghỉ việc. Không còn guồng công việc hối hả, mình có thời gian để nhìn lại xem bản thân đang ở đâu, đã làm được gì, và cần học thêm điều gì để phát triển lâu dài.
Trong lúc còn mông lung, mình thấy mình giống rất nhiều người khác ngoài kia: FOMO liên tục với các công cụ mới, xu hướng mới của AI. Nhưng nhìn lại trước giờ, mình càng cảm thấy bản thân chỉ đang “vọc” mà không thật sự hiểu AI.
Và một câu hỏi hiện lên: “Nếu muốn hiểu và ứng dụng AI một cách thật sự bài bản, mình nên bắt đầu từ đâu?”
Mình không có background công nghệ. Không biết code. Không học ngành liên quan. Nhưng mình tò mò, có thời gian, và tự tin vào khả năng tự học.
Vậy là mình chọn bắt đầu từ thứ căn bản nhất: Kiến thức nền tảng.
Sau khi xác định sẽ học từ nền tảng, mình bắt đầu tìm kiếm những khóa học nhập môn bài bản. Không phải kiểu “học cấp tốc 2 tiếng xong ra làm AI”, mà là kiến thức có thể giúp mình hiểu được bản chất thay vì chỉ chạy theo tool.
Và mình tình cờ biết đến CS50 – Computer Science 50 – là chuỗi các khóa học nhập môn về Khoa học máy tính và Lập trình từ Harvard University được giảng dạy miễn phí qua nền tảng edX. Bạn có thể học hoàn toàn miễn phí với video bài giảng, bài tập và môi trường thực hành online. Nếu muốn nhận chứng chỉ thì mới phải trả phí (khoảng 219–299 USD/khóa)

Tín hiệu vũ trụ lai tiếp tục đến khi mình đọc được bài đăng recommend Những khoá học miễn phí về AI trên group Mind Your Mind , và mình quyết định chọn khóa CS50’s Introduction to Artificial Intelligence with Python được nhắc đến trong bài.
Tuy nhiên yêu cầu đầu vào của khóa này là học viên cần hoàn thành khóa CS50’s Introduction to Computer Science (CS50x) và có kinh nghiệm lập trình Python. Cả 2 thứ này mình đều không có :D. Vậy là mình quyết định học tuần tự 3 khóa:
– CS50x: CS50’s Introduction to Computer Science – Nhập môn Khoa học máy tính
– CS50P: CS50’s Introduction to Programming with Python – Nhập môn Lập trình Python
– CS50 AI: CS50’s Introduction to Artificial Intelligence with Python – Nhập môn AI với Python
Có thể ví CS50x giúp bạn bắt đầu học kiến thức nền tảng và cách suy nghĩ như một lập trình viên, hiểu nguyên lý xử lý dữ liệu, thuật toán, bộ nhớ, cách máy tính và internet hoạt động ra sao. CS50P giúp bạn cầm được cây bút là Python, viết được ý tưởng của mình thành mã lệnh thực tế. Còn CS50 AI là nơi bạn dùng cây bút ấy để vẽ nên các mô hình AI ở dạng cơ bản, mô phỏng trí tuệ của con người bằng các thuật toán.
Và hành trình 10 tuần bắt đầu từ đó. Một hành trình không dài không ngắn, nhưng giúp mình không chỉ học thêm kiến thức đáng quý, mà còn nhận ra nhiều điều.
Niềm vui học tập từ 10 vạn câu hỏi “Why?”
Khi còn là trẻ con, chúng ta hay hỏi những câu hỏi Vì sao. “Vì sao trời mưa?”, “Vì sao trăng đi theo mình?”, 10 vạn câu hỏi Vì sao khiến bố mẹ nhức đầu 😀 (và bây giờ mình vẫn nhức nhức đầu khi thằng ku con nhà mình dần đến tuổi đặt câu hỏi Vì sao :D)
Tuy vậy khi lớn lên, chúng ta lại dần bỏ quên những câu hỏi “Why – Vì sao”, và chuyển sang tìm “How – Làm sao”: Làm sao để giỏi hơn? Làm sao dùng tool mới? Làm sao tăng tốc? Nhanh. Gọn. Ứng dụng ngay.
Nhưng sau hơn 2 tháng học kiến thức nền tảng về Computer Science, Python và AI, mình nhận ra: Phần lớn câu hỏi của mình đặt ra khi học không còn thiên về How nữa, mà là về Why – “Vì sao?”
Vì sao máy tính dùng hệ nhị phân (0, 1) thay vì hệ thập phân?
Vì sao gõ phím là hiện ra chữ?
Vì sao nhấn nút tìm kiếm, chỉ 1 giây sau đã thấy cả triệu kết quả?
Vì sao AI có thể hiểu những câu lệnh và phản hồi như con người?
…

Cứ mỗi bài học mới, lại thêm một loạt câu hỏi Why được đặt ra. Và mỗi lần một câu hỏi được giải đáp, cái cảm giác “ồ thì ra là vậy” lại ùa về. Một thứ niềm vui khám phá mà đã rất lâu rồi mình mới chạm lại được.
Giống như một từ khóa lặp đi lặp lại trong khóa học: “underneath the hood” – vén màn bản chất.
Tất nhiên, học kiến thức nền tảng, nhất là về lập trình thì khá là khô. Nhất là khi làm bài tập thực hành, ngồi đọc đề, gõ code mà thấy nhức nhức cái đầu.
Nhưng chính niềm vui khám phá từ những câu hỏi Vì sao chính là một trong những thứ giữ mình lại.Và nó khiến hành trình này bớt nhàm chán hơn. Vì mình tìm thấy niềm vui.
Giống như được quay lại thời trẻ con tò mò, háo hức và tận hưởng việc học vì chính niềm vui chứ không phải điểm số hay bằng cấp.
Tự học nhanh hơn, nhàn hơn khi có AI đồng hành
Thú thật là ban đầu mình khá rén, vì bản thân chưa biết tí gì về lập trình. Khóa học lại còn 100% tiếng Anh với nhiều thuật ngữ chuyên ngành IT. Khối lượng kiến thức mới dày đặc, nhiều khái niệm khá trừu tượng và lùng bùng lỗ tai. Hoặc lúc làm assignment nhìn đề bài dài ngoằng cuộn hết 3 màn hình mới hết mà thấy oải.
Nhưng may là mình có AI bên cạnh.
Mỗi lần bí, mình chỉ cần copy đoạn script bài giảng hoặc đề bài và dán vào ChatGPT, hỏi lại đúng kiểu vỡ lòng người mới học”: “Tại sao lại vậy?”, “Phần này có ý nghĩa gì”, “Có ví dụ đơn giản không?” “Giải thích lại cho người không có nền tảng nhé.”
Và cứ thế từng bước một, mình hiểu ra.Không phải nhờ trình độ gì cao siêu. Mà nhờ có một “người trợ giảng AI” luôn sẵn sàng giải thích lại, kiên nhẫn và khá là thảo mai 😀
Mình từng làm trong lĩnh vực giáo dục vài năm. Và mình nhận thấy điểm yếu cố hữu của giáo dục truyền thống là sự hạn chế về tương tác giữa giáo viên và học viên. Sức người có hạn. Giáo viên có chăm mấy thì cũng chỉ kèm được số lượng học viên nhất định. Chưa kể đến tâm lý ngại hỏi của học viên nữa.
Nhưng nhờ AI, vấn đề này đã có thể giải quyết gọn gàng. Đặc biệt là khi học kiến thức nền tảng thì mình thấy không lo việc AI hướng dẫn sai, vì kiến thức nền tảng không khó đối đối chiếu hay kiểm chứng.
Và mình nhận ra một điều: Nguồn tư liệu kiến thức thì có sẵn, AI thì bên cạnh, chỉ cần mình có động lực đủ lớn, mọi thứ ban đầu tưởng khó nhằn, thật ra đều có thể tự học được.
Học AI để hiểu AI và nhận ra điều AI không thể
Một điều khiến mình “wow” khi học CS50AI là nhận ra: AI không sinh ra đã “thông minh”, nó thông minh vì học lại những gì con người từng giải.
Có một trình tự tư duy xuyên suốt trong từng bài học, giúp mình hiểu rõ bản chất của việc dạy AI:
1. Xác định rõ vấn đề cần giải quyết
→ Ví dụ: Làm sao để không thua trong trò chơi? Làm sao để tìm đường đi ngắn nhất? Làm sao để AI hiểu câu hỏi và phản hồi như con người?
2. Mô hình hóa vấn đề theo kiểu “ngôn ngữ máy hiểu được”
→ Tức là chuyển tình huống đời thực thành trạng thái, hành động, luật – rồi chọn thuật toán phù hợp (Minimax, Search, Machine Learning, NLP…).
3. Triển khai bằng ngôn ngữ lập trình
→ Dùng code để mô phỏng lại cách giải và cho máy tính tự thực hiện hàng loạt phép thử, suy luận, dự đoán.
Tức là để AI giải quyết được vấn đề, con người phải biết xác định vấn đề và mô phỏng vấn đề đó theo cách mà máy tính có thể hiểu và xử lý được.
AI không biết vấn đề nào là quan trọng, càng không biết mục tiêu thật sự bạn đang theo đuổi là gì.
Nó chỉ làm đúng những gì bạn yêu cầu, dựa trên dữ liệu bạn cung cấp.
Nếu bạn xác định sai vấn đề, AI có thể vẫn sẽ đưa ra một giải pháp đúng… cho một vấn đề sai, tức là sai từ đầu.
Nếu bạn xác định đúng vấn đề nhưng mô phỏng không đầy đủ, thiếu dữ liệu, thiếu ngữ cảnh, AI cũng không thể đưa ra giải pháp đúng.
Khi học về Computer Science, mình nhận ra toàn bộ dữ liệu mà máy tính hay AI xử lý – từ chữ viết, hình ảnh, âm thanh đến video – đều bắt nguồn từ chuỗi số 0 và 1 trong hệ nhị phân.
Nhưng có những điều AI không thể “hiểu”. Vì nó quá khó để chuyển dữ liệu máy tính.
Mình nhớ gần đây mình phỏng vấn một nhân vật để chắp bút viết một cuốn Ebook cho mục đích truyền thông sản phẩm. Kết thúc buổi phỏng vấn, mình gửi đoạn ghi âm nhờ AI giúp mình tóm tắt nội dung và đề xuất ý tưởng.
Mọi thứ nhìn có vẻ ổn. Nhưng vẫn có điều gì đó thiếu thiếu. Bởi lúc trò chuyện, nhìn vào mắt nhân vật, mình lờ mờ nhận ra: mình mới chỉ chạm vào phần nổi của câu chuyện. Để có được một câu chuyện hay không chỉ khoe ra những mặt tốt, mà mình cần nắm được nhân vật đã vượt qua điều gì, từng đánh đổi ra sao, và học được gì sau cùng.
Nhưng không phải ai cũng sẵn sàng kể về nỗi đau, thất bại hay những góc khuất của mình. Muốn chạm tới điều đó, mình đã phải tốn cực kỳ nhiều công sức thuyết phục, thậm chí giở bài cùn ăn vạ “Hoặc anh kể hết cho em, em sẵn sàng nghe, trễ deadline cũng được, hoặc là mình không cần viết cuốn ebook này nữa”.
Vì mình biết: nếu chỉ làm cho xong task dựa trên những gì AI cung cấp, mình sẽ lại có thêm một nội dung nhìn có vẻ hay, nhưng nhàm chán như bao nội dung khác trên mạng.
Chỉ khi mình thật sự muốn hiểu để đồng cảm, không chỉ để viết, thì nhân vật mới mở lòng. Và câu chuyện thật mới dần lộ diện.
Những thứ kiểu “nhìn vào mắt để cảm nhận”, mình không thể mô phỏng lại cho AI hiểu được. Và có những dữ liệu cũng không thể lấy được nếu chỉ đút chân gầm bàn gõ gõ vài câu lệnh cho AI tự tạo, mà cần đến khả năng thấu cảm.
Vì xét cho cùng, khả năng thấu cảm thuộc về trí tuệ cảm xúc (EQ). Và trí tuệ cảm xúc là thứ thuộc về khoa học thần kinh, chứ không phải khoa học máy tính.
Tóm lại, mình vẫn tôn trọng sức mạnh của AI, nhưng không còn thần thánh hóa nó. Mình xem AI không chỉ là công cụ, mà là một đối tác hỗ trợ con người. Khi nhìn nhận như vậy, mình biết cách tận dụng đúng điểm mạnh của AI và càng hiểu rõ hơn đâu là điều chỉ con người mới làm được.
Vậy bạn cần gì để hoàn thành chuỗi khóa học này?
Bạn sẽ cần tư duy logic và một chút kiến thức toán học. Lý do là vì kiến thức trong khóa học được xây dựng theo trình tự tuyến tính chặt chẽ. Từ A thì mới đến B, rồi mới đến C. Mọi thứ đều có nguyên nhân và kết quả rõ ràng, không thể học kiểu “nhảy cóc” được. May mắn là mình là dân khối A nên không ngại lắm. Nhưng nếu bạn là người thiên về sáng tạo tự do thì có thể sẽ thấy khó tiếp cận hơn, trừ khi bạn đủ kiên trì để làm quen với cách tư duy logic.
Ngoài ra, bạn cần có khả năng nghe và đọc tiếng Anh ở mức khá để theo dõi bài giảng. Nội dung khóa học hoàn toàn bằng tiếng Anh, từ video bài giảng cho đến bài tập. Bạn có thể dùng AI để hỗ trợ dịch và tóm tắt, nhưng không thể phụ thuộc hoàn toàn được. Tuy nhiên nếu nhìn theo hướng tích cực thì đây cũng là dịp tốt để luyện kỹ năng reading và listening.
Nhưng thật lòng mà nói, đây là một khóa học khó nhằn, nhất là với những ai không xuất thân từ ngành công nghệ và chưa từng học lập trình. Vì vậy mình thấy quan trọng nhất là bạn cần lý do đủ lớn để kiên trì học đến cùng.
Với cá nhân mình, ngoài động lực muốn nắm rõ bản chất của AI để tự tin vận dụng, thì trạng thái thất nghiệp hiện tại cũng là động lực để mình không thể trì hoãn được nữa. Ý định học lập trình và AI đã có từ lâu, nhưng trước đây vì công việc bận rộn nên chưa thể theo được. Bây giờ có thời gian, mình xem đây là cơ hội quá phù hợp để học một lèo luôn. Vì mình biết, kiến thức này không dễ, nếu học kiểu lắt nhắt mỗi hôm một tí thì hôm nay học, mai quay lại đã quên gần hết rồi.
Ngoài ra, mình có một lý do rất cá nhân xuất phát từ trăn trở: “Sau này nên cho con học gì?” Mình tin rằng lập trình là một kỹ năng quan trọng. Mình muốn học trước để hiểu, để có thể định hướng, làm gương, hoặc đơn giản là học cùng con sau này.
Chưa hết mình còn có thêm động lực tài chính. Cả ba khóa học mình theo đều có thể học miễn phí. Bạn hoàn toàn có thể xem video bài giảng, làm bài tập, sử dụng nền tảng cs50.dev để lập trình – mà không mất đồng nào. Bạn chỉ mất tiền nếu muốn lấy certificate (là cái ảnh dưới này, mà thật ra ảnh này mình photoshop cũng được :v)

Với hai khóa CS50x và CS50P, mình học kiểu miễn phí. Nhưng đến CS50AI, mình quyết định đăng ký học trả phí, tốn khoảng hơn 209 USD. Không phải vì mình cần chứng chỉ để phông bạt, mà vì mình muốn tạo thêm áp lực để tăng cam kết cho bản thân, kiểu nếu bỏ cuộc giữa chừng là phí mất một mớ. Nhất là khi người bỏ tiền ra là vợ mình 😀 Khi tư bản bỏ tiền ra đầu tư thì bạn biết áp lực cho người vô sản như mình là gì rồi đấy.
Học xong khóa này rồi thì sao?
Để nói rằng mình hiểu 100% kiến thức thì không đâu. Mình nghĩ chỉ tầm 60–70% là cùng. Có những phần kiến thức trừu tượng đến mức dù để xem đi xem lại bài giảng, xà quần nát nước với AI để nhờ giải thích mọi ngóc ngách… nhưng cuối cùng đành chấp nhận ừ thì thôi hiểu sơ sơ, cũng cũng, đại đại thôi là được rồi :v
Và mình thấy như vậy là đủ. Vì mình không học để làm nghiên cứu chuyên sâu, mình học để có nền tảng. Mục tiêu sau khóa học là bắt tay vào ứng dụng: đem lập trình và AI vào giải quyết bài toán thật. Sau khi đã rõ “Why”, giờ là lúc bắt đầu tìm “What” và “How” – làm cái gì và làm như thế nào.
10 tuần qua là khoảng thời gian học hành nghiêm túc và tập trung nhất của mình trong nhiều năm. Quan trọng hơn cả, nó giúp mình xóa bỏ nỗi sợ: bước qua tuổi 30 rồi, mình vẫn học được, vẫn hiểu được những thứ mới mẻ, miễn là đủ tập trung và có lý do đủ mạnh.
Vì thế giới thật rộng lớn và còn quá nhiều thứ để học.
Cuối cùng thì…
Cảm ơn bạn nếu bạn vẫn kiên nhẫn đọc tới đoạn kết của cái “biên bản” này :v . Gửi tặng bạn một cái ôm thuần khiết, không kèm mã giảm giá hay link sop pe gì 😀
Nếu bạn cũng giống mình, từng lăn tăn muốn học lập trình hay tìm hiểu AI bài bản mà cứ lần lữa hoài, thì mình hy vọng bài viết này giống như một cái vỗ vai nhẹ. Cứ thử đi, không khó đâu, từ từ đi chậm cũng được, miễn là bạn thấy vui.
Nhỉ?! 😀
No Comments