โค้ดดิ้ง !! ทำให้เด็กไม่เบื่อ ทำให้เด็กสนุกต่อยอดได้จาก Scracth สู่ Python ด้วย BlockPy

มีเวลาไม่เยอะอยากอ่านสั้นๆ

บทความนี้จะเราจะสอน เขียนโปรเเกรมด้วย ภาษา Python โปรเเกรมคิดเลข เเละ การสร้างฟังก์ชั่นใช้งานโปรเเกรมด้วย BlockPy
  • การใช้งาน BlockPy เครื่องมือ  Too เเละ Compiler เบื้องต้น
  • โปรเเกรมเเรก Hello Word Codkids!! ด้วยคำสั่ง print
  • มาเขียน ซูโดโค้ด เเละ อัลกอริทึม ก่อนลงมือ Coding
  • โปรเเกรมคิดเลขง่ายๆ ด้วย Variable – ตัวเเปร
  • เขียนโปรเเกรมคิดเลขด้วย Function – ฟังก์ชั่น
เป็นบทความที่สอนเยอะใช่ไหมล่ะ เราตั้งใจทำมากเพราะเข้าใจเด็กๆ เเละปัญหาที่ผู้ปกครองเเละคุณครู ส่งถามเราจริงๆ ทางโค้ดดิ้งไม่ขออะไรมากถ้ามีประโยชน์ ฝากกดไลค์เพจ Codekids เเละ กด เเชร์ บทความให้เราหน่อยนะคะ!!

สอนเด็ก 7-12 ขวบ เขียนโปรแกรมภาษา Python แบบ Block ด้วย BlockPy

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

โปรเเกรม ต่างๆ มากมาย อาทิ NLP , AL , ML เเละโปรเเกรมเกี่ยวกับ อุปกรณ์ 5G เเละ IoT ซึ่งภาษานี้จะเป็นภาษาหลักในการขับเคลื่อนโลกในอนาคตอย่างเเน่นอน

อธิบายคำย่อ :

NLP – คือ Natural Language Processing เทคโนโลยีเชื่อมโยงปัญญาประดิษฐ์กับมนุษย์ด้วย “ภาษา”

AI – คือ Artificial Intelligence ปัญญาประดิษฐ์ เป็น เครื่องจักรที่มีฟังก์ชันทีมีความสามารถในการทำความเข้าใจ เรียนรู้องค์ความรู้ต่างๆ

ML – คือ Machine Learning การเรียนรู้ของเครื่อง (Machine learning)

เเต่ปัญหาที่ผู้ปกครอง เเละ คุณครู ส่วนใหญ่เจอเเละมักเข้ามาปรึกษาใน เพจ Codekids บ่อย ที่สุดคือ ปัญหา เด็กๆ เจอ Python ที่มีลักษณะการเขียนเป็น ตัวอักษร ซึ่งอาจทำให้เด็กไม่สนุก เเละ เบื่อ กับการเรียนเเบบเขียนภาษา

หรืออีกปัญหา คือ พอเด็กๆ เรียน สเเครช ก็จะชอบการเขียนโปรเเกรมเเบบเป็น Block เพราะมันง่าย เเละ สนุกดี ทำให้เมื่อถึง เวลาที่น้องๆ จะต้องเริ่มเรียนเขียนโปรเเกรมด้วยภาษา Python เเล้วก็จะทำให้น้องๆ ไม่สนุกเหมือนเวลาที่เรียน สเเครช

ซึ่งวันนี้ปัญหาเหล่านี้ ที่คุณพ่อ คุณเเม่ เเละคุณครู ทุกคนที่เข้ามาปรึกษา Codekids จะหมดไปเพราะเราไปเจอ วิธีที่จะทำให้ Python + Scratch มันคือ BlockPy นั่นเอง

BlockPy คืออะไร?

BlockPy คือ โปรเเกรม Online ฝึกเขียนโปรแกรมภาษา Python แบบ block ,ข้อความ หรือทั้งคู่ ออกแบบสำหรับ Data Science และนักเรียน โดยเป็นซอฟต์แวร์โอเพนซอร์ซ (Open source software) เป็น Online Coding Environment สามารถใช้งานได้ทันทีไม่ต้องลงโปรแกรม มีเครื่องมือสำหรับช่วยวาดกราฟรวมถึงเขียนเต่า turtle อีกด้วย

หน้าตาของ BlockPy : https://think.cs.vt.edu/blockpy/blockpy/load

บทความนี้จะเราจะสอนเขียนโปรเเกรมด้วย ภาษา Python

โปรเเกรมคิดเลขเเละการสร้างฟังก์ชั่นใช้งานโปรเเกรมด้วย BlockPy

1.การใช้งาน เปิดเว็บบราวเซอร์ เข้าไปที่ https://think.cs.vt.edu/blockpy/

2.แล้วคลิก Try Editor บนแถบเมนูข้างบน จะพบกับหน้า BlockPy: Scratch Canvas

หน้านี้จะมีด้วยกัน 6 ส่วนดังนี้

คำอธิบาย

  1. แถบเมนู สามารถมาหน้า Editor สมัครสมาชิกและเข้าสู่ระบบได้
  2. แถบ Console ใช้แสดงผลลัพธ์และรับข้อมูลจากแป้นพิมพ์
  3. แถบ Feedback ใช้แสดงหน้าจอข้อผิดพลาดของโปรแกรม
  4. แถบควบคุม สำหรับใช้รัน/หยุดโค้ด, เปลี่ยนโหมดการเขียนโปรแกรม, นำเข้าชุดข้อมูล, อัพโหลดไฟล์ และประวัติการรัน
  5. แถบ Blocks สำหรับใช้เขียนโปรแกรมภาษา Python แบบลากวาง
  6. แถบ Text เขียนโปรแกรม Python แบบใช้ข้อความ
ขอบคุณภาพจาก : https://python3.wannaphong.com/2020/04/python-block-blockpy.html

โดยข้อดีของข้อมูล เจ้าตัว BlockPy เกิดขึ้นมาเพื่อ ต่อยอดจาก สเเครช เพื่อนำมาสอน ภาษา Python จริงๆ ด้วย มีทุกอย่างของ Python รวมไว้ที่นี่เลย

1.Variable – สร้างเเละกำหนดตัวเเปร
2.Decisions – คำสั่งการตัดสินใจ if..else
3.Iteration – คำสั่งการวนลูป for..each
4.Function – คำสั่งสร้างฟังก์ชั่นใช้งาน
5.Calculation – คำสั่งคำนวณพื้นฐาน [ + – * / % ** ]

6.Output – คำสั่งเเสดงผลลัพธ์ออกทางหน้าจอ
7.Input – คำสั่งรับค่าจากเเป้นพิมพ์
8.Turtles – คำสั่งช่วยวาดกราฟรวมถึงเขียนเต่าน้อย
9.Values – คำสั่งข้อมูล เเละตรวจสอบข้อมูล Ture Flase
10.Conversion – คำสั่งกำลังชนิดข้อมูล [ int , float , str , bool ]
11.Lists – คำสั่งใช้งานชุดข้อมูลเเบบ Array […]
12.Dictionaries – คำสั่งใช้งานการกำหนดข้อมูลเเบบ Key และ Value

นอกจากนั้น BlockPy ยังมี courses เรียนออนไลน์แบบฟรีที่ https://canvas.instructure.com/courses/1134562 ลิงค์นี้เลยค่ะ

ลองมาเขียนโปรเเกรมกัน BlockPy ว่า Hello World กันดีกว่า

เริ่มกันที่วิธีขั้นตอนการคิดโปรเเกรมก่อน

เริ่มจากซูโดโค้ด ความต้องการคือ ต้องการเเสดงผลลัพธ์ออกจากทางหน้าจอ

ขั้นตอน

1.สร้างตัวเเปรขึ้นมา เพื่อรับค่า

2.กรอกข้อมูลเเละเอาไปเเสดงผล

3.เเสดงผลออกทางหน้าจอ

มาลองเอา ซูโดโค้ด มาเขียนเป็น อัลกอริทึม ของโปรเเกรมเรากัน

อัลกอริทึมโปรเเกรม Hello world

พอได้วิธีคิดเป็นขั้นตอนผ่านอัลกอริทึม มาเเล้วขั้นตอนต่อมคือ ลงมามือ Coding กัน

1.สร้างตัวเเปร มาเก็บข้อมูลของเราก่อน เพื่อให้คอมพิวเตอร์สามารถรู้ถึงตัวตนของ สิ่งนี้ได้เราจะตั้งชื่อว่า name มีหน้าที่เก็บข้อมูลเป็น text เเละ print ออกมาเเสดงทางหน้าจอ

2.ลาก block ตามภาพ จะเป็นการ set variable คือการ ตั้งค่าตัวเเปรนั่นเอง

ถ้าลองสังเกต ในกล่องด้านซ้ายมือ จะเห็นเป็น text code ขึ้น นั่นคือ ภาษา Python ของเรา

3.พอเราตั้งชื่อให้ตัวเเปร เสร็จเราเเล้วเราก็ต้องมา กำหนดข้อมูลที่จะใส่เข้าไปให้คอมพิวเตอร์เเสดงผล ด้วยการใช้ คำสั่ง input ลากมาใส่ในกล่อยของ ตัวเเปร เพื่อเป็นการบอกถึงข้อมูลที่จะ input เข้าไปในตัวเเปร name นี้

4.ขั้นตอนสุดท้าย เราก็มาใช้คำสั่ง print เพื่อที่ output ข้อมูล ที่รับเข้ามาใน input ออกมาเเสดงผ่านทางหน้าจอ

5.พอเรากด Run สังเกตใน ช่อง Console ก็จะมี ช่องข้อมูล input ขึ้นมาให้เรากรอกข้อมูล

พอกรอกข้อมูลเสร็จเเล้วเราก็จะได้ข้อมูล output ออกมาเเล้วค่ะ เย้!!

ที่นี้เรา ลองมาเพิ่มเลเวล ขึ้นมาหน่อยด้วย การเขียนโปรแกรมเครื่องบวกเลขง่าย ๆ ได้เเล้ว ++

เริ่มกันที่วิธีขั้นตอนการคิดโปรเเกรมก่อน

เริ่มจากซูโดโค้ด ความต้องการคือ ต้องการโปรเเกรม บวกเลขจำนวนเต็ม

ขั้นตอน

1.สร้างตัวเเปรมารับค่าตัวเลข 2 ตัวเเปร เป็น num1 เเละ num2

2.คำนวณตัวเลขจำนวนเต็ม เอาตัวเเปร 2 ตัวมาบวกกัน

3.สร้างตัวเเปร sum เพื่อมารับผลลัพธ์การคำนวณ

4.เเสดงผลลัพธ์จากตัวเเปร sum ออกลองหน้าจอ

มาลองเอา ซูโดโค้ด มาเขียนเป็น อัลกอริทึม ของโปรเเกรมเรากัน

อัลกอริทึมโปรเเกรมบวกเลขจำนวนเต็ม

พอได้วิธีคิดเป็นขั้นตอนผ่านอัลกอริทึม มาเเล้วขั้นตอนต่อมคือ ลงมามือ Coding กัน

1.เริ่มจาก การตั้งตัวเเปรที่เราต้องใช้ทั้งหมดก่อน ซึ่งจากในภาพเราจะสร้างตัวเเปรไว้ คือ

– num1 ไว้เก็บตัวเลขตัวที่ 1

– num2 ไว้เก็บตัวเลขตัวที่ 2

2.พอ set variable หรือตัวเเปรเสร็จก็อย่าลืม มากำหนด input ให้ตัวเเปรตัวนะ

ทำการเลือกตัวเเปรที่กำหนด เพื่อใส่ block input

ลองกด run เพื่อลองเล่น input ดู

2.ต่อไปมาใส่ การคิดคำนวณ Calculation กัน ไม่ว่าจะเป็น บวก ลบ คูณ หาร หารเอาเศษ หรือยกกำลัง คำสั่งมีหมดทั้งสิ้นให้เราเลือก

เเต่ก่อนอื่นเราต้องสร้างตัวเเปรใหม่ขึ้น 1 ตัวเป็นตัวที่เอาเก็บ ค่าการคำนวณของตัวเเปร num1 เเล num2 ซึ่งเราจะสร้างตัวเเปรใหม่คือมารับค่าเป็น ตัวเเปร sum เป็นการเก็บผลลัพธ์การคำนวณ

3.เอาตัวเเปร num1 เเละ num2 มา คลุมด้วย block Calculation เพื่อคำนวณหา ค่าการบวกกันของ 2 ตัวเเปร

ลอง run ดูได้ผลลัพธ์ จะได้เป็น 56 การเอา input 1 เเละ input 2 มาบวกกัน เเต่เราไม่ต้องการโปรเเกรมเอามาบวกกันตรงๆ เเบบต้องการให้โปรเเกรมบวกเเบบการคำนวณ เราต้องทำยังไง เพราะ default ของข้อมูลในภาษา python จะเป็น string มาให้ใน BlockPy

ถ้าเราอยากให้ string สามารถนำไปคำนวณ ได้เราต้องทำการเปลี่ยนเเปลงค่าที่ input เพื่อให้ตัวเเปร num1 เเละ num2 ที่กรอกเข้ามาเป็น int คือ ตัวเลข เพื่อนำไปคำนวณ

ใน BlockPy เราจะใช้คำสั่ง Conversion เป็น block เอาไว้ครอบค่าที่ต้องการเปลี่ยนเเปลง เราก็เลือก int เลยเป็นตัวเลขจำนวนเต็ม

ลอง run ดูอีกครั้งเราก็จะได้ ผลลัพธ์เป็น 5+6 เป็น 11 ตามที่โจทย์โปรเเกรมเราต้องการเเล้ว

ลองมาโปรเเกรมข้างต้น มาเพิ่มระดับความยากขึ้น เเละให้เป็นภาษา Python สูงขึ้นดีกว่า ด้วยการทำ Function ++

(เป็นคลิปนะ ลองทำตามได้เลยนะไม่ยากเด็กทำได้เเน่)

  • ขอบคุณข้อมูลอ้างอิงจาก : https://python3.wannaphong.com/2020/04/python-block-blockpy.html

บทความที่เกี่ยวข้อง

pokémon-unplugged
คุณครู

แจกคู่มือใบงาน Pokémon Unplugged เกมฟรี!! 23 โปรเจคพร้อมเฉลย (ลิขสิทธิ์แท้แน่นอน)

CodeKids เราไปเจอของดีมาเลยอยากจะมาแนะนำต่อเพื่อเป็นประโยชน์สำหรับคุณครูและผู้ปกครองนำไปใช้สอนเด็กๆ Unplugged Coding