สอน CODING อย่างไรให้ง่าย
Last updated
Last updated
โดย : ภูมิปรินทร์ มะโน
แม้ยังมีความกังวลถึงความพร้อมของครูผู้สอนในวิชา Coding แต่หลักสูตรนี้ถือว่าเป็นหลักสูตรที่มีประโยชน์ ทำให้ผู้เรียนได้รับองค์ความรู้ใหม่ๆ และฝึกทักษะการเรียนรู้ทางอารมณ์และสังคม ฝึกการแก้ปัญหา ความคิดสร้างสรรค์ รวมถึงพัฒนาการทางกล้ามเนื้อมือ และการตัดสินใจได้อีกด้วย
หนังสือ ‘Coding as a Playground’ ระบุว่า เด็กที่อายุต่ำกว่า 7 ขวบ สามารถเรียนรู้วิธีการคิดเชิงคำนวณได้ แต่การสอนนั้นจะต้องถูกวิธี เหมาะสมตามวัยและพัฒนาของผู้เรียน
เทคนิคสำคัญที่ทำให้การเรียน Coding แบบไม่ใช้คอมพิวเตอร์ (Unplugged) ทำได้จริง และผลักให้นักเรียนอยากเป็นผู้สร้างสรรค์เทคโนโลยีมากกว่าผู้ใช้งาน คือ ความสนุก
เมื่อโลกหมุนไป เทคโนโลยีย่อมหมุนตาม วิชา Coding คือการเปลี่ยนแปลงหนึ่งที่สะท้อนให้เห็นว่าระบบการศึกษาในประเทศไทยขยับตัว
Coding คือส่วนหนึ่งของหลักสูตรวิทยาการคำนวณที่บรรจุอยู่ในกลุ่มสาระเทคโนโลยี เป็นนโยบายเร่งด่วนที่กระทรวงศึกษาธิการ เตรียมผลักดันให้เด็กทุกชั้นปี-ทุกโรงเรียนต้องเรียน เริ่มตั้งแต่ ป.1 โดยจะเริ่มสอนเทอมสอง ในเดือนพฤศจิกายนนี้
บทความตอนที่แล้ว(Codiing คืออะไร) ช่วยอธิบายให้เห็นเป้าหมายโดยรวมของวิชา Coding ที่มุ่งเน้นให้เด็กฝึกคิดอย่างเป็นระบบ ค้นเจอปัญหาและเงื่อนไข รู้เหตุและผล เข้าใจกระบวนการทำงานเพื่อแก้ไขปัญหา โดยไม่จำเป็นต้องเรียนผ่านคอมพิวเตอร์
คำถามคือ เด็กจะเรียน Coding โดยไม่ใช้คอมพิวเตอร์ได้จริงหรือ
The Potential ชวน ‘ภูมิ’ ภูมิปรินทร์ มะโน วัย 18 นักพัฒนาซอฟต์แวร์ หรือ software developer บริษัท OmniVirt สตาร์ทอัพสัญชาติไทยในแคลิฟอร์เนีย สหรัฐอเมริกา ในฐานะ ‘Coder’ คลี่คลายประเด็น เพราะภูมิคือผู้ใช้งานเทคโนโลยีตัวจริง ผ่านการจัดค่ายความรู้ ถ่ายทอดประสบการณ์และเทคนิคต่างๆ ให้กับเยาวชนที่สนใจ โดยสอน Coding ด้วยวิธีการง่ายๆ ผ่านการเล่นให้สนุก ให้เหมือนอยู่ในสนามเด็กเล่น
คำว่า coding เป็นคำจำกัดความกว้างๆ ที่สามารถนิยามได้สองความหมายครับ
ในแง่หนึ่ง เราสามารถตีความได้ว่า coding คือการเขียนโค้ด ซึ่งเป็นกระบวนการหนึ่งในการเขียนโปรแกรมที่เรานำขั้นตอนและวิธีคิดในการแก้ปัญหา ที่เรียกกันว่า ‘อัลกอริธึม’ ไปเขียนให้อยู่ในรูปแบบของโค้ดในภาษาโปรแกรมคอมพิวเตอร์ เป็นการแปลงวิธีคิดให้กลายเป็นโค้ดที่สามารถทำงานผ่านคอมพิวเตอร์ได้
แต่ในอีกแง่หนึ่ง เราก็สามารถตีความ coding ว่าเป็น การคิดเชิงคำนวณ (computational thinking) ได้เช่นกัน ซึ่งเป็นกระบวนการคิดแก้ปัญหารูปแบบหนึ่ง ไม่จำเป็นต้องเขียนโค้ดหรือใช้คอมพิวเตอร์ในการแก้ปัญหา และเป็นทักษะที่ทุกคนสามารถมีได้โดยไม่ต้องเขียนโปรแกรมเป็น
การคิดเชิงคำนวณ เป็นวิธีคิดที่มองวิธีการแก้ปัญหาเป็นลำดับขั้นตอน (algorithmic thinking) ที่ทำให้เราสามารถอธิบายปัญหาในรูปแบบที่สามารถใช้คอมพิวเตอร์ช่วยแก้ปัญหาได้ ซึ่งใช้ทักษะหลายส่วนประกอบกัน เช่นการจัดเรียงและวิเคราะห์ข้อมูลที่มี การวิเคราะห์ปัญหาและหาวิธีที่มีประสิทธิภาพสูงที่สุด และการประยุกต์ข้อมูลวิธีการแก้ปัญหานี้ไปใช้กับปัญหาอื่นๆ
ทำให้คำว่า coding สามารถตีความได้ทั้งสองความหมาย ขึ้นอยู่กับบริบทที่ใช้ในการสื่อสาร ซึ่งในบทความนี้ผมจะอิงตามความหมายที่สองเป็นหลักครับ
ในการทำงาน โปรแกรมเมอร์เขียนโค้ดเพื่อสร้างซอฟต์แวร์ตามความต้องการของภาคธุรกิจ เพื่อตอบโจทย์ความต้องการและแก้ปัญหาที่ผู้ใช้พบเจอ ไม่ว่าจะเป็นรูปแบบของแอพพลิเคชั่น เว็บไซต์ ไปจนถึงโปรแกรมที่ทำงานในฮาร์ดแวร์ต่างๆ
นอกจากนั้น โปรแกรมเมอร์ยังสามารถเขียนโปรแกรมเพื่อลดทอนขั้นตอนการทำงานที่ไม่จำเป็น เพื่อทำให้ขั้นตอนบางส่วนกลายเป็นระบบอัตโนมัติ เช่นการดึงข้อมูลจากเว็บไซต์ต่างๆ หรือสร้างรายงานสรุปผล โดยที่เราไม่ต้องทำขั้นตอนเหล่านั้นด้วยตัวเอง ที่เรียกว่า automation ครับ
นอกจากการทำงานแล้ว เราสามารถเขียนโปรแกรมขึ้นมาเพื่อแก้ปัญหาที่ตัวเองพบเจอในชีวิตประจำวันได้ เช่น เขียนโปรแกรมบันทึกรายรับรายจ่ายอัตโนมัติจากข้อความ SMS ที่ธนาคารส่งมา หรือเขียนโปรแกรมขึ้นมาปิดปั๊มน้ำหลังจากเดินออกจากห้องน้ำ ทำให้ทุกคนสามารถกลายเป็นนักเวทมนตร์ที่เสกสิ่งต่างๆ ขึ้นมาได้ผ่านการเขียนโปรแกรม
โดยส่วนตัว ผมไม่แนะนำให้เริ่มสอนวิชาวิทยาการคำนวณในประเทศไทยในตอนนี้ครับ
ไม่ได้เป็นเพราะว่าหลักสูตรยังไม่พร้อม ผมเชื่อว่าหลักสูตรที่ออกแบบมามีคุณภาพดีมาก เทียบเท่าหลักสูตรของต่างประเทศได้เลย แต่เป็นเพราะผมเชื่อว่าคุณครูส่วนมากในประเทศไทย ยังไม่พร้อมที่จะส่งต่อประสบการณ์และความสนุกของวิชานี้ได้
ถ้าเริ่มสอนวิชานี้ไปโดยที่สภาพแวดล้อมในการสอนยังไม่พร้อม จะส่งผลร้ายต่อผู้เรียนมากกว่าผลดี โดยเฉพาะกับนักเรียนประถมศึกษาตอนต้น ซึ่งเป็นวัยที่เริ่มวางรากฐานความสนใจในระยะยาว ทำให้เด็กมีมุมมองในแง่ลบกับการเขียนโปรแกรม มองว่าการเขียนโปรแกรมเป็นเรื่องที่ซับซ้อนและไม่สนุก
ซึ่งการสอนวิชาวิทยาการคำนวณ โดยเฉพาะกับกลุ่มนักเรียนในชั้นประถมศึกษา เราจะตีความคำนี้ในบริบทของการสอน computation thinking ซึ่งเน้นวิธีคิดมากกว่าการเขียนโปรแกรมบนคอมพิวเตอร์ ทำให้ความเชี่ยวชาญของครูผู้สอน และสภาพแวดล้อมในโรงเรียนเป็นสิ่งที่สำคัญมากเป็นพิเศษ
อย่างที่กล่าวไปข้างต้น ผมเชื่อว่าทั้งครูผู้สอนและโรงเรียนในประเทศไทย ยังขาดความพร้อมในการสอนด้านวิทยาการคำนวณมาก
การสอน คือการส่งมอบประสบการณ์การเรียนรู้ที่ตนเองเคยได้รับมา ส่งมอบความสนุกในการเรียนรู้เหล่านั้นไปให้กับผู้เรียน ซึ่งการสอนจำเป็นจะต้องมีทักษะสองด้าน คือองค์ความรู้ในวิชาวิทยาการคำนวณ (domain knowledge) และทักษะในการในการสอนให้สนุกและน่าติดตาม (delivery)
การเรียนการสอนวิชาวิทยาการคำนวณให้สามารถส่งต่อความรู้และประสบการณ์ให้กับนักเรียนได้ หมายความว่าคุณครูต้องเคยสัมผัสกับประสบการณ์ความสนุกตรงนี้มาก่อน ถึงจะสามารถสอนได้เห็นภาพ เข้าใจง่าย และจับต้องได้
ด้วยความที่คุณครูหลายท่านยังไม่เคยได้รับประสบการณ์เหล่านี้ ทำให้ยังขาดทั้งองค์ความรู้ที่จะสามารถสอนได้อย่างตรงประเด็น ถ่ายทอดความเข้าใจ และไม่มีทักษะ เครื่องมือ วิธีการเรียนการสอนที่ทำให้การเรียนรู้ด้านนี้เป็นเรื่องที่สนุกและจับต้องได้ จึงเป็นเรื่องที่ยากมากที่คุณครูเหล่านี้จะสอนวิชาวิทยาการคำนวณได้อย่างที่ควรจะเป็น ซึ่งไม่ใช่ความผิดของคุณครูเลย
นอกจากนั้น โรงเรียนยังขาดงบประมาณที่สามารถซื้อเครื่องมือที่ช่วยให้การเรียนรู้สนุก และจับต้องได้มากขึ้น อย่างของเล่นโค้ดดิ้ง (coding toys) คอมพิวเตอร์ หุ่นยนต์ ฮาร์ดแวร์ และเครื่องมืออื่นๆ ที่จะช่วยให้การเรียนรู้มีจุดหมาย เป็นรูปธรรม ผู้เรียนจะเห็นภาพทันทีว่าเราเรียนวิชานี้ และวิชาอื่นๆ ไปเพื่ออะไร ซึ่งจะเป็นไปไม่ได้เลยในสภาพแวดล้อมปัจจุบัน
หนังสือ ‘Coding as a Playground’ (สนามเด็กเล่นแห่งการโค้ด) ของคุณ Marina Umaschi Bers เป็นหนังสือที่อธิบายว่าเด็กที่อายุต่ำกว่า 7 ขวบ สามารถเรียนรู้วิธีการคิดเชิงคำนวณเพื่อพัฒนาทักษะด้านการเรียนรู้องค์ความรู้ใหม่ๆ และทักษะการเรียนรู้ทางอารมณ์และสังคมได้
เขาอธิบายว่าการเขียนโค้ดผ่านการเล่นที่สอนอย่างถูกวิธี ทำให้เราสามารถปลูกฝังนักเรียนให้เป็นผู้สร้างสรรค์มากกว่าผู้ใช้งานเทคโนโลยี ในรูปแบบที่สนุกสนาน และยังพัฒนาทักษะด้านการแก้ปัญหา ความคิดสร้างสรรค์ การเรียนรู้ การเข้าสังคม การพัฒนาทักษะทางกล้ามเนื้อมือ การเข้าใจอารมณ์ตัวเอง และการตัดสินใจได้อีกด้วย
นอกจากนั้น การเขียนโปรแกรมยังช่วยในการบูรณาการเพื่อส่งเสริมการเรียนรู้วิชาต่างๆ เช่น วิทยาศาสตร์ เทคโนโลยี วิศวกรรม ศิลปะ และคณิตศาสตร์ ซึ่งเรียกรวมๆ ว่าวิชาในกลุ่ม STEAM (science, technology, engineering, arts, mathematics) และยังพัฒนาทักษะด้านการอ่านเขียนอีกด้วย
เห็นด้วยว่าเรียนไปเพื่อเข้าใจวิธีการคิดอย่างเป็นระบบครับ แต่หลักสูตรต้องออกแบบวิธีการสอน วิธีการเรียนรู้ และจัดลำดับความสำคัญของเนื้อหาในหลักสูตรให้เหมาะสมกับวัย ไม่อย่างนั้นหลักสูตรนี้จะส่งผลในแง่ลบแทน
สำหรับนักเรียนในชั้นประถมศึกษาตอนต้น การเรียนรู้ที่ดีที่สุดคือการเล่นสนุกผ่านเกม เช่น โดมิโน บันไดงู ต่อเลโก้ ไปจนถึงเล่นบอร์ดเกมต่างๆ ซึ่งเหมาะสมกับวัยมากกว่า
นอกจากนี้ การเรียนรู้ผ่านกิจกรรม ผ่านการเล่นและลงมือทำ ซึ่งเรียกว่า ‘CS Unplugged’ คือการเรียนรู้ด้านวิทยาการคอมพิวเตอร์ที่ไม่ต้องใช้คอมพิวเตอร์ แต่ใช้การจับต้อง การวิ่งเล่น ใช้อุปกรณ์บ้านๆ อย่างกระดาษ และกรรไกร
โดยที่นักเรียนจะได้รับโจทย์ที่มีกฎง่ายๆ ไม่ซับซ้อน และน้องๆ จะได้ค้นพบคอนเซ็ปต์ต่างๆ ผ่านการเล่นด้วยตัวเอง ทำให้น้องๆ ไม่รู้สึกว่าไอเดียเหล่านี้เป็นเรื่องยาก แต่กลับคิดว่าเป็นเรื่องใกล้ตัวที่ใครๆ ก็ค้นพบได้ จดจำ และเข้าใจคอนเซ็ปต์ของวิทยาการคำนวณได้อย่างสนุกสนาน
เดือนที่แล้ว ผมจัดกิจกรรมโค้ดเพลิน (CodePlearn) ที่พาน้องๆ ชั้นประถมศึกษามาทำความรู้จักกับ coding ผ่านการเล่นของเล่นโค้ดอย่างหุ่นยนต์ Cubetto ที่ให้น้องๆ ใส่บล็อกไม้ลงบนกระดาน เพื่อให้หุ่นยนต์เดินตามแผนที่ ท่องทะเล ท่องอวกาศ มีสีสันและรูปภาพประกอบสวยงาม
ผลที่เกิดขึ้นคือน้องๆ ทำความเข้าใจ และเล่นสนุกกับของเล่นชิ้นนี้ได้เร็วมากๆ โดยที่ไม่จำเป็นต้องมีคอมพิวเตอร์ น้องเข้าใจคอนเซ็ปต์พื้นฐานอย่าง if-else และ loops ได้ดีกว่าการเรียนการสอนทั่วไปมากๆ
มีวิธีการเรียนการสอนที่ไม่ต้องใช้ของเล่นเช่นกัน เช่นให้น้องเรียงตัวจากคนตัวเตี้ยไปตัวสูง ด้วยวิธีการจัดลำดับ (sorting algorithm) แบบต่างๆ เช่น bubble sort ก็จะเทียบกับทีละสองคน แล้วให้คนตัวสูงกว่าขยับไปด้านขวา ทำอย่างนี้ไปเรื่อยๆ จนกว่าทุกคนจะเรียงตัวกันครบ ไม่ต้องเขียนโปรแกรมก็เข้าใจอัลกอริธึมได้
ดังนั้นการเรียนการสอนแบบ CS Unplugged ทำได้จริงครับ แต่ขึ้นอยู่กับคุณครูผู้สอนว่ามีความรู้ความเข้าใจมากแค่ไหน และมีทักษะในการถ่ายทอดให้เรียนรู้ได้อย่างสนุกสนานมากแค่ไหนด้วย คุณครูต้องอินกับสิ่งที่สอน ก่อนที่เด็กจะรู้สึกสนุกไปกับมันได้
เด็กๆ ที่ผ่านการเรียนวิทยาการคำนวณที่สอนอย่างถูกต้องมา จะเป็นคนที่คิดเชิงระบบได้ดีขึ้น มองเห็นและแก้ปัญหาที่ซับซ้อนได้อย่างเป็นขั้นเป็นตอน กล้าที่จะพูดว่าตรรกะของใครไม่อยู่บนพื้นฐานของความเป็นเหตุเป็นผล มองเห็นตรรกะวิบัติในการสื่อสารในชีวิตได้ดีขึ้น เรียนรู้เรื่องใหม่ๆ ได้มีประสิทธิภาพขึ้น ตัดสินใจในเรื่องต่างๆ ในชีวิตประจำวันได้ดียิ่งขึ้น และเติบโตมาเป็นบุคลากรที่เป็นประโยชน์ต่อสังคม
ศาสตร์และอาชีพแห่งยุคอนาคต อย่างชีวสารสนเทศ (Bioinformatics) เป็นศาสตร์ที่นำความรู้ด้านชีววิทยามาผสมผสานกับวิทยาการคอมพิวเตอร์ ทำให้เราสามารถเก็บรวบรวมและวิเคราะห์ข้อมูลรหัสพันธุกรรม ด้วยเทคโนโลยีอย่าง machine learning เป็นต้น
ซึ่งเราสามารถนำข้อมูลส่วนนี้ไปใช้ในการถอดรหัสพันธุกรรมมนุษย์ พืช และสัตว์ ซึ่งการเข้าใจรหัสพันธุกรรมว่าแต่ละส่วนส่งผลอย่างไร จะช่วยให้เราสามารถผลิตยาใหม่ๆ และรักษาโรคอย่างโรคมะเร็ง และโรคเบาหวานได้
อาชีพในโลกอนาคตหลายๆ อาชีพ จำเป็นต้องมีความรู้ในด้านการเขียนโปรแกรมมาผสมผสาน เนื่องจากงานส่วนมากสามารถทำได้อย่างมีประสิทธิภาพกว่าด้วยคอมพิวเตอร์ เพราะการวิเคราะห์รหัสพันธุกรรมมนุษย์ซึ่งประกอบไปด้วยคู่เบสกว่า 3,000,000,000 คู่โดยไม่มีคอมพิวเตอร์ก็คงเป็นไปไม่ได้อย่างแน่นอน
ควร เพราะอาชีพในยุคอนาคตหลายๆ อาชีพ จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรมมาประกอบด้วย นอกจากนั้น เราไม่จำเป็นต้องเป็นโปรแกรมเมอร์ ก็สามารถใช้ประโยชน์จาก automation และการเขียนโปรแกรมง่ายๆ เพื่อทำให้ชีวิตง่ายขึ้นได้
แทนที่จะต้องพิมพ์เอกสารเอง บันทึกรายรับรายจ่ายเอง หรือปิดไฟในห้องนอนด้วยตัวเอง การเขียนโปรแกรมด้วยภาษาง่ายๆ เพียงไม่กี่บรรทัด ก็อาจทำให้ชีวิตเราสะดวกขึ้น ทั้งในการทำงานและในชีวิตส่วนตัว
ที่สำคัญไปกว่านั้น การคิดเชิงคำนวณ (computational thinking) เป็นเรื่องที่ทุกคนสามารถนำไปใช้ประโยชน์ได้ เพราะเป็นกระบวนการคิดที่มีประสิทธิภาพ ไม่ใช่การเขียนโปรแกรม และไม่จำเป็นต้องเป็นโปรแกรมเมอร์
หนังสือ ‘Algorithms to Live By’ ของ Brian Christian และ Tom Griffiths ยกตัวอย่างมากมายว่าอัลกอริธึมสามารถนำมาประยุกต์ใช้กับชีวิตประจำวันของเราได้อย่างไร วิธีการแก้ปัญหาที่เป็นลำดับขั้นตอนที่เรียบง่ายที่ใช้ในคอมพิวเตอร์ สามารถตอบคำถามเกี่ยวกับการตัดสินใจและพฤติกรรมของมนุษย์ได้เช่นกัน
จากที่ได้กล่าวไปข้างต้น เรายังขาดคุณครูที่มีความรู้ความสามารถด้านการสอนวิชาวิทยาการคำนวณ ขาดการอบรมและการแนะนำคุณครูที่มากเพียงพอ เรายังไม่มีวิธีที่ทำให้คุณครูได้สนุกกับวิทยาการคำนวณมากพอที่พวกเขาสามารถส่งต่อความสนุกเหล่านั้นให้กับเด็กๆ ได้
เราขาดทรัพยากรและอุปกรณ์ที่จะช่วยเหลือในการเรียนการสอน อย่างคอมพิวเตอร์ หุ่นยนต์ ของเล่นโค้ดดิ้ง ฮาร์ดแวร์อย่าง Arduino และ Raspberry Pi ที่จะช่วยให้การเรียนการสอนจับต้องได้และสนุกยิ่งขึ้น
นอกจากนั้น ผู้ใหญ่หลายๆ คนยังไม่เข้าใจความแตกต่างของการเขียนโปรแกรม วิทยาการคำนวณ วิทยาการคอมพิวเตอร์ การคิดเชิงคำนวณ ทำให้ไม่สามารถจัดลำดับความสำคัญ และให้ความสำคัญกับการเล่นได้อย่างเพียงพออีกด้วย
ที่สำคัญที่สุด คือค่านิยมทางอาชีพและภาพจำต่างๆ การเขียนโปรแกรมยังถูกมองว่าเป็นอาชีพที่ไม่ได้มีคุณค่าเท่ากับหมอ ครูแนะแนวขาดความเข้าใจในอาชีพนี้อย่างมาก ไม่สามารถแนะนำแนวทาง สายการเรียน คณะในการเรียนให้กับเด็กมัธยมได้ ผู้ปกครองยังเข้าใจผิดๆ ว่าอาชีพนี้เป็นอาชีพที่มีแต่ผู้ชายเรียนกัน (male-dominated) ไม่น่าเรียน ยาก ซับซ้อน เข้าใจว่าเขียนโปรแกรมคือนั่งเล่นเกม ซึ่งเป็นภาพจำที่ไม่ถูกต้องทั้งสิ้น
ส่วนตัวมองว่าคำว่า ‘coding’ ในแง่ของวิทยาการคำนวณ และการคิดเชิงคำนวณ (computational thinking) ครอบคลุมทุกส่วนแล้ว แต่ต้องทำให้ประสบการณ์เรียนรู้หลากหลายและผสมผสานกันถึงจะมีประสิทธิภาพ
ทั้งการเรียนรู้แบบ CS Unplugged ที่เน้นกิจกรรมและการแก้ปัญหาด้วยตัวเอง และการเรียนรู้ผ่านการเขียนโปรแกรม สร้างสรรค์สิ่งต่างๆ ขึ้นมาด้วยการเขียนโปรแกรม ไปจนถึงการต่อวงจรเล่นกับฮาร์ดแวร์ และสร้างหุ่นยนต์ขึ้นมา
การเรียนรู้ที่หลากหลายนี้ ทำให้นักเรียนเห็นภาพและเข้าใจว่าการเรียนรู้แต่ละส่วน เรากำลังเรียนไปเพื่ออะไร ใช้ความรู้นี้แก้ปัญหาอะไรในโลกจริงได้บ้างได้ และจะสามารถช่วยพัฒนาวิธีการใช้ชีวิตของเราให้ดีขึ้นได้ครับ
Source: The Potential.