ทำ PowerPoint ด้วย Scratch

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

Scratch4Kidโปรเจกนี้มีตัวละคร 2 ตัวเป็นปุ่มลูกศรซ้ายขวา คลิกปุ่มขวาเพื่อเลื่อนสไลด์ไปข้างหน้า คลิกปุ่มซ้ายเพื่อเลื่อนสไลด์ถอยหลัง นอกจากนั้นยังใช้การกดคีย์ลูกศรซ้ายขวาบนคีย์บอร์ด ให้ทำงานเหมือนกับการคลิกปุ่มบนเวทีได้ด้วย ก่อนจะเปลื่ยนสไลด์ไม่ว่าด้วยวิธีใด ปุ่มลูกศรบนเวทีจะแสดงแอนิเมชั่นสั้นๆ ส่วนตัวสไลด์เป็นภาพฉากหลังของเวที เมื่อเวทีได้รับรหัส “next page” ก็จะเปลี่ยนฉากหลังถัดไป ถ้ารับรหัส “previous page” ก็จะเปลี่ยนฉากหลังก่อนหน้านี้

อัลกอริธึม (algorithm)

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

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

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

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

แก้ไขโปรเจกที่แชร์ในเว็บไซต์ Scratch

สำหรับคนที่ได้สร้างโปรเจก Scratch แล้วแชร์โปรเจกนั้นในเว็บไซต์ scratch.mit.edu เมื่อต้องการแก้ไข ปรับปรุงโปรเจกที่ได้แชร์ไปแล้ว สามารถทำได้ง่ายๆ เพียงปรับปรุงโปรเจกด้วยโปรแกรม Scratch ในเครื่องของตัวเองตามที่ต้องการ แล้วทำการแชร์อีกครั้งด้วย ชื่อเดิม เท่านั้นเอง แต่ถ้าต้องการแชร์โปรเจกเดิม ในเวอร์ชั่นใหม่ ให้แก้ไขชื่อใหม่ อาจใช้ตัวเลขต่อท้าย เพื่อสื่อถึงโปรเจกเดิมแต่เป็นเวอร์ชั่นใหม่

Ant Sim

หลังจากโปรเจก Delicious Fish คราวนี้ขอแนะนำโปรเจก Ant Sim เป็นโปรเจกใหม่ของผม ลองเข้าไปเล่นในเว็บไซต์ Scratch หรือ ดาวน์โหลดไปเล่นที่เครื่องก็ได้ แนะนำติชมด้วย ยิ่งดีครับ

Scratch Project

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

BYOB

เราเรียนรู้ Scratch มาระดับหนึ่งแล้ว บางคนเห็นศักยภาพของมันในการส่งเสริมให้เด็กๆ เรียนรู้การเขียนโปรแกรม บางคนสงสัยว่าเด็กระดับไหนเหมาะกับโปรแกรม Scratch อันที่จริงเหมาะกับเด็กทุกระดับ แม้กระทั่งผู้ใหญ่ ที่ไม่มีประสบการณ์การเขียนโปรแกรมมาก่อน ก็สามารถใช้โปรแกรมนี้ได้ไม่ยาก โปรเจกใน Scratch เน้นการใช้สื่อชนิดต่างๆ ไม่ว่าจะเป็น ภาพ เสียง หรือ แอนิเมชั่น ฯลฯ ทำให้ผู้เรียนไม่เบื่อ อย่างไรก็ตาม กลุ่มเป้าหมายของ Scratch น่าจะเป็นเด็กประถมปลาย (ป.4-ป.6) ไปถึงมัธยมต้น (ม.1-ม.3)

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

ด้วยเหตุนี้ จึงมีกลุ่มนักวิจัยในมหาวิทยาลัย California Berkeley สร้างโปรเจก BYOB (build your own blocks) หรือ Snap ซึ่งเป็นโปรเจกต่อยอดจาก Scratch ให้มีความสามารถด้านการเขียนโปรแกรมสูงขึ้น โปรเจกที่ว่านี้มีตัวการ์ตูนชื่อ Alonzo เป็นสัญลักษณ์ ถ้าอยากทดลองดูแล้ว สามารถดาวน์โหลด BYOB ได้ที่ http://byob.berkeley.edu