Scratch คือ ภาษาเขียนโค้ดสำหรับเด็กในรูปแบบ Block-based language ที่สามารถป้อนคำสั่งได้ในรูปแบบของบล็อกคำสั่ง (Block Programming) โดยการป้อนคำสั่ง (Coding) นั้นจะต้องนำบล็อกคำสั่งไปจัดเรียงอย่างเป็นไปตามลำดับขั้นตอน (Sequential)
Scratch หรือ สแครช ถูกพัฒนาขึ้นโดยสถาบัน MIT (The Massachusetts Institute of Technology) เพื่อจุดประสงค์ในการเรียนรู้โค้ดดิ้งได้ตั้งแต่วัยเด็ก ที่ใช้แนวคิดการเขียนโปรแกรมคอมพิวเตอร์ในรูปแบบกราฟิกโดยนำ Blockly ซึ่งเป็นผลิตภัณฑ์ในส่วนของ Google Education ของบริษัทกูเกิลมาพัฒนาชุดคำสั่งในโปรแกรม Scratch
MIT (The Massachusetts Institute of Technology) คือ มหาวิทยาลัยเอกชนในเมืองเคมบริดจ์ รัฐแมสซาชูเซตส์ ประเทศสหรัฐอเมริกา เป็นมหาวิทยาลัยที่เข้ายากที่สุดแห่งหนึ่งในประเทศสหรัฐอเมริกา มีชื่อเสียงมานานในเรื่องงานวิจัยและการศึกษาในสาขาเคมี ฟิสิกส์ เทคโนโลยีและคอมพิวเตอร์ รวมไปถึงวิศวกรรมศาสตร์สาขาต่าง ๆ ต่อมาเริ่มมีชื่อเสียงมากขึ้นในสาขาชีววิทยา เศรษฐศาสตร์ ภาษาศาสตร์ และการจัดการ โดยมหาวิทยาลัยนี้ตั้งขึ้นในปี ค.ศ. 1861 จัดการสอนโดยเน้นการศึกษาในห้องปฏิบัติการ และเน้นเรื่องเทคโนโลยีประยุกต์ในระดับปริญญาตรีและระดับบัณฑิตศึกษา
โปรแกรม Scratch ใช้งานโดยการลากแล้ววางโดยที่ผู้ใช้ไม่ต้องพิมพ์คำสั่งใหม่ทั้งหมดจึงช่วยลดข้อผิดพลาดในการพิมพ์ ส่งผลให้เด็ก ๆ สามารถเรียนรู้และทำความเข้าใจได้ง่าย เกิดความสนุกสนานในการเรียนรู้ พร้อมทั้งเสริมสร้างแนวคิดทางวิทยาการคำนวณ ความคิดสร้างสรรค์ การคิดอย่างเป็นระบบ และการคิดโดยใช้หลักเหตุผล
นอกจากนี้โปรแกรม Scratch ยังมีบล็อกที่ช่วยควบคุมการทำงานแบบมีเงื่อนไขและทำซ้ำสำหรับคำสั่งที่มีความซับซ้อน โดยผู้ใช้สามารถกำหนดเงื่อนไขเพิ่มเติมลงในโครงสร้างของบล็อกคำสั่งเหล่านี้ได้ เพื่อนำไปเชื่อมโยงกับประสบการณ์ในการทำกิจกรรมการเรียนรู้ในรูปแบบโครงงาน (Project-Based Learning) หรือกิจกรรมการเรียนรู้แบบใช้ปัญหาเป็นฐาน (Problem-Based Learning)
โปรแกรม Scratch (สแครช) เป็นโปรแกรมภาษาคอมพิวเตอร์ ที่ออกแบบให้ผู้ใช้สามารถสร้างชิ้นงานขึ้นมาได้โดยง่าย เมื่อสร้างเป็นชิ้นงานเสร็จแล้ว ผู้สร้างยังสามารถนำชิ้นงานที่สร้างสรรค์เสร็จสมบูรณ์นี้ ไปแสดง และแลกเปลี่ยนความคิดเห็นร่วมกับผู้อื่นบนเว็บไซต์ได้อีกด้วย ทำให้ผู้ใช้ได้เรียนรู้หลักการทางคณิตศาสตร์ และแนวคิดการเขียนโปรแกรมไปพร้อม ๆ กับการคิดอย่างสร้างสรรค์ ที่อาศัยหลักเหตุผลและเป็นระบบ ให้เกิดการทำงานร่วมกัน นอกจากนี้ยังเป็นการเสริมสร้างทักษะการแก้ไขปัญหาและทักษะการคิดเชิงคำนวณอีกด้วย
เราจะพาไปทำความรู้จัก โปรแกรม Scratch และส่วนประกอบหลักของโปรแกรม Scratch โดยในหน้าต่างการทำงาน มีดังนี้
หมายเลข 1 คือ Code หมวดหมู่บล็อกโค้ดคำสั่งหรือสคริปต์ (Script) ที่ภายในถูกบรรจุคำสั่งย่อย ๆ เอาไว้สำหรับป้อนคำสั่งแก่ตัวละครหรือฉากพื้นหลัง เพื่อสั่งให้ตัวละครหรือฉากทำงานตามวัตถุประสงค์ที่ต้องการ โดยการเลือกสคริปต์จากกลุ่มบล็อกและนำไปจัดเรียงตามลำดับ ซึ่งสคริปต์ในโปรแกรม Scratch แบ่งตามหมวดหมู่เป็น 9 กลุ่ม เพื่อความสะดวกในการใช้งาน ดังนี้
Motion สคริปต์สั่งการใน Scratch เพื่อควบคุมการเคลื่อนไหว เช่น เคลื่อนที่ไปข้างหน้า หันไปทางซ้ายหรือขวา เคลื่อนที่ลงข้างล่าง เป็นต้น
Looks สคริปต์สั่งการใน Scratch ที่เกี่ยวกับการแสดงของตัวละคร เช่น การเปลี่ยนขนาดและรูปลักษณ์ การพูดหรือการคิดผ่านกล่องข้อความ เป็นต้น
Sound สคริปต์สั่งการใน Scratch ที่เกี่ยวกับการแสดงเสียง ซาวน์เอฟเฟคต่าง ๆ ซึ่งผู้สร้างสามารถสร้างเสียงเหล่านั้นได้เองอีกด้วย
Events สคริปต์สั่งการใน Scratch ที่เป็นคำสั่งเช็คเหตุการณ์ที่เกิดขึ้น เช่น เหตุการณ์ตามคำสั่งจะเริ่มขึ้นหรือสิ้นสุดลงเมื่อกดปุ่ม เป็นต้น
Control สคริปต์สั่งการใน Scratch ที่ควบคุมคำสั่งตามเงื่อนไขต่าง ๆ ให้โปรเจกต์ที่สร้างไปในทิศทางที่ต้องการ เช่น การวนซ้ำ การเขียนโปรแกรมแบบมีหลายทางเลือก เป็นต้น
Sensing สคริปต์สั่งการใน Scratch ที่เกี่ยวกับการรับค่าต่าง ๆ รวมไปถึงการตรวจจับเหตุการณ์ที่ตัวละครกำลังดำเนินว่าเป็นไปตามเงื่อนไขที่ได้ป้อนคำสั่งไว้หรือไม่ ยกตัวอย่างเช่น การสัมผัสกับขอบ การคลิกเมาส์ การจับเวลา เป็นต้น
Operators สคริปต์สั่งการใน Scratch ที่ใช้ในการคำนวณทางคณิตศาสตร์ เช่น การเปรียบเทียบค่าตัวเลข การบวก การลบ การคูณ การหาร เป็นต้น
Variable สคริปต์สั่งการใน Scratch ที่เกี่ยวกับการสร้างค่าตัวแปรต่าง ๆ
My block สคริปต์สั่งการใน Scratch ที่ใช้เพื่อสร้างหรือกำหนดค่าคำสั่งขึ้นมาใช้เอง
หมายเลข 2 คือ Costumes เมนูเพื่อใช้สำหรับปรับแต่งแก้ไขตัวละครหรือพื้นหลังที่เราเลือก และยังเป็นเมนูที่ช่วยให้เราสามารถสร้างตัวละครขึ้นมาเอง โดยในเมนูนี้ก็จะมีเครื่องมือวาดรูปต่าง ๆ สำหรับใช้สร้างหรือปรับแต่งตัวละคร
หมายเลข 3 คือ Sounds เมนูที่มีเครื่องมือที่ใช้จัดการเกี่ยวกับเสียง เช่น การปรับแต่งเสียง การบันทึกเสียง การลบ การตัดเสียง เป็นต้น
หมายเลข 4 คือ พื้นที่ในการวางบล็อกคำสั่งที่เป็นการป้อนคำสั่ง (Coding) ให้กับตัวละครหรือภาพพื้นหลังนั่นเอง
หมายเลข 5 คือ ปุ่มสั่งให้โปรแกรมหรือคำสั่งที่ได้สร้างไว้เริ่มทำงาน (รูปธงสีเขียว) และปุ่มสั่งให้โปรแกรมหยุดทำงาน (รูปวงกลมสีแดง) เพื่อเช็คการทำงานของโปรเจกต์ที่กำลังสร้างในขณะการวางคำสั่งเพื่อตรวจเช็คว่าเราได้ป้อนคำสั่งโดยใส่เงื่อนไขและวางลำดับขั้นตอนได้ถูกต้องตามจุดประสงค์หรือไม่หมายเลข 6 คือ เวทีแสดงผล ที่จะแสดงผลต่าง ๆ ออกมาเมื่อเรากดปุ่มรูปธงสีเขียวในส่วนประกอบ หมายเลข 5
หมายเลข 7 คือ Extension ส่วนสคริปต์เสริมเพื่อใช้ป้อนคำสั่งเฉพาะด้านอย่าง Pen หรือ คำสั่งที่ใช้ร่วมกับ Micro : Bit เป็นต้น
หมายเลข 8 คือ เมนูปุ่มย่อ ขยาย กึ่งกลางพื้นที่วางบล็อกคำสั่งในโปรแกรม Scratch ซึ่งมีประโยชน์มากเมื่อเราสร้างโปรเจกต์ที่มีความซับซ้อนที่ต้องวางบล็อกคำสั่งและเงื่อนไขหลาย ๆ บล็อกจนเต็มพื้นที่ เราสามารถกดย่อขนาดเพื่อให้เห็นภาพรวมของคำสั่งได้
หมายเลข 9 คือ ตัวละคร (sprite) ที่เราสามารถจัดการในส่วนของตัวละครได้ เช่น การตั้งชื่อ/เปลี่ยนชื่อ ปรับขนาด การแสดง/ซ่อนตัวละคร รวมถึงการนำเข้ามายังโปรเจกต์ที่เราสร้างใน โปรแกรม Scratch
หมายเลข 10 คือ Stage เมนูสำหรับเพิ่มพื้นหลังเข้ามาสำหรับใช้ทำโปรเจกต์ ซึ่งอาจมาจาก โปรแกรม Scratch ที่มีไว้ให้ หรือจากแหล่งอื่นก็ได้
หมายเลข 11 คือ ส่วนการแสดงผล สำหรับแสดงผลแบบเต็มหน้าจอ การแบ่งส่วนหน้าจอ