Giáo án NLS chuyên đề Tin học 12 KHMT Bài 17: Thực hành duyệt đồ thị tổng hợp
Giáo án chuyên đề NLS Tin học 12 - Khoa học máy tính (bộ SGK thống nhất từ 2026 - 2027) Bài 17: Thực hành duyệt đồ thị tổng hợp. Với năng lực số được tích hợp, tiết học sẽ giúp học sinh tăng cường khả năng ứng dụng công nghệ, tin học vào việc tìm hiểu các chuyên đề học tập. KHBD này là file word, tải về dễ dàng.
=> Giáo án tích hợp NLS chuyên đề Tin học 12 Khoa học máy tính
Các tài liệu bổ trợ
Ngày soạn: …/…/…
Ngày dạy: …/…/…
BÀI 17: THỰC HÀNH DUYỆT ĐỒ THỊ TỔNG HỢP
(2 tiết)
I. MỤC TIÊU
1. Kiến thức
Sau bài học này, HS sẽ:
- Thực hành duyệt đồ thị theo chiều rộng.
- Thực hành ứng dụng kĩ thuật duyệt đồ thị trong một số bài toán thực tế.
2. Năng lực
Năng lực chung:
- Tự chủ và tự học: Chủ động học tập, tìm hiểu nội dung bài học.
- Giải quyết vấn đề và sáng tạo: Trả lời được các câu hỏi, giải quyết được các vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông.
- Giao tiếp và hợp tác: Biết lựa chọn hình thức làm việc nhóm với quy mô phù hợp với yêu cầu và thực hiện tốt nhiệm vụ.
Năng lực Tin học:
- Duyệt được đồ thị theo chiều rộng.
Năng lực số:
- 3.4.NC1a: Lập trình (HS viết, sửa đổi và chạy gỡ lỗi thành công các hàm Python Getnames, BuildGraph, BFS, printpath (đệ quy và không đệ quy) để giải quyết bài toán định tuyến).
- 2.1.NC1a: Tương tác thông qua công nghệ số (HS xem video được tạo bởi công cụ AI và trả lời câu hỏi, sử dụng máy tính cá nhân hoặc thiết bị di động có kết nối Internet để làm bài tập trắc nghiệm củng cố trên môi trường số).
- 5.3.NC1a: Sử dụng sáng tạo công nghệ số (HS sử dụng môi trường lập trình Python IDE thiết kế, thực thi giải thuật tìm đường, đổi mới quy trình vẽ đồ thị thủ công trên giấy bằng công cụ phần mềm tối ưu).
- 1.3.NC1a: Quản lí dữ liệu, thông tin và nội dung số (HS thao tác đọc dữ liệu từ các file chứa danh sách tên (Danh-sach.inp) và các cạnh nối đường đi xe đạp (Xe-dap.inp) để nạp, tổ chức và truy xuất cấu trúc danh sách kề Adj bằng Python).
- 1.2.NC1a: Đánh giá dữ liệu, thông tin và nội dung số (HS phân tích, so sánh hành trình thực tế tự vẽ trên giấy với kết quả truy vết từ chương trình Python và phản hồi của Chatbot AI để kiểm chứng tính chuẩn xác của dữ liệu).
- 6.2.NC1a: Sử dụng trí tuệ nhân tạo (HS sử dụng công cụ AI hoặc sản phẩm số do GV cung cấp để tiếp nhận thông tin, trả lời câu hỏi đơn giản).
- 1.1.NC1a: Duyệt, tìm kiếm và lọc dữ liệu, thông tin và nội dung số (HS tiếp cận, khai thác được thông tin từ nguồn học liệu số dưới sự hướng dẫn của GV).
Năng lực AI:
- 12.A3.1: Trách nhiệm công dân trong xã hội có AI (HS thể hiện trách nhiệm học thuật số: tự tư duy thuật toán BFS và phác thảo code Python trước khi lập trình; cam kết liêm chính kỉ nguyên số, chỉ sử dụng Chatbot AI làm trợ lý gỡ lỗi (debug), bắt lỗi file đầu vào hoặc đề xuất tối ưu hóa bộ nhớ, tuyệt đối không lạm dụng copy code của AI để đối phó).
- 12.C2.1: Các yêu cầu dành cho công cụ AI hỗ trợ các hoạt động học tập và xã hội (HS biết cách thiết lập prompt phù hợp nhờ nhờ Chatbot AI phân tích cấu trúc và hiệu năng thuật toán tìm đường đi ngắn nhất BFS).
3. Phẩm chất
- Chăm chỉ: Tích cực tìm tòi và sáng tạo trong học tập.
- Trung thực: Thực hiện đúng phần việc của bản thân và hợp tác làm việc nhóm khi được giao nhiệm vụ. Có ý thức báo cáo kết quả một cách chính xác.
- Trách nhiệm: Hoàn thành các bài tập theo yêu cầu của GV thông qua hệ thống câu hỏi, phiếu học tập, thông qua sản phẩm.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1. Đối với giáo viên
- SGK, KHBD Chuyên đề học tập Tin học 12 – Định hướng Khoa học máy tính.
- Phòng thực hành máy tính cài đặt sẵn môi trường lập trình Python (IDLE, PyCharm, VS Code,…) và có kết nối Internet, máy trình chiếu.
- Học liệu số & Công cụ AI:
- Bộ câu hỏi trắc nghiệm trên website kenhhoctap.edu.vn.
- Video AI được tạo bằng các công cụ AI để khởi động bài học.
- Công cụ Chatbot AI (ChatGPT/Gemini).
2. Đối với học sinh
- SGK Chuyên đề học tập Tin học 12 – Định hướng Khoa học máy tính.
- Vở ghi.
III. TIẾN TRÌNH DẠY HỌC
1. HOẠT ĐỘNG KHỞI ĐỘNG
…………………………………………..
…………………………………………..
…………………………………………..
2. HOẠT ĐỘNG THỰC HÀNH
Nhiệm vụ. Tìm đường đi xe đạp
a. Mục tiêu: HS tìm hiểu, trao đổi để hiểu bài toán cần giải quyết.
b. Nội dung: GV hướng dẫn HS thực hành trên máy tính theo hướng dẫn trong SGK để hoàn thành Nhiệm vụ.
c. Sản phẩm: Chương trình tìm đường đi xe đạp.
d. Tổ chức thực hiện:
| HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM | NLS/AI | ||||
Bước 1: GV chuyển giao nhiệm vụ học tập - GV tổ chức cho HS thực hành cá nhân, đọc Nhiệm vụ SGK tr.80. Các bạn học sinh lớp em (được đánh số từ 0 đến n – 1) có nhà ở trải rộng khắp thành phố. Trong thành phố có những đường đi chỉ dành cho xe cơ giới, nhưng cũng có đường đi dành cho xe đạp. Các bạn học sinh lớp em chỉ biết đi xe đạp. Dữ liệu đầu vào gồm hai tệp. Tệp Danh-sach.inp sẽ lưu tên các bạn trong lớp, tên mỗi bạn ghi trên một dòng. Tệp thứ hai, Tệp danh sách lớp học Danh-sach.inp bắt đầu là số tự nhiên n, n dòng tiếp theo mỗi dòng là tên của các bạn học sinh trong lớp.
Tệp lưu thông tin các đường đi xe đạp xe-dap.inp có dòng đầu tiên là số tự nhiên n, các dòng tiếp theo, mỗi dòng chỉ một đường đi bằng xe đạp giữa hai bạn học sinh trong lớp được mô tả bằng hai số tự nhiên cách nhau bởi dấu cách.
Yêu cầu của bài toán sau khi nhập dữ liệu như sau:
Trong ví dụ trên, nếu nhập i = 0 và ………………………………………….. ………………………………………….. …………………………………………..
| Nhiệm vụ. Tìm đường đi xe đạp - Nếu coi tập hợp các đường đi xe đạp là một mô hình đồ thị thì:
- Từ dữ liệu đầu vào (tệp Danh-sach.inp và Xe-dap.inp) dễ dàng thiết lập được đồ thị vô hướng G = (V, E) ứng với danh sách kề Adj. Bài toán: Cho trước hai đỉnh i, j bất kì của đồ thị, cần tìm một đường đi (nếu có) từ i đến j. - Bài toán có thể giải được dễ dàng bằng cách duyệt đồ thị theo chiều rộng, bắt đầu từ đỉnh i, nếu trong quá trình duyệt gặp đỉnh j thì có thể thiết lập đường đi từ i đến j. - Xây dựng chương trình:
………………………………………….. ………………………………………….. …………………………………………..
| - 1.3.NC1a: HS bóc tách thông tin tên học sinh và liên kết từ tệp văn bản nạp vào mảng Python để quản lý, lưu trữ và truy xuất đồ thị. - 3.4.NC1a: HS tự gõ mã nguồn lập trình các hàm Python. 5.3.NC1a: HS thực thi chạy chương trình hoàn chỉnh trên môi trường Python IDE. - 12.A3.1: HS thể hiện trách nhiệm đạo đức số: chủ động viết code ra nháp trước, chỉ sử dụng AI có kiểm duyệt làm trợ lý debug các ngoại lệ file đầu vào bị trống hoặc lỗi chỉ số dòng, cam kết không copy code giải hộ của AI. - 1.2.NC1a: HS đối chiếu kết quả vẽ bằng tay với kết quả in ra của chương trình Python để đánh giá độ tin cậy của giải thuật. |
3. HOẠT ĐỘNG LUYỆN TẬP
a. Mục tiêu: HS chỉnh sửa, bổ sung thêm vào chương trình “Tìm đường đi xe đạp” theo yêu cầu.
b. Nội dung: GV hướng dẫn HS thực hiện hoạt động Luyện tập SGK tr.82.
c. Sản phẩm học tập: HS hoàn thành hoạt động Luyện tập SGK tr.82.
d. Tổ chức thực hiện:
…………………………………………..
…………………………………………..
…………………………………………..
4. HOẠT ĐỘNG VẬN DỤNG
a. Mục tiêu: HS chỉnh sửa, bổ sung thêm vào chương trình “Tìm đường đi xe đạp” theo yêu cầu.
b. Nội dung: GV hướng dẫn HS thực hiện hoạt động Vận dụng SGK tr.82.
c. Sản phẩm học tập: HS hoàn thành hoạt động Vận dụng SGK tr.82.
d. Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ học tập
- GV yêu cầu HS làm việc cá nhân, hoàn thành bài tập phần Vận dụng SGK tr.82.
Câu 1. Bổ sung thêm yêu cầu của nhiệm vụ trên như sau: Có hay không hai bạn học sinh trong lớp mà không thể đi xe đạp từ nhà bạn này đến nhà bạn kia. Nếu có thì thông báo tên hai bạn học sinh đó.
Câu 2. Thiết lập hàm printpath(s,t) không đệ quy có tính năng tương tự hàm cùng tên trong chương trình trên.
- GV định hướng khai thác AI có trách nhiệm (Khi nào nên/không nên dùng AI):
+ HS tư duy và tự lập trình mã nguồn Python.
+ Sau khi tự gõ xong bản nháp code, HS được phép sử dụng Chatbot AI làm trợ lý để tối ưu hóa code và gỡ lỗi biên dịch (nếu có).
- GV yêu cầu HS: Sử dụng Chatbot AI phân tích sự khác biệt về mặt cấu trúc và hiệu năng thuật toán tìm đường đi ngắn nhất BFS (đồ thị không trọng số) với thuật toán Dijkstra hoặc A* (đồ thị có trọng số/khoảng cách thực tế) để ứng dụng thiết kế hệ thống định vị GPS thông minh trong thực tiễn.
Bước 2: HS tiếp nhận, thực hiện nhiệm vụ học tập
- HS tiếp nhận, suy nghĩ thực hiện nhiệm vụ.
- HS gửi prompt tương tác với trợ lý AI, thu nhận kiến thức so sánh hiệu năng các giải thuật định tuyến thực tế.
- GV quan sát, theo dõi và hỗ trợ HS khi cần thiết.
Bước 3: Báo cáo kết quả hoạt động, thảo luận
- GV lần lượt mời HS thao tác viết từng hàm cho cả lớp quan sát.
- HS khác chú ý quan sát và nhận xét bài làm của các bạn.
Gợi ý đáp án:
Câu 1. Bổ sung hàm kiểm tra và thông báo nếu tồn tại hai bạn học sinh không thể đi xe đạp đến nhà bạn kia:
…………………………………………..
…………………………………………..
…………………………………………..
Bước 4: Đánh giá kết quả thực hiện nhiệm vụ học tập
- GV chữa bài.
- GV nhận xét quá trình HS thực hành và kết thúc tiết học.
[3.4.NC1a: HS viết, đọc và điều chỉnh các hàm Python.
5.3.NC1a: HS áp dụng công cụ lập trình Python IDE thiết kế, thực thi thành công chương trình kiểm thử các bài toán vận dụng trên môi trường lập trình.
12.A3.1: HS thể hiện trách nhiệm học thuật số thông qua việc tự lập trình thuật toán trước, sử dụng AI có kiểm soát để debug mã nguồn, rà soát tính chuẩn xác và cam kết không phụ thuộc hoàn toàn vào công cụ công nghệ.
12.C2.1: HS đặt prompt phù hợp cho Chatbot AI để tra cứu thông tin chuyên sâu.]
* HƯỚNG DẪN VỀ NHÀ
- Xem lại các nội dung đã học trong Chuyên đề 3.

