วิทย์ม.ต้น: สั่งให้คอมพิวเตอร์แยกตัวประกอบให้จะได้ไม่เหนื่อย (Factors และ Prime Factorization)

ผมให้แบบฝึกหัดเด็กม.ต้นที่หัดเขียนโปรแกรมไพธอนโดยให้กลับไปคิดและเขียนโปรแกรมแก้ปัญหาที่ต้องทำด้วยมือในวิชาคณิตศาสตร์กันครับ ถ้าสั่งให้คอมพิวเตอร์ทำงานให้ได้ก็แสดงว่าเข้าใจหลักการต่างๆแล้ว นอกจากนี้คอมพิวเตอร์สามารถแก้ปัญหาใหญ่ๆที่เราทำด้วยมือไม่ไหวด้วย

คราวนี้ให้เด็กๆไปเขียนโปรแกรมกันว่าตัวเลขใดๆมีตัวประกอบอะไรบ้าง เด็กๆก็ทำได้นะครับ คือสั่งให้คอมพิวเตอร์ไล่หารไปเรื่อยๆถ้าหารลงตัวก็เป็นตัวประกอบ

สัปดาห์ต่อมาผมก็เฉลยในห้อง และแนะนำเด็กๆว่าเวลาเราไล่หารไปเรื่อยๆเราหยุดแถวๆสแควรูทของตัวเลขก็ได้ จะประหยัดเวลาไปได้หลายเท่าถ้าตัวเลขใหญ่

มีอย่างหนึ่งที่ผมไม่ได้พูดในห้องแต่ใส่ไว้โค้ดสำหรับคำนวณคือเลขจำนวนนับตั้งแต่สองขึ้นไปจะเป็นจำนวนเฉพาะหรือไม่ก็เป็นผลคูณของจำนวนเฉพาะได้แบบเดียวเท่านั้น (ถ้าไม่นับการสลับที่ต่างๆ) ความจริงอันนี้เรียกว่า Fundamental theorem of arithmetic ครับ

ผมบันทึกตัวอย่างเหล่านี้ไว้ให้เด็กๆและผู้สนใจเข้ามาดูทบทวนโดยสามารถโหลด Jupyter Notebook ได้ที่นี่ หรือดูออนไลน์ได้ที่นี่นะครับ

คุยกับเด็กประถมต่อเรื่องดาราศาสตร์: หัดวัดระยะทาง

วันอังคารที่ผ่านมาผมไปทำกิจกรรมวิทย์กับเด็กประถมมาครับ เราคุยกันต่อเรื่องดาราศาสตร์ คุยกันว่าจะวัดระยะทางกันอย่างไร ให้เด็กๆรู้จักนับก้าววัดระยะทาง เด็กประถมปลายได้คุยกันเรื่องวัดระยะทางจากมุมเล็ง (triangulation, parallax) และการใช้ retroreflector บนดวงจันทร์สะท้อนแสงเพื่อวัดระยะทาง

(อัลบั้มบรรยากาศกิจกรรมอยู่ที่นี่นะครับ กิจกรรมประถมคราวที่แล้วเรื่อง “คุยกับเด็กประถมเรื่องดาราศาสตร์, ปี่หลอดสำหรับอนุบาลสาม” ครับ ลิงก์รวมทุกกิจกรรมอยู่ที่นี่นะครับ)

ก่อนอื่นเด็กประถมได้ดูมายากลนี้ครับ ดูเฉพาะตอนแรกที่เป็นกล ยังไม่ดูส่วนเฉลยตอนหลัง แล้วดูเฉลยหลังจากได้พยายามคิดพยายามอธิบายว่ากลแต่ละกลทำอย่างไรกันก่อนครับ กลวันนี้คือตัดเชือกแล้วไม่ขาด:

กิจกรรมนี้ฝีกเด็กๆให้คิดแบบวิทยาศาสตร์ครับ มีการสังเกต การตั้งสมมุติฐานเพื่ออธิบายสิ่งที่สังเกตมา การตรวจสอบสมมุติฐานกับข้อมูลที่สังเกตมา การตั้งสมมุติฐานใหม่เมื่อสมมุติฐานเดิมขัดกับข้อมูล นอกจากนี้เราพยายามให้เด็กๆมีความกล้าคิดและออกความเห็นครับ

จากนั้นผมก็แนะนำให้เด็กรู้จักประมาณระยะทาง ให้เปรียบเทียบกับความสูงตัวเอง เด็กประถมต้นได้เห็นว่าความสูงของตนจะประมาณเท่ากับระยะระหว่างปลายมือสองข้างที่เหยียดออกจากกันให้สุด เด็กๆได้วัดระยะทางที่เดินต่อหนึ่งก้าวสำหรับใช้วิธีนับก้าวเพื่อวัดความยาว เด็กประถมต้นใช้วิธีนับก้าววัดความกว้างของห้องเรียน (คลาดเคลื่อนไม่กี่เปอร์เซ็นต์) เด็กประถมปลายนับก้าววัดความยาวของตึกโรงเรียน (คลาดเคลื่อนไม่ถึงสิบเปอร์เซนต์)

เด็กประถมปลายได้รู้จักเรโทรรีเฟล็กเตอร์ (retroreflector) ที่สะท้อนแสงกลับไปในทิศทางเดียวกับที่แสงวิ่งเข้ามา ตัวอย่างรอบตัวก็เช่นแผ่นสะท้อนแสงติดจักรยาน กระจกตาแมวตามพื้นถนน เราสามารถประดิษฐ์ได้ง่ายๆโดยเอากระจกเงาเรียบสามแผ่นมาต่อกันเป็นรูปมุมกล่องสี่เหลี่ยมครับ

การทำงานของเรโทรรีเฟล็กเตอร์ จาก https://en.wikipedia.org/wiki/Retroreflector

มนุษย์อวกาศเอากระจกเรโทรรีเฟล็กเตอร์ไปวางไว้ที่ดวงจันทร์หลายอันและใช้วัดระยะทางระหว่างโลกและดวงจันทร์โดยยิงแสงเลเซอร์ไปสะท้อนที่ดวงจันทร์แล้ววิ่งกลับมาที่โลก เมื่อจับเวลาก็จะหาได้ว่าดวงจันทร์ห่างออกไปเท่าไร คลิปอธิบายการทดลองนี้ครับ:

อีกวิธีที่เราใช้วัดระยะทางคือการมองไปที่วัตถุที่เราสนใจจากมุมต่างๆ วิธีนี้เรียกว่า triangulation ครับ:

วิธีหาระยะทางด้วยสามเหลี่ยม (จาก https://en.wikipedia.org/wiki/Triangulation_(surveying))

วิทย์ม.ต้น: The Problem with Average, ขั้นตอนสำคัญในประวัติศาสตร์สิ่งมีชีวิต

วันพุธสัปดาห์นี้เด็กๆมัธยมต้นเรียนเรื่อง the problem with average จากหนังสือ The Art of Thinking Clearly โดยคุณ Rolf Dobelli ที่ข้อมูลหลายๆอย่างจะมีลักษณะกระจายตัวแบบ power law ที่ข้อมูลไม่กี่ตัวมีขนาดใหญ่กว่าที่เหลือมากๆจนไม่ควรนำมาหาค่าเฉลี่ยเพราะจะทำให้เข้าใจผิด เด็กๆควรจะสร้างฮิสโตแกรมดูว่าข้อมูลกระจายตัวแบบไหนก่อน เป็นกลุ่มก้อนหน้าตาเหมือนระฆังคว่ำ หรือกระจายตัวแบบอื่นๆเช่น power law

เราควรเรียนรู้การใช้โปรแกรมให้สร้างฮิสโตแกรมให้เรา เช่นหาดูว่าคำสั่งให้ Excel สร้างฮิสโตแกรมทำอย่างไร หรือในภาษาไพธอนใช้คำสั่งอะไร

จากนั้นเราก็คุยกันเรื่องสิ่งมีชีวิตและขบวนการวิวัฒนาการต่อ เป็นส่วนหนึ่งของ  threshold 5 ของ Big History Project ครับ

From chemicals to consciousness:

What is Life?

บันทึกกิจกรรมวิทยาศาสตร์สำหรับเด็กๆ อยากให้คุณพ่อคุณแม่คุณครูเอาไปประยุกต์เล่นกับเด็กๆเยอะๆครับ :-)