วิทย์ม.ต้น: ใช้ Python ทำงานกับคำศัพท์ภาษาอังกฤษในไฟล์ต่อ

วันนี้เด็กๆมัธยมต้นเรียนรู้วิธีใช้ Python เปิดไฟล์ที่มีคำศัพท์ภาษาอังกฤษต่อจากสัปดาห์ที่แล้วครับ เรามีไฟล์ที่มีคำภาษาอังกฤษหนึ่งคำต่อหนึ่งบรรทัดแล้วก็อ่านเข้ามาทีละบรรทัดและทำการประมวลผลไป เราทดลองหาคำ Palindrome:

หาคำที่ยาวที่สุด พบว่ายาว 24 ตัวอักษร:

เราดูกันว่าคำที่มีตัวอักษร 1, 2, 3, …, 24 มีอย่างละกี่คำ:และเราสามารถวาดกราฟเปรียบเทียบดูได้:

ท่านสามารถกดดู notebook นี้ได้ที่ http://nbviewer.jupyter.org/urls/witpoko.com/wp-content/uploads/2018/12/หัดอ่านไฟล์_ตอน_2.ipynb

หรือดาวน์โหลดไปเล่นเองได้จาก https://witpoko.com/wp-content/uploads/2018/12/หัดอ่านไฟล์_ตอน_2.ipynb (ถ้ากดแล้วไม่โหลดให้กดเมาส์ขวา Save As… หรือ Download linked file… นะครับ) ถ้าจะเล่นเองต้องมีไฟล์คำศัพท์ภาษาอังกฤษ เช่นถ้ามี macOS ไฟล์ก็จะอยู่ที่ /usr/share/dict/words ถ้าไม่มีก็สามารถไปหาได้ที่ https://github.com/dwyl/english-words/เป็นต้นครับ

เครื่องทุ่นแรงไฮดรอลิก จรวดหลอดพลาสติก คอปเตอร์กระดาษ

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

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

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

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

สำหรับเด็กประถมต้น ผมเอาหลอดฉีดยาขนาดเล็กและขนาดใหญ่มาต่อกันด้วยท่อโดยเติมน้ำให้ไม่มีฟองอากาศมาให้ดูครับ

จากนั้นผมก็ให้เด็กๆดันก้านหลอดเล็กโดยผมดันก้านหลอดใหญ่สู้กัน ปรากฏว่าเด็กชนะผมได้อย่างง่ายดาย แรงของเด็กตัวเล็กๆสามารถสู้กับแรงของผู้ใหญ่ตัวใหญ่ๆอย่างผมได้ และเมื่อกลับกันเด็กๆดันก้านหลอดใหญ่บ้าง ผมก็ใช้แรงนิดเดียวดันก้านหลอดเล็กก็ดันก้านหลอดใหญ่ให้ขยับออกไปได้

 

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

คำอธิบายสำหรับเด็กที่โตๆหน่อยครับ
คำอธิบายสำหรับเด็กที่โตๆหน่อยครับ

ผมเคยบันทึกกิจกรรมนี้ไว้ในช่องเด็กจิ๋ว & ดร. โก้ครับ:

นอกจากนี้ผมให้เด็กๆลองเอาหลอดสูบอากาศให้เต็มแล้วอุดปลายหลอด แล้วพยายามกดให้ก้านหลอดเข้าไป เปรียบเทียบกับอีกแบบที่สูบน้ำให้เต็มหลอด อุดปลายหลอด แล้วกด เด็กๆก็พบว่าเขาสามารถอัดอากาศให้เล็กลงได้ แต่ไม่สามารถอัดให้น้ำเล็กลงได้ครับ

สำหรับเด็กประถมปลาย ผมให้ประดิษฐ์จรวดจากหลอดพลาสติก เราเอาหลอดพลาสติกมาอุดปลายด้านหนึ่งด้วยดินน้ำมันหรือกาวดินน้ำมัน แล้วมาสวมปลายเปิดกับหลอดฉีดยาขนาดใหญ่ 50 ซีซีที่ใส่อากาศไว้ ถ้าเราสวมหลอดให้แน่นๆแล้วค่อยๆกดก้านหลอดฉีดยาเข้าไป ความดันภายในจะสูงขึ้นเรื่อยๆ ถ้าความดันมากพอ หลอดพลาสติกก็พุ่งออกไปด้วยความเร็ว ถ้าทำดีๆสามารถวิ่งไปได้ไกลกว่าสิบเมตรครับ

 สำหรับเด็กอนุบาลสาม ผมไปสอนวิธีทำของเล่นคอปเตอร์กระดาษครับ วิธีเหมือนในคลิปนี้นะครับ:

เด็กๆแยกย้ายกันประดิษฐ์และเล่นกันครับ

 

 

วิทย์ม.ต้น: ใช้ Python ทำงานโดยเปิดไฟล์แล้วอ่านทีละบรรทัด

วันนี้เด็กๆม.ต้นหัดใช้  Python อ่านข้อมูลจากไฟล์เพื่อทำงานครับ เทคนิควันนี้คือเปิดไฟล์แล้วอ่านข้อมูลมาทีละบรรทัด แล้วทำงานกับบรรทัดนั้นๆ เป็นวิธีที่ใช้บ่อยๆในงานหลายๆอย่างครับ ตัวอย่างวันนี้เราเปิดไฟล์ที่มีคำศัพท์ภาษษาอังกฤษสองแสนกว่าคำ โดยแต่ละบรรทัดจะมีคำหนึ่งคำ มีตัวอย่างการใช้ตัวแปรประเภท dictionary เพื่อลดจำนวนครั้งของการอ่านไฟล์ และตัวอย่างหน้าตาผลลัพธ์ที่เหมาะให้โปรแกรมอื่นๆเอาข้อมูลไปใช้ต่อ หน้าตา Jupyter Notebook เป็นอย่างนี้ครับ:

ท่านสามารถเปิดดู Notebook ได้ที่  http://nbviewer.jupyter.org/urls/witpoko.com/wp-content/uploads/2018/11/หัดอ่านไฟล์.ipynb หรือจะโหลดไปเล่นเองที่เครื่องก็โหลดจากที่ https://witpoko.com/wp-content/uploads/2018/11/หัดอ่านไฟล์.ipynb นะครับ ถ้าจะเล่นเองต้องมีไฟล์คำศัพท์ภาษาอังกฤษ เช่นถ้ามี macOS ไฟล์ก็จะอยู่ที่ /usr/share/dict/words ถ้าไม่มีก็สามารถไปหาได้ที่ https://github.com/dwyl/english-words/ เป็นต้นครับ

 

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