Category Archives: Uncategorized

วิทย์ม.ต้น: Dance Party ที่ Code.org, แก้ไขข้างในเกม Scratch, เรียน Python

วันนี้เราคุยเรื่องเหล่านี้กันครับ:

1. คลาสรุ่นพี่โตเริ่มหัดใช้ภาษา Python โดยเราจะใช้หนังสือฟรีบนเว็บชื่อ Automate the Boring Stuff with Python โดยเขียนโปรแกรมใน Mu-Editor การบ้านเด็กๆคือไปอ่านและเขียนตาม Chapter 0 และ 1 ในหนังสือ และหัดใช้ Mu-Editor โดยทำตาม คำแนะนำนี้และคำแนะนำนี้

หนังสือดีอ่านฟรีบนเว็บ แต่ซื้อเป็นเล่มหรือ e-book ก็ได้ครับ

2. คลาสรุ่นน้องเล่น Dance Party ที่ Code.org โดยทำตามคำอธิบายไปเรื่อยๆแล้วเราจะทำให้ตัวละครเต้นรำอย่างที่เราต้องการได้ครับ

ภาพจากเกม Dance Party
ภาพจากเกม Dance Party
คำสั่งให้ตัวละครเต้นครับ จะหน้าตาประมาณนี้

3. คลาสรุ่นน้องเล่น Scratch กันต่อด้วยครับ มีบางคนเขียนเกมมาเล่นเองแล้ว วันนี้ผมลองเปิดโปรเจ็คที่มีคนทั่วโลกทำไว้แล้ว กดดูภายใน (ปุ่ม See Inside) เพื่อดูว่าคำสั่งการทำงานต่างๆเป็นอย่างไร แล้วลองเปลี่ยนข้างในดู เช่นบางเกมเราก็ทำให้เราตายได้ไม่จำกัดครั้งจะได้เล่นนานๆ หรือบางเกมก็เปลี่ยนความเร็วในการเคลื่อนไหวจะได้เล่นง่ายขึ้น บอกให้เด็กๆไปหาโปรเจ็กที่ตนสนใจแล้วดูข้างในดูครับ

วิทย์ม. ต้น: Association Bias, บิ๊กแบง, Franklin’s Bell

วันนี้เด็กๆมัธยมต้นเรียนเรื่อง association bias จากหนังสือ The Art of Thinking Clearly โดยคุณ Rolf Dobelli  ที่เราต้องระวังว่าเราอาจรีบตัดสินใจผิดจากการเชื่อมโยงที่ไม่สมเหตุสมผลด้วยประสบการณ์เราในอดีต และเมื่อเราเป็นผู้บริหารเราควรรีบรับฟังปัญหาและข่าวร้ายต่างๆจะได้หาทางแก้ไข (ไม่โทษผู้นำข่าวร้ายมาบอกเรา, don’t shoot the messenger)

เราคุยกันเรื่องทำไมการดูชะตาชีวิตด้วยวันเดือนปีเกิดจึงไม่น่าจะทำได้

เราได้พูดคุยกันเรื่องบิ๊กแบง (Big Bang) อันเป็น threshold แรกใน Big History Project

บิ๊กแบงคืออะไร:

ภาพของบิ๊กแบง (The Cosmic Background Radiation)

The Cosmic Background Radiation: แสงแรกจากจักรวาล

ขนาดต่างๆในจักรวาล:

จากนั้นเด็กๆได้เล่นของเล่นที่เรียกว่า Franklin’s Bell หรือป๋องแป๋งไฟฟ้า (ผมเคยเขียนอธิบายไว้ที่ https://witpoko.com/?p=7)

วันนี้นักเรียนคนหนึ่งบอกว่าลองห้อยกระป๋องเปล่าสองกระป๋องไว้ตรงกลางจะเกิดอะไรขึ้น พบว่าเสียงดังดีครับ:

บรรยากาศกิจกรรมอยู่ที่นี่ครับ:

วิทย์ม.ต้น: เขียนโปรแกรมไพธอนหาว่าพาราโบลาตัดแกน x ที่ไหน, วิธีหาคำตอบโดย Bisection Method

สัปดาห์ที่ผ่านมาผมให้เด็กๆไปค้นคว้ามาว่ากราฟพาราโบลาหน้าตาเป็นอย่างไรครับ

ผมแนะนำให้เด็กดูคลิปเหล่านี้ จะเห็นว่าถ้าเราตัดกรวยด้วยมุมต่างๆเราจะได้วงกลม วงรี พาราโบลา ไฮเปอร์โบลาครับ:

ส่วนต่างๆของพาราโบลา:

พาลาโบลาทุกอันเป็นตัวเดียวกัน ต่างกันแค่เลื่อนไปมา หมุนไปมา และซูมเข้าซูมออก (เหมือนกับที่วงกลมทุกวงเป็นตัวเดียวกัน ต่างกันแค่เลื่อนไปมาและซูมเข้าซูมออก):

ต่อไปเด็กๆก็รู้จักสูตรควอดราติก (quadratic formula) ที่บอกว่าพาราโบลาตัดแกน x ที่ไหนครับ

เราเขียนโปรแกรมไพธอนเพื่อหาค่าตามสูตรข้างบน:

ผมเล่าให้เด็กๆฟังว่าพาราโบลาเป็นสมการที่มีกำลังสองเพราะตัวแปรยกกำลังมากที่สุดคือกำลังสอง และเรามีสูตรหาได้ว่าสมการนี้เท่ากับศูนย์เมื่อไร เมื่อสักประมาณ 400-500 ปีมาแล้วนักคณิตศาสตร์รู้จักสูตรสำหรับสมการกำลังสามและกำลังสี่ด้วย แต่ไม่มีใครหาสูตรสำหรับกำลังห้าได้ จนเวลาผ่านมาอีกเกือบๆสามร้อยปีถึงมีคนพิสูจน์ได้ว่าโดยทั่วไปสมการกำลังห้าหรือมากกว่าจะไม่มีสูตรหาว่ามันมีค่าเท่ากับศูนย์เมื่อไร

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

ตัวอย่างวิธี bisection แบบเรียกตัวเอง (recursion)
ตัวอย่างวิธี bisection ที่ไม่เรียกตัวเอง และทำการเทียบบัญญัติไตรยางค์ในช่วงที่ถูกบีบให้เล็กๆ เพื่อให้ได้คำตอบที่ถูกต้องมากยิ่งขึ้น

สามารถโหลดโค้ดต่างๆใน Jupyter Notebook นี้หรือดูออนไลน์ที่ https://nbviewer.jupyter.org/urls/witpoko.com/wp-content/uploads/2019/06/2019-06-28_G8-9.ipynb นะครับ