🧠 Tự động hóa bài kiểm tra trắc nghiệm với Google Apps Script

Trong kỷ nguyên số, giáo viên không chỉ truyền đạt kiến thức mà còn là người quản lý, đánh giá và tạo trải nghiệm học tập số hóa hiệu quả. Một trong những công cụ hỗ trợ đắc lực cho giáo viên hiện đại chính là Google Apps Script – nền tảng lập trình đơn giản nhưng đầy uy lực của Google Workspace.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tự động tạo bài kiểm tra trắc nghiệm trên Google Form chỉ bằng vài dòng mã. Phù hợp với mọi giáo viên, kể cả khi bạn chưa từng viết một dòng code nào trước đây.

✍️ Bài toán thực tế: Tạo đề trắc nghiệm nhanh, có chấm điểm

Giả sử bạn cần tạo một đề kiểm tra gồm 5 câu hỏi trắc nghiệm, mỗi câu có 4 đáp án, chỉ có 1 đáp án đúng, và hệ thống sẽ tự gán điểm, phản hồi kết quả. Việc nhập tay trên Google Form mất thời gian, dễ nhầm lẫn và khó tái sử dụng.

Vậy thì Google Apps Script sẽ là lời giải thông minh nhất.

🛠 Công cụ cần thiết

✅ Tài khoản Google (Gmail)
✅ Trình duyệt web
✅ 5 phút làm quen với môi trường lập trình Apps Script

🔧 Các bước thực hiện

Bước 1: Mở trình chỉnh sửa Apps Script

  1. Truy cập: https://script.new
  2. Đặt tên dự án: Tao_Form_Trac_Nghiem_Tu_Dong

Bước 2: Dán đoạn mã dưới vào file Code.gs

function createAutoQuizForm() {
  // Tạo một Form mới
  const form = FormApp.create("Bài kiểm tra tự động - Trắc nghiệm tổng hợp");
  form.setIsQuiz(true); // Bật chế độ bài kiểm tra

  // Danh sách câu hỏi & đáp án
  const QUESTIONS = [
    {
      question: "Thủ đô của Việt Nam là gì?",
      choices: ["TP. Hồ Chí Minh", "Hà Nội", "Đà Nẵng", "Hải Phòng"],
      correct: 1
    },
    {
      question: "Nước sôi ở bao nhiêu độ C (ở điều kiện thường)?",
      choices: ["80°C", "90°C", "100°C", "120°C"],
      correct: 2
    },
    {
      question: "Ai là người viết tác phẩm 'Truyện Kiều'?",
      choices: ["Nguyễn Du", "Nguyễn Trãi", "Hồ Xuân Hương", "Tố Hữu"],
      correct: 0
    },
    {
      question: "5 x 6 bằng bao nhiêu?",
      choices: ["11", "30", "36", "56"],
      correct: 1
    },
    {
      question: "Màu sắc nào không có trong 3 màu cơ bản?",
      choices: ["Đỏ", "Xanh dương", "Vàng", "Xanh lá"],
      correct: 3
    }
  ];

  // Tạo câu hỏi trong Form
  QUESTIONS.forEach((q, i) => {
    const item = form.addMultipleChoiceItem();
    item.setTitle((i + 1) + ". " + q.question);
    item.setPoints(1); // Mỗi câu 1 điểm

    // Tạo đáp án và gắn cờ đúng
    const choices = q.choices.map((text, idx) =>
      item.createChoice(text, idx === q.correct)
    );
    item.setChoices(choices);

    // Thêm phản hồi
    item.setFeedbackForCorrect(
      FormApp.createFeedback().setText("✔ Chính xác!").build()
    );
    item.setFeedbackForIncorrect(
      FormApp.createFeedback().setText("❌ Sai rồi. Hãy xem lại kiến thức.").build()
    );
  });

  Logger.log("✅ Đã tạo Form: " + form.getEditUrl());
}

Bước 3: Chạy mã

  1. Nhấp chọn hàm createAutoQuizForm ở menu dropdown.
  2. Nhấn nút ▶️ Run (Chạy)
  3. Hệ thống yêu cầu cấp quyền – bấm “Cho phép” → “Tiếp tục”
  4. Mở View > Logs để lấy đường dẫn chỉnh sửa Form

📋 Kết quả

Sau vài giây, bạn sẽ có một Google Form hoàn chỉnh gồm:

  • 5 câu hỏi trắc nghiệm
  • Mỗi câu được chấm điểm tự động
  • Học sinh nhận được phản hồi đúng/sai khi nộp bài

🔄 Tái sử dụng và mở rộng

Bạn hoàn toàn có thể:

  • Chuyển dữ liệu câu hỏi sang Google Sheet và viết script đọc tự động
  • Sinh ngẫu nhiên 10 câu từ ngân hàng 100 câu hỏi
  • Tạo nhiều đề theo phân nhóm học sinh
  • Tự động gửi link bài kiểm tra qua Gmail hoặc Classroom

Tất cả đều có thể với Google Apps Script — hoàn toàn miễn phí và tích hợp liền mạch với hệ sinh thái Google Workspace.

🧠 Kết luận

Google Forms là công cụ tuyệt vời cho giáo dục, nhưng kết hợp với Google Apps Script, nó trở thành một hệ thống đánh giá linh hoạt và tự động hóa mạnh mẽ. Trong thời đại giáo dục số, việc hiểu và khai thác những công cụ này sẽ giúp giáo viên tiết kiệm thời gian, tăng hiệu quả giảng dạymở ra nhiều sáng tạo cá nhân.

Hãy bắt đầu từ những dòng mã đơn giản hôm nay – bạn sẽ bất ngờ với sức mạnh mà nó mang lại cho lớp học của mình.