ป.2 บท 7 (เกมเส้นทางปริศนา)

วิธีใช้กระดานชนวน และซองจดหมาย สอนเด็ก ป.2 เขียนโปรแกรมแบบมีเงื่อนไข 

บทนี้คือบทแจกของ!!!

  • โป้งและก้อยจะได้เล่นเกม Walk Rally สนุกสนาน
  • ได้เรียนรู้การเขียนโปรแกรมแบบมีเงื่อนไข (conditional statement) โดยใช้บัตรคำสั่ง (คำสั่ง if__then__ ใช้บัตรคำสั่งได้ด้วยเหรอ?​)
  • ได้รับของขวัญอีกด้วย! ทั้งของขวัญที่เป็นสิ่งของ และแง่คิดคำสอนจากพ่อแม่
  • ผู้อ่านจะได้สัมผัสวิถีชนบทไทย ที่สอดประสานเข้ากับเทคนิคการสอนแนวคิดเชิงคำนวนที่ไม่เคยปรากฎที่ไหนมาก่อนในโลก

บัตรคำสั่งเป็นเครื่องมือการสอนเขียนโปรแกรมแบบ unplugged (เขียนโปรแกรมโดยไม่ใช้คอมพิวเตอร์) ที่ใช้กันโดยแพร่หลาย แต่ลักษณะของโปรแกรมที่เขียนด้วยบัตรคำสั่งในชั้น ป.1 ล้วนเป็นโปรแกรมที่ตรงไปตรงมา ทำงานตามลำดับเหมือนเดิมทุกครั้ง (sequential statement)  ไม่มีการแตกแขนงตามเงื่อนไข และไม่มีการวนซ้ำ 

ในภาษาเขียนโปรแกรมที่ผู้ใหญ่ใช้กัน คำสั่งที่ควบคุมการทำงานแบบมีเงื่อนไขคือคำสั่ง if _ then _ else _  (แทบทุกภาษามีคำสั่งแบบนี้ แม้ syntax จะต่างกัน แต่แนวคิดเดียวกัน  แม้แต่ภาษา assembly ก็มี JZ = jump if zero, และ JNZ = jump if not zero)  ในภาษาแบบ block programming สำหรับเด็ก เช่น Scratch คำสั่ง if ก็มาในรูปแบบของบล็อกคำสั่งที่ใช้คลุมครอบคำสั่งอื่นๆ  คำถามที่น่าสนใจคือว่า แล้วการเขียนโปรแกรมแบบ unplugged แบบที่ใช้บัตรคำสั่งล่ะ จะกำหนดเงื่อนไขด้วยวิธีใด? 

หากเราใช้บัตรคำสั่งพิเศษ ที่เขียนว่า ถ้า…แล้ว…. เราก็ต้องหาวิธีเขียนเงื่อนไขลงบนบัตรคำสั่ง นอกจากนั้นยังต้องหาวิธีกำหนดว่า กรณีที่เงื่อนไข่เป็นจริง เราจะต้องทำตามคำสั่งใดบ้าง กี่คำสั่ง? หากบัตรคำสั่ง if มีลักษณะเหมือนบัตรคำสั่งทั่วไป เราก็จะไม่รู้เลยว่าคำสั่งที่ตามมาจำนวนกี่คำสั่งถูกกำหนดอยู่ภายใต้เงื่อนไขนี้  และเมื่อมองผ่านๆ อาจเข้าใจว่าโปรแกรมนี้ทำงานแบบตามลำดับ (sequential) ก็ได้  ดังนั้นเราต้องหาทางออกแบบบัตรคำสั่งพิเศษที่มีลักษณะชั้ดเจนว่านี่เป็นโครงสร้างเพื่อควบคุมเงื่อนไขของโปรแกรม (control structure) จะต้องชัดเจนว่าคำสั่งใดบ้างอยู่ภายใต้การควบคุม และจะต้องเขียนระบุเงื่อนไขลงไปได้ 

คำว่า “ต้องเขียน…ลงไปได้” นี่แหละที่เป็น clue ให้พวกเราคิดถึงซองจดหมาย

ทีมผู้เขียน #โป้งก้อยอิ่ม จึงคิดวิธีการนำเสนอบัตรคำสั่งแบบเงื่อนไขขึ้นมาใหม่***  นั่นคือ เราใช้ซองจดหมาย แผ่นกระดาษ และกระดานชนวน  กระดานชนวนจะใช้แทนคำสั่งทั่วไปแบบไม่มีเงื่อนไข  ซองจดหมายจะใช้แทนคำสั่ง if_then_ ซึ่งบนหน้าซองจะเขียนเงื่อนไขเอาไว้  ถ้าเงื่อนไขไม่เป็นความจริงก็ไม่ต้องเปิดซอง และทำตามคำสั่งถัดจากซองนั้นได้เลย  แต่หากเป็นจริงก็เปิดซองและทำตามคำสั่งที่ระบุด้วยบัตรคำสั่งข้างในซอง (จะมีใบเดียวหรือหลายใบก็ได้) บางครั้งบัตรคำสั่งในซองอาจพาเราไปสู่ชุดคำสั่งอื่น (goto หรือ jump) ก็ได้ 

สำหรับบทนี้ ซึ่งเป็นครั้งแรกที่เด็กๆ จะได้สัมผัสกับโปรแกรมที่มีเงื่อนไข ทีมผู้เขียนตัดสินใจว่าจะทำให้ทุกอย่างง่ายที่สุดสำหรับเด็ก เสมือนกับการใส่ “ล้อกันล้ม” ให้กับจักรยาน ด้วยกลยุทธ์ดังนี้

  1. เด็กจะทำตามคำสั่งและเงื่อนไขที่ระบุ เสมือนว่าเด็กจำลองการทำงานของคอมพิวเตอร์ เพื่อให้เข้าใจกลไกการทำงานของ if statement
  2. เด็กยังไม่ต้องเป็นผู้ลงมือเขียนโปรแกรม ไม่ต้องออกแบบเงื่อนไข แต่เป็นผู้ทำตามเงื่อนไขที่คุณพ่อออกแบบไว้  (เด็กจะได้ลงมือเขียนโปรแกรมในบทถัดไป)
  3. คำสั่งในซองจะมีเพียงคำสั่งเดียว
  4. โปรแกรมมีเงื่อนไขเพียงข้อเดียว ไม่มีการใช้เงื่อนไขซ้อนกัน  (แต่ในบทถัดไป เด็กจะได้พบกับโปรแกรมที่มีหลายเงื่อนไขต่อเนื่องกัน)

ในบทนี้ คุณพ่อชวนโป้งและก้อยเล่นเกม “เส้นทางปริศนา” ที่มีลักษณะคล้าย walk rally ที่ต้องวิ่งไปทำภารกิจตามฐานต่างๆ ภารกิจจะเขียนอยู่บนกระดานชนวนที่วางซ้อนกันคล้ายบัตรคำสั่ง แต่จะมีบางคำสั่งที่เขียนไว้ในซอง ผู้เล่นต้องตรวจสอบเงื่อนไขบนซองว่าเป็นจริงหรือไม่ แล้วจึงตัดสินใจว่าจะดำเนินการต่ออย่างไร  ดังนั้นแม้โป้งกับก้อยจะเล่นเกมเดียวกัน ก็อาจต้องวิ่งไปคนละเส้นทาง และได้ผลลัพธ์แตกต่างกัน  ในที่นี้ผลลัพธ์คือของขวัญที่แต่ละคนชื่นชอบ ซึ่งไม่เหมือนกัน 

หัวใจของการสอนคำสั่งเงื่อนไข ไม่ใช่เพียงแค่สอนให้นักเรียนนำเงื่อนไขไปใช้ได้ แต่จะต้องให้เขาได้​ “เห็นแจ้ง” ด้วยว่าเราจะใช้เงื่อนไขไปทำไม? เนื้อเรื่องในบทนี้จะแสดงให้นักเรียนเห็นด้วยตาตนเองว่าประโยชน์ของเงื่อนไขคือการเขียนโปรแกรมให้ทำงานแตกต่างกันไปตามสถานการณ์  เป็นจุดเริ่มต้นเล็กๆ ที่จะนำไปสู่การระเบิดขุมพลังแห่งการเขียนโปรแกรมในอนาคต

ทิ้งท้ายด้วยข้อชวนสังเกตเล็กน้อย [ย่อหน้านี้มี SPOILER!] เกี่ยวกับ “ของขวัญ” ที่พ่อแม่มอบให้กับโป้งก้อยในวันเกิด จะเห็นว่าเป็นของเล็กน้อยเท่านั้น ไม่ใช่ของมีราคาอย่างแทบเล็ตและสมาร์ตโฟน แต่คติสอนใจที่พ่อแม่แฝงลงในคำสั่งบนกระดานชนวนล้วนเป็นสิ่งที่มีคุณค่ากับโป้งและก้อย  ทีมผู้เขียนหวังว่าเด็กๆ จะซึมซับค่านิยมเหล่านี้ไปได้บ้าง ได้แก่

  1. ปลูกฝังความรักเพื่อนมนุษย์ จากการพูดและชูภาษามือว่า I Love You
  2. ปลูกฝังค่านิยมของการออกกำลังกาย จากการร้อง เต้น ขยับร่างกาย
  3. ปลูกฝังความมีน้ำใจ จากการให้อาหารไก่และเจ้าทุย
  4. ปลูกฝังค่านิยมของการฝึกฝน ความพยายาม การพัฒนาตนเองอยู่เสมอ

นี่เป็นของขวัญที่มีค่ามากกว่าสิ่งของที่อยู่ในกล่องเสียอีก 

ผนวกเดช สุวรรณทัต**

6 พฤษภาคม 2562 

ป.ล. 

* จากข้อมูลที่มีอยู่ หนังสือแบบเรียนชุด #โป้งก้อยอิ่ม เป็น หนังสือแบบเรียนฉบับการ์ตูนเล่มแรกของประเทศไทย และน่าจะเป็นหนังสือแบบเรียนฉบับการ์ตูนที่มีเรื่องราวต่อเนื่องหลายชั้นปี เล่มแรกของโลก

** หนังสือเรียนเล่มนี้เขียนกันหลายคน (มีรายชื่อในเว็บไซต์ http://pongkoi.im) ผมเป็นเพียงผู้เขียนคนหนึ่งในหลายๆ คน โดยมี สาขาคอมพิวเตอร์ สสวท. เป็นเจ้าภาพ 

*** เท่าที่เราทราบ ไม่พบว่ามีการใช้วิธีการนี้ในที่ใดมาก่อน หนังสือวิทยาการคำนวณ สสวท. อาจเป็นเล่มแรกในประเทศไทย หรือแม้แต่เล่มแรกในโลกที่สอนการเขียนโปรแกรมแบบมีเงื่อนไขโดยใช้ซองจดหมายและบัตรคำสั่ง  ทั้งนี้หากท่านทราบว่ามีแหล่งอื่นที่เคยใช้วิธีนี้มาก่อน โปรดแจ้งให้เราทราบด้วย จักขอบคุณยิ่ง และจะให้เครดิตกับผู้ที่คิดเป็นคนแรกอย่างเหมาะสมต่อไป 

====

ที่มาของภาพ: 

หนังสือเรียนรายวิชาพื้นฐานวิทยาศาสตร์ เทคโนโลยี (วิทยาการคำนวณ) ชั้นประถมศึกษาปีที่ 2 และ 5
ตามมาตรฐานการเรียนรู้และตัวชี้วัด
กลุ่มสาระการเรียนรู้วิทยาศาสตร์ (ฉบับปรับปรุง พ.ศ. 2560)
ตามหลักสูตรแกนกลางการศึกษาขั้นพื้นฐาน พุทธศักราช 2551
โดย สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี (สสวท.) 

ซื้อได้จากร้านศึกษาภัณฑ์พาณิชย์ออนไลน์ หรือช่องทางอื่นๆ ที่เขียนในเว็บไซต์นี้ 

ซื้อหนังสือได้ที่: 
pongkoiim.com/buy

แล้วบทอื่นล่ะ สอนอะไร? อ่านโครงสร้างเนื้อหา ป.2 ทุกบท ได้ที่ https://www.pongkoiim.com/go/?p=52