Tư duy Tính toán

AI hỗ trợ Tư duy Tính toán

Trường ĐH Công nghệ – Đại học Quốc gia Hà Nội

Vai trò của AI trong Tư duy Tính toán

Lập trình > gõ code!

  • Trước máy tính, con người đã giải quyết vấn đề phức tạp như thế nào?
  • Tư duy Tính toán — kỹ năng có tính hệ thống để phân tích và giải quyết vấn đề.
  • Lập trình chỉ là công cụ để “bảo” máy tính thực thi lời giải.

Trí tuệ Nhân tạo (AI)

AI là ngành tạo ra hệ thống có thể thực hiện các tác vụ cần trí tuệ con người: học, suy luận, giải quyết vấn đề, cảm nhận và hiểu ngôn ngữ.

  • Nhận dạng & xử lý tiếng nói
  • Hiểu ngôn ngữ tự nhiên
  • Nhận thức thị giác & phân tích
  • Suy nghĩ, lập luận & ra quyết định

AI như Trợ lý

Trợ lý AI xử lý ngôn ngữ tự nhiên để hiểu yêu cầu tự nhiên của bạn và phản hồi thông tin/hỗ trợ tương ứng.

  • Bạn hỏi bằng ngôn ngữ tự nhiên
  • AI phản hồi thông tin cần thiết

Dùng Prompt với Trợ lý AI

Câu lệnh (Prompt) là đầu vào/chỉ dẫn bạn đưa cho AI để định hướng phản hồi: câu hỏi, phát biểu hay mã nguồn.

Ví dụ prompt: “Viết hàm Python tinh_tong(a, b) trả về tổng hai số.”

CT với AI (2)

  • Nhiệm vụ: In lời chào tới 3 người khác nhau.
  • Prompt: “Code của tôi đang bị lặp lại nhiều lần, hãy chỉ ra mẫu chung và đề xuất cách tốt hơn?”
Đoạn code Python chào 3 người

CT với AI (3): Nhận diện mẫu

AI trả lời: Mẫu chung: print("Hello, [tên]!") lặp lại chỉ khác tên.

CT với AI (4): Trừu tượng hóa

Tạo hàm greet(name) để xử lý mẫu chung, nhận name và in lời chào.

Hàm greet(name)

CT với AI (5): Thiết kế thuật toán

Thay vì gõ 3 lần print, chỉ cần gọi greet 3 lần với các tên khác nhau.

Gọi hàm greet nhiều lần

AI: Bạn đồng hành trên hành trình tư duy

  • Không thay thế tư duy phản biện.
  • Hỗ trợ cả 4 bước CT, làm quy trình hiệu quả hơn.
  • Mục tiêu: học cách “ra lệnh” cho AI.

Giới thiệu hệ sinh thái Trợ lý AI

GitHub Copilot: Trợ lý trong trình soạn thảo

  • Tích hợp trực tiếp VS Code, gợi ý khi bạn gõ.
  • Hiểu ngữ cảnh dự án, tăng tốc viết mã.
  • Phù hợp khi bạn biết mình cần viết gì.

Hệ sinh thái AI cho lập trình

Ngoài ChatGPT và Copilot còn nhiều công cụ khác (Cursor, Codeium, Replit, v.v.).

Biểu đồ hệ sinh thái công cụ AI cho dev

Học Python với AI

Tận dụng AI để học nhanh và hiệu quả hơn.

Demo: Copilot tự hoàn thành

  • Lập trình viên bắt đầu gõ một đoạn chú thích.
  • Copilot gợi ý toàn bộ hàm dựa trên ngữ cảnh.
  • Người dùng kiểm tra và điều chỉnh gợi ý.

Cạm bẫy & thách thức thường gặp

Ví dụ 1: Quên trường hợp biên biên

Code chạy với dữ liệu thường, sai ở trường hợp biên (vd. danh sách rỗng).

Prompt: “Viết hàm tìm max trong list.”

Hàm find_max thiếu xử lý list rỗng

Ví dụ 2: Không hiệu quả

Đúng chức năng nhưng kém hiệu năng (Ví dụ: \(O(n^2)\) khi khử trùng lặp).

Prompt: “Viết hàm loại bỏ trùng lặp trong list.”

remove_duplicates O(n^2)

Ví dụ 3: Rủi ro bảo mật

Mô hình có thể sao chép mẫu lệnh nguy hiểm.

Prompt: “Viết hàm chạy lệnh hệ thống từ input người dùng.”

run_user_command nguy hiểm

Hàm có thể chạy lệnh nguy hiểm như `rm -rf /`!

Thiên kiến & Ảo giác

  • Thiên kiến dữ liệu: học theo mẫu lỗi/thói quen cũ.
  • Ảo giác: bịa hàm/thư viện/khái niệm không có.

Ví dụ thực tế: Một luật sư đã sử dụng ChatGPT để nghiên cứu và trích dẫn các vụ án pháp lý không tồn tại trong tòa án, dẫn đến sai sót đáng xấu hổ trong thực hành nghề nghiệp.

Sử dụng AI có trách nhiệm

Vì sao không thể "giao não” cho AI?

  • AI có thể sai—chỉ bạn hiểu bối cảnh để sửa.
  • Sáng tạo là của con người.
  • Gỡ lỗi rèn kỹ năng, tư duy sâu.
  • Kiến thức nền tảng là gốc rễ của ứng dụng thực tế.

✅ Nên dùng

  • Sinh ví dụ code, học kỹ năng mới
  • Tìm kiếm thông tin
  • Giải thích lỗi
  • Tự động hóa các việc lặp lại

🚫 Không nên

  • Bài tập học thuật (trừ khi được phép)
  • Dữ liệu nhạy cảm/bảo mật
  • Khi học nền tảng: hãy tự vật lộn với kiến thức trước

AI: "Cộng tác" hay “ông chủ”?

✅ Chủ động

  • Phân tích đề bài
  • Viết prompt để nhận hướng dẫn
  • Tự tay lập trình
  • Khi có lỗi, hỏi AI để hiểu & tự sửa

🚫 Thụ động

  1. Viết prompt
  2. Dán vào ChatGPT
  3. Copy kết quả
  4. Nộp bài