🔧 Decomposition
การแยกปัญหาหรืองานที่ใหญ่และซับซ้อน ออกเป็นชิ้นส่วนย่อยๆ ที่จัดการได้ง่ายขึ้น เหมือนการแยกส่วนของเลโก้ก่อนจะสร้างใหม่
- ✓ อธิบายความหมายของ Decomposition ได้ด้วยภาษาตัวเอง
- ✓ แยกงานในชีวิตประจำวันออกเป็นขั้นตอนย่อยๆ ได้อย่างน้อย 5 ขั้นตอน
- ✓ ทำงานเป็นทีมในการแก้ปัญหาที่ถูกแบ่งออกเป็นส่วนย่อย
เขียนขั้นตอนการทำพิซซ่าให้ละเอียดที่สุด แล้วให้เพื่อนคนอื่นทดสอบทำตาม ถ้าเพื่อนทำผิดแสดงว่าคำสั่งไม่ชัดพอ!
- 1 แจกกระดาษ A4 ให้นักเรียนแต่ละคน เขียน "สูตรทำพิซซ่า" ให้ละเอียด
- 2 สลับกระดาษกับเพื่อน อ่านคำสั่งแล้วแสดงท่าทางตามที่เขียน
- 3 สังเกตว่าตรงไหนที่ขั้นตอนยังไม่ชัดเจน แล้วช่วยกันปรับปรุง
- 4 นำเสนอสูตรสุดท้ายที่ดีที่สุดให้ทั้งชั้นฟัง
คนหนึ่งเป็น "โปรแกรมเมอร์" คนหนึ่งเป็น "หุ่นยนต์" ที่ทำตามคำสั่งตรงๆ เท่านั้น ฝึกการแยกคำสั่งให้ชัดเจนและเป็นขั้นตอน
- 1 โปรแกรมเมอร์เขียนคำสั่งทำแซนวิชอย่างละเอียด ห้ามใช้คำว่า "เหมือนปกติ"
- 2 หุ่นยนต์ทำตามคำสั่งทุกอย่าง แม้จะดูแปลกก็ตาม (เช่น "วางขนมปัง" → วางในแนวตั้ง!)
- 3 ช่วยกันดูว่าคำสั่งไหนต้องแก้ไข แล้วเขียนใหม่ให้ชัด
🔍 Pattern Recognition
การมองหาและจำแนกรูปแบบที่ซ้ำกัน หรือความคล้ายคลึงในปัญหาต่างๆ ช่วยให้แก้ปัญหาใหม่ได้เร็วขึ้น โดยใช้ประสบการณ์เดิม
- ✓ ระบุ Pattern ในลำดับตัวเลข ตัวอักษร และรูปภาพได้
- ✓ อธิบายว่าทำไม Pattern Recognition จึงสำคัญในการแก้ปัญหา
- ✓ สร้าง Pattern ของตัวเองและให้เพื่อนทายได้
เล่นเกมทายลำดับ ใช้การ์ดรูปภาพหรือตัวเลข สร้าง Pattern แล้วท้าให้เพื่อนทายว่าการ์ดใบถัดไปคืออะไร
- 1 แจกไพ่ 20 ใบให้แต่ละกลุ่ม (ตัวเลข 1–10 x2)
- 2 กลุ่ม A วางการ์ด 5 ใบเป็น Pattern บนโต๊ะ ปิดใบที่ 6
- 3 กลุ่ม B ทายว่าใบที่ 6 คืออะไร พร้อมอธิบายเหตุผล
- 4 สลับกัน — ทีมที่อธิบาย Pattern ได้ดีที่สุดชนะ
ใช้กระดาษตาราง ระบายสีสร้าง Pixel Art โดยใช้ Pattern ซ้ำๆ แล้วเขียน "สูตร" ของ Pattern นั้น เหมือนโค้ดสำหรับรูปภาพ
- 1 แจกกระดาษตาราง 10x10 ให้นักเรียนแต่ละคน
- 2 ระบายสีสร้างรูปโดยใช้ Pattern ซ้ำอย่างน้อย 2 แบบ
- 3 เขียน "สูตร Pattern" เช่น "แถวคี่ = แดง-ขาว-แดง, แถวคู่ = ขาว-แดง-ขาว"
- 4 สลับกระดาษกับเพื่อน ให้เพื่อนลองต่อ Pattern จากสูตรที่เขียนไว้
🗂️ Abstraction
การดึงเอาเฉพาะข้อมูลที่สำคัญออกมา และละทิ้งรายละเอียดที่ไม่จำเป็น ทำให้ปัญหาเรียบง่ายและชัดเจนขึ้น
- ✓ บอกความแตกต่างระหว่าง "ข้อมูลสำคัญ" และ "รายละเอียดเกินจำเป็น" ได้
- ✓ สร้าง "แผนที่ Abstraction" ของสิ่งต่างๆ ในห้องเรียนได้
- ✓ อธิบายว่า Abstraction ช่วยทำให้โปรแกรมทำงานได้อย่างไร
วาดแผนที่โรงเรียนให้ "คนแปลกหน้า" ใช้งานได้ โดยเลือกแสดงเฉพาะสิ่งสำคัญ ฝึกการตัดสินใจว่าอะไร "จำเป็น" และอะไร "ไม่จำเป็น"
- 1 แต่ละกลุ่มวาดแผนที่โรงเรียน มีเวลา 10 นาที
- 2 เปรียบเทียบแผนที่ของแต่ละกลุ่ม — แตกต่างกันอย่างไร?
- 3 อภิปราย: อะไรที่ทุกกลุ่มใส่ไว้ (สำคัญ) vs. ใส่ต่างกัน (รายละเอียด)
- 4 สร้างแผนที่ฉบับ "Abstraction" ที่ดีที่สุดร่วมกัน
ถ้าจะสอน AI ให้รู้จักสุนัข เราต้องบอกว่า "สุนัขคืออะไร" ด้วยลักษณะที่สำคัญ ห้ามพูดชื่อพันธุ์ ห้ามพูดสี ต้องหา Abstraction ของ "สุนัข" ให้ได้
- 1 ให้แต่ละกลุ่มเขียน "ลักษณะของสุนัข" ให้ได้มากที่สุด
- 2 ตัดรายละเอียดที่ไม่ช่วยแยกสุนัขออกจากแมว ออก
- 3 เหลือเพียง 3-5 ลักษณะ "แก่น" ที่บ่งบอกว่านี่คือสุนัข
- 4 ทดสอบ: ใช้ลักษณะนั้นตัดสินรูปสัตว์ต่างๆ ถูกต้องไหม?
📋 Algorithm Design
การออกแบบชุดคำสั่งที่เป็นขั้นตอน ชัดเจน และลำดับถูกต้อง เพื่อให้คอมพิวเตอร์หรือหุ่นยนต์ทำงานได้ตรงตามที่ต้องการ
- ✓ เขียน Algorithm แก้ปัญหาง่ายๆ ในชีวิตประจำวันได้
- ✓ ใช้ Flowchart แสดงขั้นตอนการตัดสินใจได้
- ✓ ตรวจสอบและแก้ไข Algorithm ที่มีข้อผิดพลาดได้
เขียน Algorithm สำหรับการเต้น แล้วให้เพื่อนเป็น "หุ่นยนต์" ทำตามทุกขั้นตอน เรียนรู้ความสำคัญของลำดับและความชัดเจนของคำสั่ง
- 1 แบ่งกลุ่ม: กลุ่ม A เขียนท่าเต้น 5 ขั้นตอนลงบัตร
- 2 กลุ่ม B (หุ่นยนต์) อ่านบัตรและทำตามทุกคำสั่งตามลำดับ
- 3 สลับบัตรสุ่ม — ดูว่าเมื่อลำดับผิด ผลลัพธ์เปลี่ยนอย่างไร
- 4 เพิ่ม IF-THEN: "ถ้าดนตรีเร็ว → เต้นเร็ว, ถ้าช้า → เต้นช้า"
วาดเขาวงกต แล้วเขียนคำสั่งเพื่อนำทาง "หุ่นยนต์" จากจุดเริ่มต้นถึงเป้าหมาย ฝึกการเขียน Algorithm แบบ Step-by-Step จริงๆ
- 1 วาดเขาวงกตบนกระดาษตาราง กำหนดจุดเริ่มต้น (S) และจุดหมาย (E)
- 2 เขียน Algorithm: เช่น "เดินหน้า 3, เลี้ยวขวา, เดินหน้า 2..."
- 3 ส่งกระดาษ Algorithm ให้กลุ่มอื่นทดสอบ — ผ่านหรือตัน?
- 4 Debug แก้ไขจนสมบูรณ์ แล้วทำ Flowchart ประกอบ
แบบทดสอบ Computational Thinking
ทดสอบความเข้าใจหลังเรียนจบ 4 แนวคิดหลัก · 6 ข้อ · ไม่จำกัดเวลา