ตอนเด็ก ๆ เราคงจะเคยเล่นเกมบันไดงูหรือเกมเศรษฐีกันใช่ไหมละคะ ที่คล้ายกับกระดานบอร์ดเกมในปัจจุบัน ที่จะมีกระดานหรือแผนที่ไว้สำหรับกำหนดการเดินทาง ตัวเล่น ลูกเต๋า และอุปกรณ์อื่น ๆ โดยวิธีเล่น คือ ให้ผู้เล่นทอยลูกเต๋า จากนั้นเดินไปตามแผนที่ตามจำนวนลูกเต๋าที่ทอยได้ หากช่องที่หยุดมีคำสั่งก็ต้องทำตามคำสั่งนั้น ๆ และเมื่อเดินไปถึงเส้นชัยก็เปรียบเสมือนได้ปฏิบัติภารกิจสำเร็จ
เกมบันไดงู
เกมกระดานที่เรากล่าวไปข้างต้นก็เปรียบเสมือนหุ่นยนต์หรืออุปกรณ์อำนวยความสะดวกในปัจจุบัน เช่น ประตูอัตโนมัติ, เครื่องซักผ้าอัตโนมัติ, เครื่องซื้อตั๋วรถไฟฟ้า หรือตู้ซื้อเครื่องดื่ม ก็ล้วนแล้วแต่ปฏิบัติตามคำสั่งที่ถูกป้อนไว้ในบอร์ดควบคุม ซึ่งการที่เราจะป้อนคำสั่งให้กับบอร์ดควบคุมได้นั้น ก็ต้องมาจากการเขียนโปรแกรม เริ่มจากวิเคราะห์ปัญหาหรือความต้องการที่เราอยากจะได้ จากนั้นก็จะดำเนินการออกแบบกระบวนการที่จะใช้ในการแก้ปัญหาอย่างเป็นขั้นเป็นตอน ต่อมาก็จะเขียนโปรแกรม ทดลองโปรแกรม แก้ไขคำสั่งโปรแกรม ทดลองอีกครั้ง แก้ไขและทดลองไปเรื่อย ๆ จนกว่าจะได้คำสั่งโปรแกรมตามที่ต้องการ
อุปกรณ์อำนวยความสะดวก
การเขียนโปรแกรมในปัจจุบันมีหลากหลายภาษา เช่น ภาษา C, Java, C#, Python เป็นต้น ซึ่งจะแตกต่างกันที่ความยากง่ายและคำสั่งที่ใช้สั่งการทำงาน แต่สิ่งที่เหมือนกันก็คือโครงสร้างควบคุมหลัก ซึ่งมี 3 แบบ ดังนี้
- โครงสร้างแบบลำดับ (Sequential Structure) หมายถึง โครงสร้างที่แสดงขั้นตอนการทำงานเป็นไปตามลำดับก่อนหลัง
- โครงสร้างแบบมีทางเลือก (Selection Structure) หมายถึง โครงสร้างที่มีเงื่อนไข ขั้นตอนการทำงานบางขั้นตอนต้องมีการตัดสินใจ
- โครงสร้างแบบทำซ้ำ (Repetition Structure) หมายถึง โครงสร้างที่ขั้นตอนการทำงานบางขั้นตอนได้รับการประมวลผลมากกว่า 1 ครั้ง
ซึ่งก่อนที่เราจะเขียนโปรแกรมด้วยซอฟต์แวร์ในคอมพิวเตอร์ เราต้องออกแบบโปรแกรมด้วยการเขียนข้อความและผังงานในรูปแบบข้างต้นให้ชำนาญก่อน เพื่อฝึกทักษะการเรียงลำดับก่อนหลัง, การหาวิธีแก้ปัญหา, การคิดอย่างเป็นระบบ เป็นขั้นเป็นตอน จากนั้นจึงจะนำไปเขียนโปรแกรมจริง
ภาษา C, Java หรือ Python เหล่านี้ เป็นการเขียนโปรแกรมในรูปแบบข้อความ ซึ่งจะยากเกินไปสำหรับเด็กหรือผู้เริ่มต้นที่ยังไม่มีความรู้เกี่ยวกับการเขียนโปรแกรม ดังนั้นจึงได้มีการคิดค้นวิธีการเขียนโปรแกรมที่มีความง่ายยิ่งขึ้น นั่นก็คือ Block programming ที่มีลักษณะเหมือนการต่อจิ๊กซอว์หรือเลโก้ โดยแยกบล็อกคำสั่งในหมวดหมู่ต่าง ๆ ด้วยสีสันของบล็อกที่แตกต่างกัน เพื่อให้ผู้เรียนฝึกทักษะการแก้โจทย์ปัญหา โดยไม่ต้องพะวงกับภาษาโปรแกรมที่ซับซ้อน ให้การเขียนโปรแกรมเต็มไปด้วยความสนุกสนานมากยิ่งขึ้น จนเมื่อผู้เรียนมีความเข้าใจเกี่ยวกับลำดับการเขียนโปรแกรม, โครงสร้าง หรือคำสั่งที่จะเรียกใช้อุปกรณ์แต่ละตัว ตลอดจนเข้าใจวิธีการแก้ปัญหา ก็จะสามารถเปลี่ยนไปเขียนโปรแกรมด้วยภาษาอื่น ๆ ที่มีความยากและซับซ้อนมากยิ่งขึ้นได้
กล่าวได้ว่า Block programming เป็นรูปแบบการเขียนโปรแกรมที่เหมาะสำหรับเด็กระดับประถมศึกษาไปจนถึงระดับมัธยมศึกษา หรือผู้ที่ต้องการเริ่มต้นเขียนโปรแกรม ซึ่งในปัจจุบันมีหลากหลายซอฟต์แวร์ที่สามารถเขียนโปรแกรมในรูปแบบ Block programming ได้
การเขียนโปรแกรมแบบข้อความ การเขียนโปรแกรมแบบบล็อก
ซอฟต์แวร์ที่เราจะแนะนำ คือ MyQode เป็นซอฟต์แวร์ที่ผลิตและพัฒนาจากบริษัท Robobloq ประเทศจีน ซึ่งนอกจากจะเขียนโปรแกรมในรูปแบบ Block เพื่อสร้างตัวละคร, เกมส์, อนิเมชั่น หรืออื่น ๆ แล้ว ยังสามารถเชื่อมต่อเข้ากับบอร์ดที่สามารถเขียนโปรแกรมให้บอร์ดทำตามคำสั่งได้ เช่น แสดงเวลา, จับเวลา, ตรวจวัดอุณหภูมิโดยรอบ, ตรวจจับแสงหรือเสียง ซึ่งเป็นประโยชน์มาก เพราะเราสามารถประยุกต์บอร์ดให้ทำงานหรือแก้ปัญหาต่าง ๆ ที่เราต้องการได้ เพียงแค่เชื่อมต่อบอร์ดเข้ากับเซนเซอร์ที่ต้องการ จากนั้นออกแบบและเขียนโปรแกรมป้อนคำสั่งเข้าสู่บอร์ด เพียงเท่านี้เราก็สามารถสร้างสิ่งประดิษฐ์หรือสิ่งที่มีประโยชน์ต่อโลกได้แล้ว
นอกจากนี้ซอฟต์แวร์ MyQode ยังสามารถแปลงจาก Block programming เป็นภาษา C ของ Arduino ทั้งยังสามารถเขียนภาษา Python และป้อนคำสั่งโปรแกรมเข้าสู่บอร์ดได้อีกด้วย เรียกได้ว่าในซอฟต์แวร์ MyQode เพียงซอฟต์แวร์เดียวสามารถเรียนรู้การเขียนโปรแกรมได้ทั้ง 3 รูปแบบ คือ Block programming, ภาษา C ของ Arduino และภาษา Python
ซอฟต์แวร์ MyQode ใช้งานร่วมกับบอร์ดควบคุม