กลับหน้าหน่วย
หน่วยที่ 2 การออกแบบและเขียนโปรแกรมอย่างง่าย

เรื่องที่ 1 วิเคราะห์ปัญหาก่อนเขียนโปรแกรม

ระบุเป้าหมาย ข้อมูลนำเข้า การประมวลผล และผลลัพธ์ของโปรแกรม

เนื้อหาบทเรียน

เรื่องที่ 1 วิเคราะห์ปัญหาก่อนเขียนโปรแกรม

ระบุเป้าหมาย ข้อมูลนำเข้า การประมวลผล และผลลัพธ์ของโปรแกรม

เป้าหมายการเรียนรู้

นักเรียนวิเคราะห์ปัญหาก่อนเขียนโปรแกรม โดยระบุเป้าหมาย ข้อมูลนำเข้า ขั้นตอนการประมวลผล และผลลัพธ์ที่ต้องการได้

ภาพรวมของเรื่อง

การเขียนโปรแกรมที่ดีไม่ได้เริ่มจากการลากบล็อกหรือพิมพ์คำสั่งทันที แต่เริ่มจากการเข้าใจปัญหา ถ้านักเรียนรู้ว่าโปรแกรมต้องทำอะไร รับข้อมูลอะไร คิดอย่างไร และแสดงผลอะไร การเขียนโปรแกรมจะง่ายขึ้น แก้ไขง่ายขึ้น และตรวจสอบได้ชัดเจนขึ้น

แนวคิดสำคัญที่ต้องเข้าใจ

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

ขั้นตอนการเรียนรู้และลงมือทำ

1. เขียนชื่อปัญหาหรือภารกิจของโปรแกรมเป็นประโยคสั้น ๆ
2. ระบุผู้ใช้โปรแกรม เช่น นักเรียน ผู้เล่น ครู หรือกลุ่มเพื่อน
3. เขียนเป้าหมายของโปรแกรมว่าต้องช่วยผู้ใช้อย่างไร
4. แยกข้อมูลนำเข้า การประมวลผล และผลลัพธ์ลงในตาราง IPO
5. ตรวจว่าขั้นตอนที่คิดไว้ตอบเป้าหมายจริงหรือไม่ ก่อนเริ่มเขียนโค้ด

ตัวอย่างในห้องเรียน

โปรแกรม Quiz Master มีเป้าหมายให้ผู้เล่นตอบคำถามและรู้คะแนนของตนเอง ข้อมูลนำเข้าคือคำตอบที่ผู้เล่นเลือก การประมวลผลคือเปรียบเทียบคำตอบกับคำตอบที่ถูกและเพิ่มคะแนน ผลลัพธ์คือข้อความว่าถูกหรือผิด คะแนนรวม และคำแนะนำให้ทบทวนเมื่อคะแนนยังน้อย

ข้อควรระวังและความเข้าใจผิดที่พบบ่อย

  • อย่าเริ่มเขียนคำสั่งโดยยังไม่รู้เป้าหมาย เพราะโปรแกรมอาจทำงานสะเปะสะปะ
  • อย่าคิดเฉพาะหน้าตาโปรแกรม แต่ต้องคิดด้วยว่าโปรแกรมรับข้อมูลและประมวลผลอย่างไร
  • ข้อมูลนำเข้าต้องสอดคล้องกับผลลัพธ์ เช่น ถ้าต้องคำนวณคะแนน ต้องมีข้อมูลคำตอบหรือจำนวนข้อถูก
  • โปรแกรมขนาดเล็กก็ควรวิเคราะห์ก่อน เพราะช่วยฝึกนิสัยการออกแบบที่ดี

กิจกรรมฝึกคิดระหว่างเรียน

ให้นักเรียนเลือกโปรแกรมที่อยากสร้าง 1 โปรแกรม เช่น เกมทายคำศัพท์ โปรแกรมจับเวลาอ่านหนังสือ หรือโปรแกรมสุ่มโจทย์ แล้วเขียนตาราง IPO พร้อมอธิบายเป้าหมายของโปรแกรมให้เพื่อนฟัง

แนวทางจัดการเรียนรู้สำหรับครู

  • ช่วงนำเข้าสู่บทเรียน: ใช้คำถามหรือสถานการณ์ใกล้ตัวของนักเรียนก่อน เช่น งานในห้องเรียน การใช้คอมพิวเตอร์ การค้นข้อมูล หรือการส่งใบงาน เพื่อให้นักเรียนเห็นว่าความรู้นี้เกี่ยวข้องกับชีวิตจริง
  • ช่วงสาธิต: ครูทำตัวอย่างให้ดูทีละขั้นบนกระดานหรือหน้าจอ โดยพูดให้ชัดว่ากำลังคิดอะไร ใช้ข้อมูลใด ตัดสินใจจากเงื่อนไขใด และตรวจคำตอบอย่างไร
  • ช่วงลงมือปฏิบัติ: ให้นักเรียนทำงานเป็นคู่หรือกลุ่มเล็ก แบ่งหน้าที่เป็นผู้อ่านโจทย์ ผู้บันทึก ผู้ตรวจสอบ และผู้นำเสนอ เพื่อฝึกทั้งทักษะคิดและทักษะสื่อสาร
  • ช่วงสะท้อนผล: ให้แต่ละกลุ่มบอกสิ่งที่ทำได้ดี จุดที่ยังสับสน และวิธีที่จะแก้ไขครั้งต่อไป ครูควรเน้นเหตุผลมากกว่าคำตอบสั้น ๆ

เกณฑ์สังเกตความเข้าใจ

  • ระดับเริ่มต้น: นักเรียนบอกคำสำคัญของเรื่องได้บางส่วน แต่ยังต้องอาศัยคำถามนำจากครูในการอธิบายเหตุผลหรือเลือกวิธีทำ
  • ระดับกำลังพัฒนา: นักเรียนทำตามขั้นตอนได้ ยกตัวอย่างใกล้ตัวได้ และเริ่มอธิบายได้ว่าทำไมจึงเลือกคำตอบหรือวิธีนั้น
  • ระดับทำได้ดี: นักเรียนอธิบายแนวคิดด้วยคำของตนเอง ใช้เครื่องมือหรือขั้นตอนอย่างเหมาะสม ตรวจงานตนเองได้ และช่วยอธิบายให้เพื่อนได้
  • หลักฐานที่ควรดู: คำอธิบายในใบงาน วิธีคิดระหว่างทำกิจกรรม การตอบคำถามอภิปราย และความสามารถในการแก้ไขงานหลังได้รับข้อเสนอแนะ

คำถามชวนอภิปราย

  • ถ้าโปรแกรมไม่มีเป้าหมายชัดเจน จะเกิดปัญหาอะไรตอนเขียนโค้ด
  • ข้อมูลนำเข้ากับผลลัพธ์สัมพันธ์กันอย่างไร
  • โปรแกรมหนึ่งโปรแกรมอาจมีผลลัพธ์มากกว่าหนึ่งอย่างได้หรือไม่

ชิ้นงานหรือหลักฐานการเรียนรู้

ตารางวิเคราะห์โปรแกรมที่มีช่องเป้าหมาย ผู้ใช้ ข้อมูลนำเข้า การประมวลผล ผลลัพธ์ และภาพร่างหน้าจออย่างง่าย

สรุปจำง่าย

ก่อนเขียนโปรแกรมต้องรู้ก่อนว่าโปรแกรมแก้ปัญหาอะไร รับข้อมูลอะไร คิดอย่างไร และแสดงผลอะไร ตาราง IPO เป็นเครื่องมือสำคัญที่ช่วยให้นักเรียนออกแบบโปรแกรมอย่างเป็นระบบ