ว่าจะไม่พูดเรื่อง Coding แล้วเชียว ... ขออีกสักโพสท์ละกัน
ผมว่าปัญหาหนึ่ง ก็คือเรามองมันใน Context แคบๆ แค่ Computer Programming น่ะครับ (อันนี้เป็นปัญหา โดยเฉพาะคนในวงการไอที -- พอเห็นอะไรที่เกี่ยวกับเรื่องนี้ก็ตีความไปทางที่ตัวเองทำ -- Coding with Computers, Coding Computer Programs, etc)
ลองคิดแบบนี้ครับ .....
ถ้ามันจะเป็นการศึกษาพื้นฐาน อันนี้ต้องลองคิดในมุมที่กว้างกว่า "เรียนไปเขียนโปรแกรมคอมพิวเตอร์" หรือ "เรียนไปเป็นโปรแกรมเมอร์" ครับ มันไม่ได้มาตอบสนองตลาดแรงงานของอาชีพนี้แต่อย่างใด
ต้องลองคิดว่า
คนที่จะเป็น Designer, พยาบาล, พ่อครัว, คนอยากเรียนอักษรฯ, คนอยากเรียนเกษตรฯ, คนอยากเรียนอะไร ก็ควรเรียน Coding
เราไม่ได้สร้างคำใหม่อะไรเลยครับ คำนี้ค่อนข้างเป็นสากล และมีความหมายในบริบทที่กว้างกว่าการเขียนโค้ดกับคอมพิวเตอร์
มันอาจจะเกิดมาจากการเขียนโปรแกรมคอมพิวเตอร์ครับ แต่ทำไมเราจะคิดให้มันอยู่ในบริบทที่ใหญ่กว่านั้นไม่ได้ ....
ถ้ามันหมายถึง "วิธีการสื่อสาร" "ภาษาของการสื่อสาร" ที่ชัดเจน เป็นเหตุเป็นผล เป็นลำดับขั้นตอน ไม่ใช่การสื่อสารที่กำกวม ตีความยังไงก็ได้ ขึ้นกับบุคคล
ยกตัวอย่างเช่น เล่นเกมหาทางออกกับเด็ก .... แทนที่จะบอกว่า "ก็หาไปเรื่อยๆ จนกว่าจะเจอทางออก" หรือ "ลองแล้วไม่ได้ ก็ลองใหม่" ... เป็น "เลือกทางซ้ายก่อนเสมอ แล้วไปเรื่อยๆ ถ้าเจอทางตัน ให้ย้อนกลับมาจุดสุดท้ายที่มีทางเลือก แล้วเลือกทางถัดมา" .... อะไรแบบนี้เป็นต้น
ถ้ารอบๆ ตัว ทั่วๆ ไป .... การบอกทางให้มีประสิทธิภาพ (เวลาถามว่าอะไรไปยังไง) ก็ต้องอาศัย Coding ..... การแก้ปัญหาต่างๆ ก็ต้องใช้ Coding .... อะไรทำนองนี้
Coding คือการสร้าง Instructions ให้ปฏิบัติตามได้ เห็นแล้วรู้เลยว่าต้องทำอะไร ยังไง ไม่ใช่เห็นแล้วก็ต้องไปตีความ หรือไม่สามารถปฏิบัติตามได้ .... การเรียนแบบไม่ใช้คอมพิวเตอร์มีข้อดีอย่างมาก คือทำให้คิดด้วยกันได้ เล่นด้วยกันได้ ยิ่งเป็นการส่งเสริมการสื่อสารระหว่างกันได้มากขึ้นอีก
แน่นอนว่า Computer Programming เป็น Context หนึ่งของ Coding แต่ไม่ใช่ทั้งหมด
ถ้าเด็กๆ ได้เรียน Coding ใน General Context หรือ Daily Lives มาแล้ว การนำมาประยุกต์ใช้กับการเขียนโปรแกรมคอมพิวเตอร์ก็เป็นเรื่องที่ง่ายขึ้นมาก (Note: ปัญหาของเด็กเรียน CS/IT/CE บ้านเราเลยครับ ... รู้แต่ Syntax แต่ "Coding ไม่เป็น")
ผมย้ำเสมอกับน้องในทีม ว่าการเขียนโปรแกรม คือการสื่อสาร ไม่ใช่อย่างอื่นเลยแม้แต่น้อย เราไม่ได้เขียนโค้ดให้คอมพิวเตอร์ทำงาน เราเขียนโค้ดไว้สื่อสารกับคน
ผมขอแปะ link ไป product ตัวหนึ่งใน Amazon ละกันครับ ....
"Littlecodr - Kids Coding Game"
https://www.amazon.com/Littlecodr-46618-Kids-…/…/B0199Q3PEI/
อันนี้เป็น Card Game สำหรับเด็กอายุ 4 ขวบขึ้นไป เป็น Card คำสั่ง ที่เอามาต่อกันเป็น Instruction เล่นกับเพื่อนได้ (สมมติว่าเพื่อนเป็น Robot ก็ได้)
ประเด็นคือ .... ถ้าฝรั่งไม่ใช้คำนี้ กับการสอนอะไรแบบนี้ แล้วทำไม Product ตัวนี้มันชื่อนี้?
คนสาย IT ก็ลด Ego ตัวเองลงนิดๆ นะครับ ลองมองในภาพที่มันกว้างขึ้นบ้าง .... อย่าคิดว่ามันเป็นของพวกเราเท่านั้น ต้องทำแบบเราเท่านั้น หรือทุกอย่างปลายทางอยู่ที่เป็นแบบพวกเราเลยครับ
ป.ล. สำหรับคนที่อยากแชร์ มันน่าจะได้แค่ amazon link นะครับ เพราะว่าที่ผมเขียนนี่ ผมทำไว้แค่ friends only ครับ