การเขียนโปรแกรมเป็นการเรียนรู้ที่ทำให้ผู้เรียนมีทักษะการคิดวิเคราะห์ และการแก้ปัญหา (critical thinking and problem solving) ซึ่งเป็นหนึ่งในทักษะที่จำเป็นสำหรับการเรียนรู้ในศตวรรษที่ 21 ทำให้ผู้เรียนมีการคิดแบบมีเหตุผล เป็นระบบ มีความคิดสร้างสรรค์ สามารถนำไปใช้ในการแก้ไขปัญหา การสร้างงานที่ดี และดำรงชีวิตอยู่ได้ในปัจจุบัน ทั้งเกิดการเรียนรู้แบบยั่งยืนในอนาคต
ทำไมต้องเขียนโปรแกรม
-
การโปรแกรมเป็นความรู้พื้นฐานในโลกยุคดิจิทัล
ปัจจุบันเรามีโอกาสได้ใช้เทคโนโลยีหรือสื่อดิจิทัลต่างๆ อยู่เสมอ เช่น สมาร์ทโฟน คอมพิวเตอร์ ของเล่น youtube facebook สิ่งหนึ่งที่สำคัญคือต้องรู้และทำความเข้าใจว่าจะใช้เทคโนโลยีเหล่านั้นได้อย่างไร เมื่อนักเรียนได้ฝึกเขียนโปรแกรมจะทำให้เกิดทักษะการใช้ตรรกะ หรือการคิดแบบมีเหตุผลทำให้เข้าใจถึงเบื้องหลังการทำงานของโปรแกรม และสามารถนำไปประยุกต์ใช้กับการทำงานอื่น หรือสิ่งต่างๆ ได้เป็นอย่างดี เยาวชนในทุกวันนี้ไม่ควรเป็นเพียงผู้บริโภคเทคโนโลยีเท่านั้น แต่จะต้องเข้าใจและควบคุมเทคโนโลยีได้ เพื่อให้ทันกับโลกเทคโนโลยีที่มีการเปลี่ยนแปลงไปอย่างรวดเร็ว
รูปที่ 1 ผู้เรียนฝึกการเขียนโปรแกรมจากสื่อในแท็บเล็ต
-
พัฒนาการคิดและทำงานเป็นขั้นตอน
การเขียนเป็นการถ่ายทอดความคิดให้ผู้อื่นรับรู้และเข้าใจสิ่งที่ผู้เขียนต้องการจะสื่อหรือเผยแพร่ได้ การเขียนโปรแกรมก็เช่นเดียวกัน เราสามารถเขียนสัญลักษณ์ หรือรหัสคำสั่ง เพื่อบอกผู้อื่นทำงานตามที่ต้องการ หรือสั่งให้คอมพิวเตอร์ปฏิบัติตามคำสั่ง การเขียนโปรแกรมที่ดีต้องจะมีการคิดวิเคราะห์ และเขียนขึ้นอย่างชัดเจนเป็นขั้นตอน ให้สามารถนำไปไปปฏิบัติได้อย่างถูกต้องและมีประสิทธิภาพ ผู้ที่เขียนโปรแกรมอยู่เสมอจะมีทักษะการคิดแบบมีเหตุผล และเป็นขั้นตอน ซึ่งส่งผลไปถึงการตัดสินใจในการทำงานหรือการแก้ปัญหาอื่นๆ ในชีวิตประจำวัน
-
ฝึกเป็นนักออกแบบและผู้สร้าง
ทุกคนมีความคิดและจินตนาการ แต่มีกี่เรื่อง ที่คิดแล้วสามารถทำให้เกิดขึ้นจริงได้ เพื่อเป็นการปลูกฝังให้เด็กๆ เป็นนักคิดและผู้ริเริ่มที่สามารถนำความคิดไปสู่การสร้างที่แท้จริงได้ ครูควรสนับสนุนให้นักเรียนได้เรียนรู้วิธีการเขียนโปรแกรม เพราะการเขียนโปรแกรมจะทำให้สามารถคิดหรือสร้างงานได้เอง ทำให้มีความเชื่อมั่นที่จะเป็นนักออกแบบ และผู้สร้าง ซึ่งจะนำไปสู่การทำงานในอนาคต และสามารถสร้างสรรค์นวัตกรรมที่เป็นประโยชน์ต่อตนเอง ครอบครัว ชุมชน และประเทศชาติอย่างแท้จริง
-
การเขียนโปรแกรมง่ายกว่าที่คิด
การที่นักเรียนได้เห็นการทำงาน หรือการเคลื่อนไหวแต่ละคำสั่งตามที่เขียนโปรแกรมไว้ทันที เป็นสิ่งที่กระตุ้นการเรียนรู้ เพราะจะทำให้รู้ว่าควรจะจัดการอย่างไรเพื่อให้ได้ผลลัพธ์ที่ถูกต้อง และแน่นอนว่าเครื่องมือที่ใช้ในการเขียนโปรแกรมมีความสำคัญต่อการเรียนรู้ ครูสามารถเลือกใช้ให้เหมาะกับนักเรียน ซึ่งในปัจจุบันมีสื่อหรือเครื่องมือต่างๆ จำนวนมากที่ช่วยส่งเสริมการเรียนรู้การเขียนโปรแกรม ที่ใช้งานง่าย และมีความสวยงาม ทำให้นักเรียนอยากที่จะเรียนรู้ และเมื่อได้ฝึกฝนบ่อยๆ ทำให้เกิดความชำนาญ จะสามารถเขียนโปรแกรมได้ง่าย รวดเร็ว ได้ผลลัพธ์ที่ถูกต้อง และยังได้เรียนรู้การใช้เทคนิคต่างๆ ที่ช่วยสร้างงานให้มีประสิทธิภาพยิ่งขึ้น
เห็นมั้ยล่ะว่า “การเขียนโปรแกรมง่ายนิดเดียว”
เริ่มต้นสอนเขียนโปรแกรมกันเถอะ
เมื่อจะเริ่มต้นสอนเขียนโปรแกรม ครูหลายท่านคงกังวลเพราะคิดว่าการใช้ภาษาคอมพิวเตอร์ในการสอนนั้น ยากเกินกว่านักเรียนของเราจะทำได้ สิ่งหนึ่งที่ครูควรคำนึงถึงนอกจากภาษาคอมพิวเตอร์ที่จะใช้ในการเขียนโปรแกรม คือพิจารณาว่า เมื่อนักเรียนเรียนเขียนโปรแกรมแล้วจะได้ประโยชน์อะไร คำตอบที่แท้จริงหนีไม่พ้นเหตุผลที่ว่า นักเรียนจะได้ฝึกการคิดแบบมีเหตุผล และเป็นขั้นตอนอย่างมีระบบ ซึ่งภาษาคอมพิวเตอร์เป็นเครื่องมือเพื่อช่วยให้เกิดสิ่งเหล่านั้น ถ้านักเรียนมีตรรกะแล้วไม่ว่าจะใช้เครื่องมือใดในการเขียนโปรแกรม นักเรียนก็จะสามารถทำได้เป็นอย่างดี มาเริ่มต้นการฝึกการคิดแบบมีเหตุผล ด้วยกิจกรรมการสอนเขียนโปรแกรมที่ไม่ต้องใช้คอมพิวเตอร์ หรือใช้โปรแกรมสำเร็จอย่างง่ายที่ช่วยในการเรียนรู้การเขียนโปรแกรม ซึ่งมีแนวทางดังนี้
-
เริ่มต้นสอนเขียนโปรแกรมโดยไม่ต้องใช้คอมพิวเตอร์
เราสามารถเริ่มต้นสอนเขียนโปรแกรมได้ โดยใช้กิจกรรมที่เปิดโอกาสให้นักเรียนได้ฝึกคิดอย่างมีเหตุผลและทำงานอย่างเป็นขั้นตอน แล้วมีการแปลงแนวคิดในการทำงานต่างๆ เป็นรหัสคำสั่งที่ชัดเจนและสามารถนำไปปฏิบัติตามได้ ในที่นี้ผู้เขียนขอยกตัวอย่างกิจกรรมอย่างง่ายสำหรับนักเรียน ช่วงชั้น ป.4-ป.6
ซึ่งครูเริ่มการสอนโดยให้สถานการณ์แล้วให้นักเรียนเขียนรหัสคำสั่ง หรือให้รหัสคำสั่งแล้วให้นักเรียนปฏิบัติตามคำสั่ง ดังนี้
ตัวอย่างที่ 1 ครูให้สถานการณ์เป็นแผนที่ แล้วให้นักเรียนเขียนรหัสคำสั่ง ดังนี้
สถานการณ์ นักเรียนช่วยหุ่นยนต์ตามหาเพชร โดยเขียนรหัสคำสั่งเรียงต่อกันตามการสั่งงาน
ตัวอย่างที่ 2 ครูให้รหัสคำสั่ง แล้วให้นักเรียนใส่คำสั่งแต่ละคำสั่งลงในแผนที่ ที่มีแค่ตำแหน่งของหุ่นยนต์ ดังนี้
สถานการณ์ นักเรียนช่วยหุ่นยนต์ตามเก็บเพชร โดยทำตามรหัสคำสั่งต่อไปนี้
จากตัวอย่างที่ 2 ครูอาจถามเพิ่มเติมถึงจำนวนเพชรและตำแหน่งที่เพชรอยู่ นอกจากนี้จะเห็นว่ามีบางคำสังที่ทำงานซ้ำกัน ซึ่งครูอาจกำหนดสัญลักษณ์ () แทนการวนซ้ำ เช่น ➔(3) หมายถึง การเดินไปทางขวา 3 ครั้ง
2) เริ่มต้นสอนเขียนโปรแกรมโดยใช้สื่อเรียนรู้ใน code.org
ปัจจุบันมีเว็บไซต์หรือโปรแกรมอย่างง่ายจำนวนมาก ที่ใช้สำหรับการเรียนรู้และพัฒนาทักษะด้านการเขียนโปรแกรม ซึ่งในที่นี้ผู้เขียนขอแนะนำเว็บไซต์ code.org ซึ่งเป็นเว็บไซต์ขององค์กรที่ไม่แสวงหากำไร โดยมีวิสัยทัศน์ในการทำงานเพื่อให้นักเรียนทุกคนได้มีโอกาสเรียนด้านวิทยาการคอมพิวเตอร์ ทั้งนี้มีสถาบันต่างๆ ให้ความร่วมมือในการพัฒนาสื่อเรียนรู้การเขียนโปรแกรม และพัฒนาหลักสูตรสำหรับการสอนเขียนโปรแกรมในชั้นเรียนจำนวนมาก
รูปที่ 2 เว็บไซต์ Cod.org
สื่อเรียนรู้ใน code.org มีให้เลือกใช้หลากหลายตามระดับชั้น และอายุของผู้เรียน มีทั้งแบบใช้และไม่ใช้คอมพิวเตอร์ ซึ่งครูสามารถดาวน์โหลดแผนการสอนเพื่อนำไปใช้ในการจัดกิจกรรมได้ สำหรับสื่อที่ใช้คอมพิวเตอร์จะต้องเชื่อมต่ออินเทอร์เน็ต โดยการเรียนรู้จะมีลักษณะเป็นการฝึกทักษะ ซึ่งมีภารกิจต่างๆ ให้ผู้เรียนได้ฝึกเขียนโปรแกรมตามสถานการณ์ที่กำหนด โดยเริ่มจากภารกิจง่ายๆ ไปจนถึงภารกิจที่มีความซับซ้อน ในแต่ละภารกิจจะกำหนดคำสั่งให้เลือกใช้ตามระดับความยากของสถานการณ์ และมีการกำหนดจำนวนคำสั่งที่ใช้ได้สูงสุดในแต่ละภารกิจ นักเรียนสามารถเลือกทำภารกิจใดก่อนก็ได้ โดยถ้าผ่านภารกิจใดที่แถบด้านบนจะมีสัญลักษณ์เป็นวงกลมสีเขียว ถ้าไม่ผ่านจะมีสัญลักษณะเป็นวงกลมสีเหลือง ถ้ายังไม่ได้ทำจะมีสัญลักษณะเป็นวงกลมสีขาวดังรูป
รูปที่ 3 แถบภารกิจ
การเขียนโปรแกรมในแต่ละภารกิจ นักเรียนจะต้องเลือกวางคำสั่งให้ได้ผลลัพธ์ตามสถานการณ์ที่กำหนด หลังจากนั้นสั่งให้โปรแกรมทำงานโดยคลิกปุ่ม หากเขียนโปรแกรมถูกต้องจะมีข้อความแสดงว่าผ่าน และแสดงจำนวนคำสั่งที่ใช้ หากเขียนไม่ถูกต้องจะมีข้อความแจ้งเหตุผล เช่น ใช้คำสั่งไม่ถูกต้อง จำนวนคำสั่งเกินกว่าที่กำหนด
รูปที่ 4 การแสดงผลลัพธ์ในแต่ละภาระกิจ
การเรียนรู้ที่ดีควรเริ่มจากภารกิจที่ง่ายไปจนถึงภารกิจที่มีความซับซ้อน เพื่อให้นักเรียนเกิดความคิดรวบยอดในแต่ละเรื่อง แล้วนำมาประยุกต์ใช้ในการสร้างงานตามจินตนาการ หรืองานตามที่สถานการณ์กำหนด ซึ่งนักเรียนจะมีโอกาสได้ทำในตอนท้ายของแต่ละกิจกรรม เมื่อผ่านกิจกรรมแล้วนักเรียนจะได้รับเกียรติบัตรและสามารถแสดงความภาคภูมิใจนี้ผ่านสื่อ เช่น Facebook และ Twitter ได้ หรือจะเก็บไว้กับตัวเองโดยการดาวน์โหลดไว้ในเครื่องคอมพิวเตอร์
รูปที่ 5 เกียรติบัตรเมื่อผ่านกิจกรรม
เพื่อช่วยให้ครูสามารถนำสื่อเรียนรู้ใน code.org ไปใช้ในการสอนได้ ผู้เขียนขอแนะนำขั้นตอนในการดำเนินกิจกรรมดังนี้
-
ครูจัดเตรียมสื่ออุปกรณ์ที่ใช้ในการสอน โดยเลือกสื่อเรียนรู้สำหรับนักเรียน ซึ่งพิจารณาจากอายุของนักเรียนหรือระดับชั้น หลังจากนั้นจัดเตรียมอุปกรณ์ที่เกี่ยวข้องต่างๆ เช่น คอมพิวเตอร์ แท็บเล็ต ลำโพง หูฟัง ระบบอินเทอร์เน็ต
-
ครูจุดประกายความคิดในช่วงเริ่มต้นชั่วโมง ให้นักเรียนเห็นถึงประโยชน์และเหตุผลของการเขียนโปรแกรม โดยอาจให้นักเรียนช่วยกันยกตัวอย่างการใช้รหัสคำสั่งหรือโค้ดใช้ชีวิตประจำวัน หรืออาจให้นักเรียนดูวีดิทัศน์ แสดงความเห็นจากผู้ประสบความสำเร็จด้านการเขียนโปรแกรม
-
ครูให้ link สำหรับการเข้าถึงสื่อใน code.org โดยให้นักเรียนเริ่มศึกษาและทำภารกิจไปตามลำดับจนผ่านทุกภารกิจ ครูควรกระตุ้นให้นักเรียนทำงานด้วยตนเอง
-
ครูให้นักเรียนสร้างงานของตนเองตามจินตนาการ หรือครูกำหนดสถานการณ์ เพื่อให้นักเรียนได้นำความรู้ต่างๆ มาประยุกต์ในการสร้างชิ้นงาน
-
ครูควรให้รางวัลหรือคำชมเชยแก่นักเรียน หลังจากนักเรียนทำภารกิจต่างๆ เสร็จแล้ว ให้อัปโหลดผลงานลง code.org เพื่อเผยแพร่ผลงานให้ผู้อื่นดู
-
ครูสรุปความรู้และเชื่อมโยงไปสู่การเขียนโปรแกรมเพื่อสร้างซอฟต์แวร์ต่อไป
สรุป
เริ่มต้นง่ายๆ กับการสอนเขียนโปรแกรม ไม่ว่าจะใช้เครื่องคอมพิวเตอร์หรือไม่ใช้ก็ตาม สิ่งที่นักเรียนจะได้รับคือการฝึกทักษะการคิดแบบมีเหตุผล และเป็นขั้นตอน ครูสามารถคิดกิจกรรมง่ายๆ เพื่อสร้างการเรียนรู้ หรือใช้บริการจากเว็บไซต์ที่มีสื่อเรียนรู้ด้านการเขียนโปรแกรม เช่น code.org ที่ช่วยครูผู้สอนในการจัดกิจกรรมต่างๆ และกระตุ้นให้ผู้เรียนอยากเรียนรู้ด้านการเขียนโปรแกรม ด้วยเครื่องมือสำเร็จแบบง่ายและน่าสนใจ เพื่อเป็นการปูทางให้นักเรียนเกิดความคิดที่จะเป็นนักพัฒนา สร้างสรรค์ซอฟต์แวร์ หรือนวัตกรรมใหม่ๆ นอกจากนี้ยังเป็นผู้ที่มีความรู้ความสามารถที่จะใช้และควบคุมเทคโนโลยีได้อย่างถูกต้องมีประสิทธิภาพ รวมทั้งสามารถที่เข้าใจและต่อยอดการใช้งานแบบยั่งยืนในอนาคต
“ถ้านักเรียนของคุณยังไม่ได้เรียนการเขียนโปรแกรม ควรเริ่มได้แล้ว ณ บัดนี้”
.
ยกร่างบทความโดย นางสาวทัศนีย์ กรองทอง
บรรณาธิการโดย คณะบรรณาธิการสาขาวิชาเทคโนโลยี สสวท.
อ้างอิง
https://code.org
http://readwrite.com/2013/05/31/programming-core-skill-21st-century
https://www.quora.com/Why-is-programming-so-important-in-the-modern-world
http://www.tynker.com/blog/articles/ideas-and-tips/four-reasons-why-kids-should-learn-programming/