Tag Archives: วิทย์ม.ต้น

วิทย์ม.ต้น: ให้คอมพิวเตอร์แก้ปัญหาสมการเชิงเส้นให้เรา

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

คราวนี้ผมให้แบบฝึกหัดเด็กๆไปหัดเขียนฟังก์ชันว่าเส้นตรงสองเส้นตัดกันตรงไหน หน้าตาจะออกมาประมาณนี้ครับ:

การหาว่าเส้นตรงสองเส้นตัดกันตรงไหนเป็นวิธีแก้ปัญหาสมการเชิงเส้นในสองตัวแปรครับ ถ้ามีตัวแปรมากกว่าสองตัว รูปแบบคำตอบจะดูยุ่งยาก ผมให้เด็กๆรู้จักเข้าไปใช้ Wolfram Alpha หาคำตอบพวกนั้น (ยกตัวอย่างเช่นสามตัวแปรเป็นอย่างนี้)

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

ถ้าเด็กๆสนใจ ก็สามารถใช้ไพธอนช่วยแก้ปัญหาพวกนี้ได้ด้วย numpy.linalg.solve() ครับ หน้าตาอาจเป็นแบบนี้ครับ:

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

วิทย์ม.ต้น: How Bonuses Destroy Motivation, รู้จัก DNA, พยายามค้นพบวิธีวัดระยะด้วย triangulation

วันพุธสัปดาห์นี้เด็กๆมัธยมต้นเรียนเรื่อง how bonuses destroy motivation (motivation crowding) จากหนังสือ The Art of Thinking Clearly โดยคุณ Rolf Dobelli ที่บางครั้งการจูงใจด้วยเงินหรือสิ่งตอบแทนนอกกายอาจทำให้ความตั้งใจของการทำงานลดลง หรือเกิดการ “เสียความรู้สีก” หรือ “เสียน้ำใจ”ได้

จากนั้นเราก็คุยกันเรื่อง DNA เป็นส่วนหนึ่งของ  threshold 5 ของ Big History Project ครับ DNA เป็นโมเลกุลประหลาดที่มีความสามารถก๊อปปี้ตัวเองได้ พอมีเวลานานๆให้มีการคัดเลือกตามธรรมชาติ เครื่องมือต่างๆที่ DNA ใช้ก็ทำงานร่วมกันกลายเป็นสิ่งมีชีวิตหลากหลายชนิดได้

เด็กๆได้ดูคลิปอธิบาย DNA:

และภาพการทำงานของเครื่องจักรระดับโมเลกุลในเซลล์ของเรา:

อยากแนะนำให้เด็กๆดูคลิปสองอันล่างนี้เพิ่มเติมนะครับ:

เวลาที่เหลือผมให้เด็กๆพยายามแก้ปัญหาประมาณระยะทางโดยสมมุติว่าเด็กไปติดเกาะ (เกาะ A) และมีเกาะอีกเกาะอยู่ห่างออกไป (เกาะ B) ไม่มีเรือและไม่สามารถว่ายน้ำไปอีกเกาะได้ จะประมาณระยะห่างระหว่างเกาะได้อย่างไร เด็กๆคิดว่าถ้ามีของที่เรารู้ขนาดแน่นอนอยู่ที่เกาะ B เราก็อาจใช้มันช่วยประมาณระยะทางได้ ในที่สุดเราได้ภาพสามเหลี่ยมสองแบบนี้ครับ คราวหน้าเราจะทำการสร้างตารางมุมสามเหลี่ยม vs. ระยะทางกัน (ซึ่งก็คือตาราง sin, cos, tan นั่นเอง) ผมพยายามให้เด็กๆพยายามแก้ปัญหาที่ไม่เคยเจอมาก่อนโดยไม่บอกวิธีที่คนโบราณค้นพบ (ที่เรียกว่าตรีโกณมิติ) จะได้เป็นการฝึกสร้างความรู้เองครับ

วิทย์ม.ต้น: ใครจะอยากหาห.ร.ม.ด้วยมือ (เขียนโปรแกรมหา ห.ร.ม. และ ค.ร.น.)

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

คราวนี้ให้เด็กๆไปหัดสั่งให้คอมพิวเตอร์หาห.ร.ม. และค.ร.น.กัน

ในระดับมัธยม เด็กๆมักจะได้เรียนวิธีหาห.ร.ม. และค.ร.น.ด้วยตัวประกอบเฉพาะ แต่เราคุยกันเรื่องวิธีที่เหมาะกว่าเร็วกว่าที่ถูกบันทึกมากกว่าสองพันปีมาแล้วโดยยูคลิดด้วยครับ

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