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

วิทย์ม.ต้น: ติดตั้ง Anaconda, รู้จัก Jupyter Notebook และ Automate The Boring Stuff With Python

วันนี้ผมแนะนำให้เด็กๆรู้จักติดตั้ง Python ลงบนเครื่องคอมพิวเตอร์ของตนเองจะได้ทำงานกับข้อมูลและไฟล์ที่มีอยู่บนคอมพิวเตอร์ของตัวเองได้ นอกเหนือไปจากแบบฝึกหัดที่เด็กๆหัดทำออนไลน์ที่ Repl.it ครับ ผมแนะนำให้เด็กๆติดตั้ง Python โดยใช้แพ็คเกจที่เรียกว่า Anaconda ซึ่งรวมตัวภาษา Python และเครื่องมือที่น่าใช้ร่วมกันด้วยกันหลายตัวครับ  หน้าดาวน์โหลดจะอยู่ที่ https://www.anaconda.com/download/ ครับ ในหน้านั้นมีลิงก์แนะนำวิธีใช้ด้วย

หน้าตาเว็บดาวน์โหลด Anaconda ครับ

หลังจากติดตั้ง Anaconda เสร็จ ผมให้เด็กๆเปิด Jupyter Notebook ที่สามารถสร้างเอกสารที่เรียกว่า Notebook โดยในเอกสารสามารถเก็บคำสั่งภาษา Python (และภาษาอื่นๆเช่น Julia และ R) เก็บคำอธิบายรวมไปถีงสมการต่างๆได้ครับ ข้อมูลเพิ่มเติมเกี่ยวกับ Jupyter ดูได้ที่ https://jupyter.org ครับ ถ้ามี Anaconda อยู่แล้วก็ใช้ Jupyter Notebook ได้เลย ไม่ต้องติดตั้งอะไรเพิ่ม

หน้าตาเว็บ Jupyter ครับ
หน้าตาเว็บ Jupyter ครับ

ต่อจากนั้นผมก็แนะนำหนังสือ Automate the Boring Stuff with Python ครับ เป็นหนังสือที่สามารถอ่านฟรีได้บนเว็บ ครึ่งแรกสอนการเขียนภาษา Python ครึ่งหลังเป็นตัวอย่างการประยุกต์ใช้ครับ ในอนาคตเราจะทำโปรเจ็กคล้ายๆกับในหนังสือครับ

หนังสือ Automate the Boring Stuff with Python ครับ
หนังสือ Automate the Boring Stuff with Python ครับ

สำหรับเด็กม. 3 ผมให้ไปหัดพิมพ์ตัวอย่าง Python Tricsk 101 ที่ https://hackernoon.com/python-tricks-101-2836251922e0 เข้าไปใน Jupyter Notebook แล้วพยายามทำความเข้าใจว่าโค้ดมันทำอะไรอย่างไรครับ

 

วิทย์ม.ต้น: Cognitive Biases สามอัน, Why People Believe Weird Things, เล่นปั่นไฟ

วันนี้พวกเราคุยกันเรื่อง cognitive biases ที่เด็กๆไปอ่านในหนังสือ The Art of Thinking Clearly ในสัปดาห์ที่ผ่านมาครับ มี Survivorship Bias (เราเห็นแต่ของที่เห็นได้ง่ายๆหรือของที่รอดมา), Swimmer’s Body Illusion (เราสับสนว่าอะไรคือสาเหตุของผลลัพธ์ที่เห็น) และ Clustering Ilusion (เราเห็นรูปแบบต่างๆที่จินตนาการขึ้นมาเองบ่อยๆ–มโนไปเอง)

จากนั้นเราก็ดูคลิป Why people believe weird things โดย Michael Shermer ให้เห็นว่าเราโดนหลอกหรือหลอกตัวเองได้ง่าย เราชอบค้นหารูปแบบทั้งๆที่จริงๆแล้วไม่มีรูปแบบให้หาแต่ต้น และเรื่องอื่นอีกหลายเรื่อง แนะนำให้ดูอย่างยิ่งครับ(มีซับไทย):

 

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

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

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

เด็กๆรู้จักทดรอบด้วยสายพันเพื่อเพิ่มความเร็วในการหมุนเพื่อปั่นไฟด้วยครับ

วิทย์ม.ต้น: โปรแกรม Scratch หาความชันของจุดตัดเส้นตรง, ประมาณค่า π (ค่าพาย)

วันนี้ผมเฉลยข้อสอบภาคที่แล้วครับ หน้าตาข้อสอบเป็นอย่างนี้ ให้เด็กๆไปทำที่บ้านมีเวลาตอนปิดเทอม 1 เดือน:

ข้อ 1-4 ก็ตอบได้ด้วยโน้ตที่นักเรียนบันทึระหว่างเรียน หรือไปดูที่ผมสรุปไว้ที่เว็บวิทย์พ่อโก้เช่นกดไล่ดูตาม https://witpoko.com/?tag=วิทย์ม-ต้น ครับ

สำหรับข้อ 5 ผมทำบนกระดานให้ดูว่าถ้ารู้จุดสองจุด (x1, y1) และ (x2, y2) เราจะรู้ว่าความชันและจุดตัดแกน x แกน y อยู่ที่ไหนบ้างดังนี้:

แล้วก็เขียนโปรแกรม Scratch เพื่อคำนวณค่าเหล่านั้นไว้ที่ https://scratch.mit.edu/projects/258997829/ หน้าตาจะเป็นปรมาณนี้ครับ:

ถ้าเด็กๆยังงงๆอยู่ลองไปลองเล่นขยับจุดไปมาที่หน้านี้ก็ได้ครับ: https://www.mathsisfun.com/algebra/line-equation-2points.html

สำหรับข้อ 6 เราประมาณค่า π  โดยการบวกลบเลขที่เล็กลงไปเรื่อยๆ ในที่นี้คือ  4 ( 1/1 – 1/3 + 1/5 – 1/7 + 1/9 ….) ไปเรื่อยๆ เราสามารถเขียนโปรแกรม Scratch ได้แบบ https://scratch.mit.edu/projects/259001246/ หน้าตาประมาณนี้ครับ:

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

นอกจากนี้ผมลองเขียนวิธีประมาณค่า π  ด้วย Python เพื่อให้เด็กๆเห็นว่ามันจัดการได้ง่ายกว่าด้วย Scratch ที่ https://repl.it/@PongskornSaipet/Approximating-Pi โดยประมาณ 2 แบบ แบบแรกคือประมาณค่า π = 4(1 – 1/3 + 1/5 – 1/7…) คือแบบที่อยู่ในข้อสอบ อีกแบบคือประมาณค่า π = sqrt(12) (1 – 1/(3×3) + 1/(5×9) – 1/(7×27) … ) ตามวิธีหนึ่งในหน้า  Approximations of π  ครับ พบว่าวิธีที่สองบวกลบเลขไม่กี่ตัวก็ได้ค่าใกล้ความจริงแล้วครับ เร็วกว่าวิธีแรกมากๆ

สำหรับการบ้านเด็กๆ ผมให้เด็กไปอ่าน Cognitive Biases มาสัปดาห์ละอย่างน้อย 3 ตัว ให้ทำโน้ตให้ตัวเองเข้าใจ และหัดแก้โจทย์เขียนโปรแกรม Python ต่อไป พยายามทำให้ได้อย่างน้อยเฉลี่ยวันละ 1 ข้อครับ