Category Archives: programming

วิทย์ม.ต้น: หัดไพธอน (REPL, Operator, Int, Float, String, Variable), ฝึก Scratch (Bouncing Ball)

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

1. คลาสรุ่นพี่ เรียน Python จากหนังสือฟรีบนเว็บชื่อ Automate the Boring Stuff with Python โดยเขียนโปรแกรมใน Mu-Editor เราคุยกันเรื่อง REPL (Read-Evaluate-Print-Loop) สำหรับทดลองพิมพ์คำสั่งต่างๆให้ Python คำนวณให้, คุยเรื่อง operator พวก +, -, *, **, /, //, % กัน, เรื่อง data types พวก int, float, string, เรื่องเครื่องหมายโควท (quotation marks) เพื่อสร้าง string ด้วย ‘, “, ”’, “”” ในสถานการณ์ต่างๆ, รู้จักตัวแปร (variable)

การบ้านคือไปอ่านและพิมพ์ตาม Chapter 2 ต่อครับ

2. คลาสรุ่นน้องหัด Scratch กันต่อ เด็กๆรู้จักตำแหน่ง X-Y (Coordinate System) ตามหน้านี้ ผมให้เด็กๆพยายามขยับตัวละครเป็นเส้นตรงแล้วเมื่อชนขอบก็ให้กระเด้ง พอทำได้ก็ให้โจทย์ต่อว่ากระเด้งแล้วความเร็วลดลงด้วย

หน้าตาโปรแกรมก็จะเป็นประมาณนี้ครับ (โปรแกรมอยู่ที่ https://scratch.mit.edu/projects/429227501/):

โจทย์ต่อมาเราพยายามทำให้ลูกบอลตกลงพื้นแล้วกระเด้ง ผมเลยสอนเด็กๆเรื่องของตกด้วยความเร่งคงที่ (ความเร่ง = ค่า g) คือถ้าเราสร้างตัวแปรเหล่านี้

t = เวลาในการตกและกระเด้งแต่ละรอบ
g = ความเร่งจากแรงโน้มถ่วง
v0 = ความเร็วต้นในแนวดิ่งของลูกบอล
y0 = ความสูงเริ่มต้นของลูกบอล
v(t)= ความเร็วในแนวดิ่งของลูกบอลที่เวลา t
y(t) = ความสูงของลูกบอลที่เวลา t

แล้วเราสามารถคำนวณ v(t) และ y(t) ได้ดังนี้:

v(t) = v0 + g t
y(t) = y0 + v0 t + 1/2 g t^2

หน้าตาโปรแกรมเป็นประมาณนี้ครับ (โปรแกรมอยู่ที่ https://scratch.mit.edu/projects/429234815):

วิทย์ม.ต้น: เว็บฝึกพิมพ์, หัดเล่น Scratch

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

1. รู้จักเว็บฝึกพิมพ์ดีดเพื่อจะได้ฝึกพิมพ์สัมผัสได้เร็วๆ มีเว็บ Nitro Type และ ZType

2. ทำความรู้จักเขียนโปรแกรมด้วย Scratch กันครับ ผมให้เด็กๆสร้างบัญชีผู้ใช้สำหรับตนเอง โปรแกรมต่างๆที่สร้างจะได้ไม่หายไปไหน  ผมให้การบ้านไปทำตาม Tutorial ของเขาให้มากๆ จะได้เห็นตัวอย่างว่าทำอะไรได้บ้างอย่างไร

3. มีแนะนำเป็นภาษาไทยที่ https://kru-it.com/computing-science-m2/scratch-review/ และที่ สอนเด็กให้คิด สอนศิษย์ให้ Scratch

4. ถ้าอยากดูคลิปหัดใช้ Scratch เป็นภาษาไทย ลองดูรายการเหล่านี้ดูได้ครับ
https://www.youtube.com/playlist?list=PLrLWP63aYwvuuHErsmuWNqpuvTPzKqxHr
และ
https://www.youtube.com/playlist?list=PLrLWP63aYwvtM7i6ZR1X9p3K5dl7T8_2A

วิทย์ม.ต้น: Machine Learning ใน 5 นาที, ที่ฝึก ML, คำสอนปิดม.ต้น

วิทย์โปรแกรมมิ่งวันศุกร์สัปดาห์นี้ เด็กม.3 ได้ดูคลิปการสั่งให้คอมพิวเตอร์เรียนรู้จากตัวอย่าง (machine learning หรือ ML) ได้พิมพ์ตามคลิปนี้ครับ:

ผมเล่าให้ฟังว่าถ้าเรามีข้อมูลตัวอย่างเยอะๆดีๆเราก็สามารถให้คอมพิวเตอร์เรียนรู้ด้วยเทคนิคด้าน machine learning เพื่อช่วยทำงานต่างๆให้เราได้ ยกตัวอย่างเช่นอาจช่วยวินิจฉัยโรค ช่วยรู้จักหน้าคน รู้จักคัดตัวอย่างผลไม้ ตรวจหาวัชพืช แยกแยะแมลงมีประโยชน์และมีโทษ ช่วยวาดรูป ช่วยแต่งเพลง ฯลฯ โดยตัวอย่าง (ที่ไม่สมจริง) ที่ผมลองพิมพ์ให้ดูก็เช่นแยกระหว่างไข้หวัดใหญ่และโควิด-19:

ผมแนะนำให้เด็กๆไปศึกษาวิธีบอกให้คอมพิวเตอร์ช่วยงานด้านนี้ โดยใช้เวลาว่างเข้าไปเรียนรู้ที่ https://www.kaggle.com/learn/overview

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