Category Archives: มัธยม

วิทย์ม.ต้น: พยายามโปรแกรมสร้างคำด้วยสัญญลักษณ์ในตารางธาตุ, วาดรูปด้วย Turtle

สัปดาห์นี้เด็กๆม.2-3 พยายามหาวิธีเขียนคำภาษาอังกฤษด้วยสัญญลักษณ์จากตารางธาตุ ส่วนม.1 วาดรูปด้วย Turtle กันต่อจากสัปดาห์ที่แล้วครับ

สืบเนื่องมาจากโพสต์ให้เข้าไปชิงรางวัลใน Facebook นี้ครับ:

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

เด็กๆหาสัญญลักษณ์มาใช้ได้จากหลายๆเว็บ เช่นอาจจะก๊อปปี้จากหน้า https://www.thoughtco.com/element-list-names-atomic-numbers-606529 แล้วเอามาใส่ในสตริง element_data อย่างนี้:

จากนั้นก็หัดใช้ splitlines() เพื่อจัดการแต่ละบรรทัดในสตริง:

หัดใช้ split เพื่อแบ่งข้อมูลที่ถูกคั่นด้วยตัวแบ่ง ในที่นี้คือ เว้นวรรคขีดเว้นวรรค จึงใช้ …split(” – “):

เก็บสัญญลักษณ์ที่แยกออกมาได้ไว้สักที่ เช่นในที่นี้เก็บไว้ในลิสต์ symbols แล้วใช้ตรวจว่าสัญญลักษณ์อะไรอยู่ในตารางธาตุบ้าง:

จากนั้นก็เริ่มดูได้ว่าคำแต่ละคำมีสัญญลักษณ์ธาตุอะไรบ้าง เช่นคำว่า “bacon” ตรวจได้อย่างนี้:

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

สำหรับม. 1 เราเล่น Turtle กันต่อ วาดนู่นวาดนี่ตามความสนใจ ตัวอย่างเช่นเต่าหกตัวเดินแบบเมาๆ:


import turtle
import random

turtles = [turtle.Turtle() for i in range(6)]
colors = ["red", "blue", "black", "brown", "orange", "green"]
for t in turtles:
    t.speed("fastest")
    t.shape('classic')

for i in range(10000):
    for t,c  in zip(turtles,colors):
        #step = random.randint(0,30)
        #angle = random.randint(-90,90)
        step = 10
        angle = random.choice([0,180,90,-90])
        t.color(c)
        t.forward(step)
        t.left(angle)

หรือลากเส้นไปมาดูว่าแบบไหนสวย เช่นอันนี้:


import turtle

t = turtle.Turtle()
t.speed("normal")
span = 400
step = 20
t.shape('circle')

for i in range(0,span+step,step):
    t.penup()
    t.goto(0,i)
    t.pendown()
    t.goto(span-i, 0)

    t.penup()
    t.goto(0,i)
    t.pendown()
    t.goto(-span+i, 0)

    t.penup()
    t.goto(0,-i)
    t.pendown()
    t.goto(span-i, 0)

    t.penup()
    t.goto(0,-i)
    t.pendown()
    t.goto(-span+i, 0)

t.hideturtle()

สังเกตการหมุน, วงโคจรดวงดาว

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

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

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

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

ต่อจากนั้นผมแนะนำให้เด็กๆรู้จักกับเว็บ  My Solar System ซึ่งเป็นที่ทดลองวงโคจรแบบต่างๆที่เราออกแบบเองได้ครับ จะมีการคำนวณตำแหน่งของดาวที่เคลื่อนที่และดึงดูดกันด้วยแรงโน้มถ่วง ถ้ามีโอกาสแนะนำให้เข้าไปเล่นดูครับ หน้าตาจะประมาณนี้ครับ:

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

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

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

จากนั้นเด็กๆก็แยกย้ายกันเล่นกันประมาณนี้ครับ:

วิทย์ม.ต้น: Decision Fatigue, ส่องกล้องจุลทรรศน์

วันพุธสัปดาห์นี้เด็กๆมัธยมต้นเรียนเรื่อง decision fatigue จากหนังสือ The Art of Thinking Clearly โดยคุณ Rolf Dobelli ที่การตัดสินใจแต่ละครั้งของเราต้องใช้พลังงาน ดังนั้นไม่ควรตัดสินใจอะไรสำคัญๆเมื่อหิวหรือเหนื่อย และพยายามลดการตัดสินใจที่ไม่สำคัญให้น้อยๆไว้ (เช่นไม่ค่อยเปลี่ยนแบบเสื้อผ้าหรืออาหาร) จะได้มีพลังงานไว้ตัดสินใจสิ่งที่สำคัญกว่า

จากนั้นเด็กๆใช้เวลาที่เหลือทำสไลด์และส่องกล้องจุลทรรศน์กันครับ บรรยากาศและภาพ/คลิปที่เราถ่ายมาอยู่ที่นี่นะครับ: