วันนี้เด็กม.3 ได้รู้จักวิธีเรียงลำดับข้อมูลกันครับ วิธีมีหลากหลาย แต่ละวิธีก็ใช้เวลาต่างๆกันเมื่อเรียงลำดับข้อมูลแบบต่างๆ ตอนแรกผมถามเด็กว่าถ้ามีหนังสือเยอะๆแล้วจะเรียงตามลำดับชื่อหนังสือจะทำอย่างไร ปรากฎว่าเด็กๆคิดสักพักแล้วก็บอกวิธีอยู่ในตระกูล Radix Sort คือกรุ๊ปตามตัวอักษรตัวแรกว่าอยู่ในกลุ่ม ก-ฮ, A-Z ซะเลย แล้วทำอย่างเดิมในแต่ละกรุ๊ปตัวอักษรแต่ใช้ตัวอักษรตัวถัดๆมาในชื่อ (เหมือน Recursive Radix Sort)
ต่อมาเด็กๆได้ดูคลิปอธิบาย Bubble Sort, Insertion Sort, และ Quick Sort ใน TED-ED ได้รู้จักวิธีแบ่งปัญหาให้เล็กลงแล้วแก้ด้ววิธีเดิม (Divide and Conquer + Recursion) จาก Quick Sort:
เด็กๆได้ดูภาพเคลื่อนไหวเปรียบเทียบวิธีเรียงลำดับแบบต่างๆที่เพจ Sorting Algorithms Animations ครับ เข้าไปกดดูกันนะครับ หน้าตาจะเป็นประมาณนี้ครับ:
มีคนทำเรื่อง Sorting ไว้ด้วยภาษา Scratch เยอะเหมือนกันครับ กดเข้าไปดูได้ที่ Sorting Algorithms ครับ
จากนั้นเด็กๆทั้งม.1, 2, 3 ก็นั่งเขียนโปรแกรม Scratch กันต่อครับ พยายามทำให้เกมต่างๆสนุกขึ้น และมีบั๊กน้อยลง พยายามจัดการโปรแกรมว่าไม่ควรเขียนอะไรซ้ำกัน ถ้าจะทำอะไรควรทำจากที่เดียว จะได้รู้แน่นอนว่าเกิดอะไรขึ้นในโปรแกรมครับ