28 ก.ค. 2019 เวลา 14:40 • การเมือง
ประเด็นร้อนแรงในประชุมสภา: "เรียนเขียนโค้ดโดยไม่ใช้คอมพิวเตอร์ได้จริงหรือ?"
4
จากประเด็นร้อนแรงของสัปดาห์นี้ เกี่ยวกับการชี้แจงของศึกษาธิการในที่ประชุมสภา ในหัวข้อ “เรียนเขียนโค้ด ไม่ต้องใช้คอมพิวเตอร์ก็ได้” ทำให้เกิดความน่าสนใจไม่น้อยว่าทำได้จริงหรือไม่?
Coding & Programming แตกต่างกัน!
ก่อนอื่น ต้องทำความเข้าใจถึงความแตกต่างระหว่างสองคำนี้ก่อน นั่นคือ “การเขียนโปรแกรม(Programming)” และ “การเขียนโค้ด(Coding)” เพราะสองคำนี้คือคนล่ะศาสตร์ แต่มักถูกใช้ผสมปนกัน
“Programming”
คือคำไวพจน์หรือคำพ้องของ Problem-solving(ทักษะการแก้ไขปัญหา) ซึ่งเป็นทักษะของการคิดเชิงคำนวณ(Computational thinking) ในการแก้ไขปัญหาที่ซับซ้อน
มีหลายเทคนิคที่ถูกใช้ในการเขียนโปรแกรม เช่น
- การแบ่งปัญหาใหญ่เป็นปัญหาย่อย(Decomposition): การสับปัญหาออกเป็นชิ้นเล็กๆ และหาวิธีการแก้ปัญหาเล็กๆเท่านั้นทีละปัญหาจนครบ
- ตรรกศาสตร์และความรู้คณิตศาสตร์(Logics): เพราะพื้นฐานของการเขียนโปรแกรม มาจากความรู้เหล่านี้เป็นรากฐาน
- การวิเคราะห์และเขียนอัลกอรึทึม(Algorithm): การคิดหาวิธีที่เหมาะสมในการแก้ปัญหา และเขียนออกมาเป็นอัลกอรึทึม(กระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน)
1
ตัวอย่าง อัลกอรึทึม
ถ้าหากเราได้อัลกอรึทึมสำหรับปัญหานั้นๆแล้ว ก็เท่ากับว่าเราได้แก้ปัญหานั้นอย่างสมบูรณ์ Lady Ada โปรแกรมเมอร์คนแรกของโลกก็เขียนอัลกอรึทึมเช่นเดียวกัน ไม่ใช่เขียนโค้ด
1
“Coding”
คือการที่เรานำอัลกอรึทึมมาทดสอบและปฏิบัติ(execute) บนคอมพิวเตอร์ เพื่อให้เห็นผลลัพธ์ของอัลกอรึทึมอย่างรวดเร็ว ในการเขียนโค้ด จะต้องเขียนให้ถูกต้องตามแบบการเขียนของภาษานั้นๆ หรือที่เราเรียกกันว่า syntax โดยภาษาที่ใช้ในการเขียนโค้ดก็มีมากมาย เช่น C, Python, Java ซึ่งแต่ละภาษา ก็จะมี syntax เป็นของตัวเอง
1
ตัวอย่างโค้ดภาษา python ในการเช็คว่าตัวเลขมีค่าเท่ากันหรือไม่
จะสังเกตเห็นว่าการเขียนโค้ด เราไม่ต้องใช้ตรรกศาสตร์ใดๆทั้งสิ้น แต่ต้องใช้คอมพิวเตอร์
และในการเขียนโปรแกรม เราไม่ต้องใช้คอมพิวเตอร์และไม่ต้องใช้ syntax ใดๆทั้งสิ้น เพราะเราสามารถเขียนในรูปแบบของภาษาไทยก็ยังได้ หรือจะเป็นแบบแผนภาพ(Flowchart)
หลังจากทำความเข้าใจสองคำนี้แล้ว จะเห็นว่าต้องมีการระบุให้ชัดเจนก่อน ว่าการสอนดังกล่าวจะสอน’เขียนโปรแกรม’ หรือ ‘โค้ดดิ้ง’ เพราะการทั้งสองแบบใช้ทักษะที่แตกต่างกัน
3
สำหรับวัยมัธยม-มหาวิทยาลัย คงไม่อาจปฏิเสธได้ว่าคอมพิวเตอร์คือสิ่งจำเป็น ไม่อย่างนั้น นักเรียนก็ไม่สามารถประเมินผลลัพธ์ของอัลกอรึทึมที่เขาคิดมาได้เลย
1
แต่ในประถมวัย การให้เขาเรียนรู้ syntax ของแต่ละภาษา อาจเป็นสิ่งที่ยากเกินไป จึงอยากให้เน้นไปในการสอนที่ไม่ต้องใช้คอม ซึ่งก็คือ การสอนวิธีการเขียนโปรแกรมด้วยการใช้ทักษะการแก้ไขปัญหาดังที่ได้พิมพ์ไปข้างบนนั่นเอง
ในต่างประเทศ มีระบบการสอนอย่างจริงจังที่ส่งเสริมให้เด็กประถมวัยฝึกคิดเชิงตรรกะเพื่อแก้ไขปัญหาโดยไม่ต้องใช้คอมพิวเตอร์ ได้รับการเรียกชื่อว่า “Unplugged Coding” ซึ่งใช้ทุนทรัพย์น้อยและสอนง่ายเพราะไม่จำเป็นต้องใช้คอมพิวเตอร์ในการศึกษาและไม่เพิ่มภาระหน้าที่ให้ครู ซึ่งเป็นสิ่งที่ดีสำหรับโรงเรียนในต่างจังหวัดและชนบทที่มีทรัพยากรน้อย
1
โฆษณา