หลักสูตรเทคโนโลยี (วิทยาการคำนวณ) (ตอนที่ 1)

Dr. Winn Voravuthikunchai
botnoi-classroom
Published in
4 min readMar 8, 2021

หลังจากที่ได้ไล่อ่านหนังสือครบทั้ง 6 เล่ม ตั้งแต่ ม.1 ถึง ม.6 ก็อยากจะแชร์คร่าว ๆ ให้ทุกคนฟังครับ ว่าเด็ก ๆ สมัยนี้เรียนอะไรกันบ้างเชื่อว่าหลายคนคงจะ อุทาน เหมือนผม เฮ้ย เจ๋งอ่ะ สอน Python ตั้งแต่ ม.1 เลยหรอ เฮ้ย มีสอน agile สอน Trello สอน Cloud สอน AI สอน Data Science สอน IOT

เดี๋ยวผมจะพยายามสรุปให้ฟังว่าหลักสูตรนี้สอนอะไรบ้าง แต่ก่อนที่จะเริ่มก็อยากจะบอกว่า ส่วนตัวคิดว่าเป็นหลักสูตรที่ดีมากครับ และครอบคลุมในสิ่งที่คนยุคใหม่จะต้องรู้ อยากให้ลองไปซื้อหนังสือมาอ่านกันดูครับ ค่าหนังสือก็ไม่ได้แพงเลย เล่มละ 29 -59 บาท ซื้อเป็น E-BOOK ได้ใน SE-ED app ครับ หรือจะไปซื้อเป็นเล่มมาอ่านก็ได้ครับ งั้นเรามาเริ่มกันเลยครับ

สำหรับเนื้อหาม.ต้นนั้น ผมสรุปออกมาได้เป็น 5 หัวข้อใหญ่ ๆ ได้แก่

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

โดยที่ทั้ง 5 หัวข้อนั้น จะมีการปูพื้นฐานและค่อย ๆ ต่อยอดไปเรื่อย ๆ ตั้งแต่เล่มของ ม.1 ไปถึง ม.3

1. กระบวนการคิด และหลักการทำงานอย่างเป็นระบบและมีประสิทธิภาพ

ก็จะมีสิ่งสำคัญอยู่สามเรื่อง

a. การแบ่งปัญหาใหญ่เป็นปัญหาย่อย -> ปัญหาที่ใหญ่โต และดูจะมีความซับซ้อน หากเราสามารถที่จะแตกปัญหาเหล่านั้นออกเป็นปัญหาย่อย ๆ แล้วแก้ในแต่ละปัญหาย่อย อย่างเป็นระบบ ในที่สุดเราก็จะแก้ปัญหาทั้งหมดได้ บางครั้งเราก็ยังสามารถแจกจ่ายปัญหาย่อย ๆ ให้หลายคนช่วยกันทำได้อีกด้วย

b. การพิจารณารูปแบบ หรือ pattern ->บางครั้งในโจทย์ที่ดูเหมือนจะมีความซับซ้อนมาก ก็จะอาจจะมีรูปแบบ pattern ที่ซ่อนอยู่ ซึ่งถ้าเราสามารถหาและสกัด pattern เหล่านั้นได้ ก็จะช่วยให้เราสามารถจดจำข้อมูล นำไปใช้ รวมไปถึงการบอกต่อได้อย่างมีประสิทธิภาพมากขึ้น โดยหนังสือ ม.2 ได้ยกตัวอย่าง เพลงมาร์ชในรูป ที่หากเราจะต้องท่อง step เต้นให้ได้ ก็คงจะต้องมีเทคนิค ไม่งั้นจำไม่ได้แน่นอน

แต่จริง ๆ มันมี pattern ซ่อนอยู่ นั่นคือ

และสิ่งที่เราต้องจำก็จะเหลือเพียง

“มาร์ชขวา 2 รอบ -> ขยับขวาซ้าย ต่อด้วย ขยับซ้ายขวา 2 รอบ -> มาร์ชซ้าย 2 รอบ” เท่านั้น จำก็ง่าย สอนหรือบอกต่อก็ง่าย

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

จากรูปอยากให้คำนวณค่าผ่านทาง

จากรูปแม้จะมีรายละเอียดเยอะ ไม่ว่าจะเป็นสีรถ แม่ใส่ส้นสูงจูงลูก มีจักรยานโบราณล้อหน้าใหญ่ มีฮอนด้าแจ๊ซสีส้ม และอีกมากมาย แต่ถามว่ามีความจำเป็นที่จะต้องรู้รายละเอียดเหล่านี้สำหรับการคำนวณค่าผ่านทางหรือไม่ คำตอบคือ ไม่

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

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

2. เครื่องมือต่าง ๆ ที่ใช้ในการเรียนรู้เนื้อหา รวมถึงเพื่อใช้ในการสร้างแอพลิเคชั่น

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

หลังจากนั้นก็จะสอนการเขียนโปรแกรมภาษา Python ที่ปูมาตั้งแต่การรู้จักตัวแปร การวนลูป การสร้างเงื่อนไข การสร้างฟังก์ชั้น สิ่งที่ชอบคือให้การให้นักเรียนสร้าง flow chart ขึ้นมาก่อน แล้วจึงเขียนโปรแกรม

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

การทำให้ตัวการ์ตูน ขยับตามคำสั่งโดยนักเรียนจะเอา block ต่าง ๆ มาเรียงต่อเป็นลำดับ

นอกจากนั้นในระดับชั้น ม.3 มีการสอนใช้ Trello ซึ่งผมเองก็นึกไม่ถึงเหมือนกัน ว่ามีสอนด้วยหรอ ที่ทำงานบอทน้อย ก็ใช้ Trello เหมือนกันนะ

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

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

3. การพัฒนาแอพลิเคชั่น

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

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

  1. สร้างดาวมาสักดวงให้ได้ก่อน ก็คือเดินหน้า x ก้าวตามขนาดที่ต้องการ หมุน 144 องศา ทำไป 5 รอบ ก็จะได้ดาว 1 ดวง
  2. สุ่มตำแหน่งใหม่
  3. สุ่มขนาดใหม่
  4. สุ่มทิศทางใหม่
  5. เริ่ม 1 ใหม่

เห็นมั้ยครับว่าเราใช้สิ่งที่เรียนมาในหลักสูตร ในกระบวนการคิด และเครื่องมือนั่นคือภาษา Python เพื่อสร้างสรรค์ผลงานได้อย่างรวดเร็ว

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

ในหนังสือเล่ม ม.3 ก็จะให้ทำเครื่องคิดเลข แต่ highlight ของซีรี่ม.ต้น น่าจะเป็นโครงงานที่สอน IOT โดยให้ทำระบบรดน้ำต้นไม้อัตโนมัติ ใช้ Python สั่งการแผงวงจร ผมเองก็ไม่เคยทำเลย น่าจะสนุกมากเลยนะ

— — — — — — — — — — — — — —

สำหรับการเล่าคร่าว ๆ ในตอนที่ 1 ก็คงประมาณเท่านี้ เดี๋ยวคราวหน้าจะมาเล่าต่อในอีก 2 หัวข้อ ก่อนที่ขึ้นของม.ปลาย ที่จะเน้นด้าน data ครับ แต่บทความที่เขียนมาก็เป็นเพียงสรุปคร่าว ๆ ถ้ายังไงก็อยากให้ลองไปหาหนังสืออ่านดู

สุดท้ายผมกับทีมงานก็คิดว่าจะเปิดสอนหลักสูตรนี้ออนไลน์ฟรีกับนักเรียนและคุณครู ผู้ปกครอง และผู้ที่สนใจครับ คิดว่าจะเป็นพื้นฐานที่ดีในการไปต่อยอดการเรียนรู้ด้าน Data science และด้าน AI ที่เป็นงานหลักของ Botnoi ครับ

หากใครสนใจ จะขอรบกวนให้ช่วยกรอกข้อมูลในฟอร์มนี้ หากจะเปิดคอร์สเมื่อไหร่ จะได้ติดต่อไปครับ แล้วก็แอดเข้ากรุ๊ป Botnoi Classroom เพราะจะมีการประชาสัมพันธ์การเรียน และให้ความรู้ด้าน Data science และ AI ครับ

— — — — — — — — — — — — — — — — — — — — — — — — -

สำหรับใครที่สนใจ AI สนใจ Data science สามารถ join group Botnoi Classroom ตอนนี้มีสมาชิก 7 พันคน จะคอยอัพเดทเทรนด์ ความรู้ ทางด้าน AI และ Data science แล้วก็คอยประกาศอีเวนท์ หรือเปิดคลาสสอนด้วย

ส่วนหากใครสนใจใช้บริการ BOTNOI ในสร้างแชทบอท หรือให้คำปรึกษาเกี่ยวกับ AI & Data science ติดต่อได้ผ่านเวป -> Botnoi และ FB Page Botnoi Consulting นะครับ

--

--

Dr. Winn Voravuthikunchai
botnoi-classroom

obtained his PhD in AI from Caen University, France. He was Chief Data Scientist at Telenor. Currently, he is Founder & CEO of Botnoi Group, and LINE API Expert