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

โปรแกรมนี้มีชื่อว่า FET (Flexible Educational Timetabling) เป็นโปรแกรมที่ใช้ในการจัดตารางเรียนหรือตารางสอนในสถาบันการศึกษา เช่น โรงเรียนหรือมหาวิทยาลัย โดยใช้อัลกอริทึม (Algorithm) เพื่อให้การจัดเวลาเรียนและสอนเป็นไปอย่างเหมาะสม ซึ่งโปรแกรมนี้เป็นโปรแกรมแบบ Open-source ที่ได้รับการพัฒนามาอย่างต่อเนื่องและมีประสิทธิภาพมากขึ้นเรื่อยๆ สามารถช่วยในการจัดตารางเรียนเพื่อลดการทับซ้อนของวิชาที่เรียนหรือสอนในช่วงเวลาเดียวกัน และให้การใช้ทรัพยากรอื่น ๆ อย่างห้องเรียนและครูอาจารย์ให้มีประสิทธิภาพมากขึ้นเช่นกัน แม้โปรแกรมนี้จะยังไม่รองรับภาษาไทยทำให้ยังไม่เป็นที่แพร่หลายมากนักในประเทศไทย แต่ทางนักพัฒนาเองก็ได้ปรับปรุงให้มีทั้งเวอร์ชั่นที่สามารถรันบน Windows และ MacOS ได้แล้ว ตามลิ้งค์ที่กระผมแนบไว้
โปรแกรม FET (Flexible Educational Timetabling) เป็นเครื่องมือที่ถูกออกแบบมาเพื่อช่วยในการจัดตารางสอนหรือตารางเรียนในสถาบันการศึกษา เช่น โรงเรียนหรือมหาวิทยาลัย โดยมีลักษณะการทำงานแบบเขตความจำกัด (constraint-based) เพื่อให้ตารางสอนเป็นไปตามข้อกำหนดและจำกัดของสถาบันการศึกษา มีรายละเอียดดังนี้
- จัดตารางเรียน: FET ช่วยในการจัดตารางเรียนของนักเรียนหรือนักศึกษา โดยคำนึงถึงข้อมูลเช่น วิชาที่ต้องสอน, ครูที่สอน, ห้องเรียนที่ใช้, และเวลาที่เหมาะสม โปรแกรมจะพยายามจัดตารางที่เหมาะสมที่สุดในแง่ของข้อกำหนดและจำกัดต่าง ๆ เช่น ไม่ให้วิชาทับซ้อนหรือการสอนมีช่วงเวลาว่างของอาจารย์มาก
- การกำหนดเงื่อนไขและข้อจำกัด: ผู้ใช้สามารถกำหนดข้อกำหนดและจำกัดต่าง ๆ ในการจัดตาราง เช่น กำหนดว่าวิชาใดต้องสอนในวันหรือเวลาใด, หรือระบุวันหยุดที่ต้องไม่สอน เพื่อให้ FET จัดตารางออกมาในรูปแบบที่ตรงตามความต้องการของสถาบันการศึกษา
- การแก้ปัญหา: FET มีความสามารถในการแก้ปัญหาที่เกิดขึ้นในการจัดตาราง เช่น การจัดตารางที่มีข้อขัดแย้ง โดยพยายามปรับแก้และจัดตารางใหม่ให้เหมาะสม
- การสร้างรายงาน: โปรแกรมนี้ยังสามารถสร้างรายงานเกี่ยวกับตารางสอน เช่น รายงานการใช้ทรัพยากรห้องเรียนหรือรายงานการสอนของอาจารย์ต่าง ๆ ซึ่งมีประโยชน์ในการวิเคราะห์และปรับปรุงการจัดตารางต่อไป
การใช้โปรแกรมจัดตารางสอน FET เพื่อจัดตารางสอนนั้น กระผมได้แปลไทยไว้อย่างคร่าวๆ เพื่อความสะดวกแก่ผู้ที่สนใจได้ลองใช้ตามได้เลย โดยมีขั้นตอนดังนี้:
- การติดตั้งและเปิดโปรแกรม:

2. การเริ่มต้นโปรเจ็คต์ใหม่:
- เมื่อคุณเปิดโปรแกรม FET ครั้งแรก คุณจะต้องกด New (สร้างโปรเจ็คต์ใหม่)โดยระบุข้อมูลพื้นฐาน เช่น ชื่อโรงเรียน, วันหยุด, เวลาเริ่มต้นและสิ้นสุดของวันเรียน, ห้องเรียน, และข้อมูลครูผู้สอน

3. กำหนดเงื่อนไขและข้อจำกัด:


- กำหนดข้อกำหนดของการจัดตาราง เช่น ระบุวิชาที่ต้องสอน, อาจารย์ที่สอน, ห้องเรียนที่ใช้, เวลาที่ไม่สามารถสอน, และข้อกำหนดเพิ่มเติมตามความต้องการของโรงเรียน ตัวอย่างเช่นการเลือกให้วิชาหลัก เช่น คณิตศาสตร์ วิทยาศาสตร์ ภาษาอังกฤษอยู่ในช่วงเช้าหรือคาบแรกๆ และให้วิชาเสริม เช่น สังคม สุขศึกษา ศิลปะ อยู่ในช่วงคาบบ่าย เป็นต้น รวมถึงการกำหนดจำนวนชั่วโมงสอนขั้นต่ำหรือติดกันสูงสุดสำหรับครูแต่ละวันก็สามารถทำได้เช่นกัน
4. การเลือกวิชาและอาจารย์:


- เลือกเมนู Data > Advanced > Activity planning แล้วเลือกวิชาที่ต้องการจัดตารางโดยระบุชื่อวิชา และจำนวนชั่วโมงที่ต้องสอนแต่ละวิชา
- และเลือกอาจารย์ที่สอนแต่ละวิชา
5. การจัดตาราง:


- กดเมนู Timetable แล้วกดปุ่ม “Generate (สร้างตาราง)” เพื่อให้โปรแกรม FET สร้างตารางสอน โปรแกรมจะพยายามจัดตารางโดยใช้ข้อมูลที่คุณระบุและปรับแก้ตามข้อกำหนดและจำกัด
6. การปรับแต่งตาราง:
- หากตารางที่โปรแกรมสร้างมี Constraints (ข้อขัดแย้ง) หรือไม่ถูกต้องตามความต้องการ ซึ่งมักจะเกิดขึ้นหากคุณสร้างเงื่อนไขหรือข้อจำกัดมากเกินไป คุณจำเป็นต้องแก้ไขและปรับแต่งตารางใหม่ตามความเหมาะสมของคุณอีกครั้ง
7. การเลือกตารางที่เหมาะสม:
- เมื่อคุณพอใจกับตารางสอนที่สร้างขึ้น คุณสามารถเลือกตารางนั้นเพื่อใช้งานหรือบันทึกโดยการกด Print > Preview โดยหลังได้ตารางที่ลงตัวแล้ว กระผมเองโดยส่วนตัวมักจะนำข้อมูลที่ได้ไปออกแบบตัวอักษรและพิมพ์ต่อใน template หรือรูปแบบตารางสอนอื่นๆ ซึ่งสามารถหาได้ทั่วไปเพื่อความสวยงาม
8. การสร้างรายงาน: (ไม่บังคับ)
- FET มักมีความสามารถในการสร้างรายงานเกี่ยวกับตารางสอน เช่น รายงานการใช้ทรัพยากรห้องเรียนหรือรายงานการสอนของอาจารย์ต่าง ๆ
9. การบันทึกและส่งตาราง: (ไม่บังคับ)
- เมื่อคุณพอใจกับตารางสอนสุดท้าย คุณสามารถบันทึกและส่งตารางให้ผู้ที่เกี่ยวข้อง เพื่อการใช้งานจริง
คำแนะนำสำหรับการใช้ FET คือระมัดระวังในการกำหนดข้อกำหนดและจำกัดอย่างรอบคอบเพื่อให้โปรแกรมสามารถจัดตารางที่ตรงตามความต้องการของสถาบันการศึกษา การใช้ FET อาจใช้เวลาในการปรับแก้และปรับปรุงตารางให้เหมาะสม ดังนั้นควรทำการทดลองและปรับปรุงตามความจำเป็นเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
FET เป็นเครื่องมือที่ช่วยลดภาระงานในการจัดตารางสอนและเพิ่มประสิทธิภาพในการใช้ทรัพยากรในสถาบันการศึกษา แต่การใช้งานมีความซับซ้อนและต้องกำหนดข้อกำหนดอย่างรอบคอบ เพื่อให้ได้ผลลัพธ์ที่เหมาะสมและมีประสิทธิภาพ
FET – Free Evolutionary Timetabling software for automatically scheduling the timetable of a school, high-school or university
ติดตามคอนเทนท์ที่น่าสนใจอื่นๆที่ Jahnnoom.com