วิทยาการคำนวณม.4-5-6 เรียนอะไร? ?.โพสต์นี้มีคำตอบ
? ม.4 -> ปูพื้นฐานวิทย์คอม ได้แก่ เรียนแนวคิดเชิงคำนวณ, อัลกอริทึม, การทำโครงงาน
? ม.5 -> เรียน data science (วิทยาการข้อมูล หรือวิทยาศาสตร์ข้อมูล)
? ส่วนม.6 ยังไม่มา รอปีหน้าก่อน -> แว่วๆ ว่าน่าจะมีเนื้อหา AI โผล่มาจ๊ะเอ๋ และหลายๆ เรื่องที่จะมีสอน
.
เรียกว่าดึงสิ่งที่ต้องเรียนรู้ในระดับปริญญาตรีมาปูพื้นฐานให้เด็กๆ ทั่วประเทศกันแหละ
.
*** หมายเหตุ “วิทยาการคำนวณ” มีตั้งแต่ ป.1 ยันถึง ม.6 กำลังทยอยเปิดสอนให้ครบทุกชั้นปี แต่โพสต์นี้ขอรีวิวเฉพาะ ม.4, 5 และ 6
===========
รีวิว ม.4
วิทยาการคำนวณ ม.4 มีจำนวน 3 บท
? +++บทที่ 1 แนวคิดเชิงคำนวณ +++++
บทนี้จะสอนแนวคิดเชิงคำนวณ (Computational Thinking) คืออะไร?
ซึ่งใครไม่รู้จักอาจงงเล็กน้อย ถึงปานกลาง
หรือเกิดคำถามคาใจ เรียนไปใช้ทำอะไรครับคุณครู
.
สำหรับแนวคิดเรื่อง Computational Thinking
(เรียกเป็นภาษาอังกฤษดีกว่า)
มีไว้เพื่อใช้แก้ปัญหาในแวดวง ?วิทยาศาสตร์คอมพิวเตอร์? ? ?
จริงๆ แล้วมันไม่ใช่เรื่องแปลกใหม่แต่อย่างใด
.
ถ้าเราได้นั่งเรียนในระดับมหาวิทยาลัย
หรือได้ฝึกเขียนโปรแกรมไปเรื่อยๆ ก็จะใช้แนวคิดนี้โดยธรรมชาติ
อย่างไม่รู้ตัวอยู่แล้วครับ ไม่ต้องไปเรียนที่ไหน
.
นิยามของ Computational Thinking หรือแนวคิดเชิงคำนวณ
จะประกอบด้วยแนวคิดย่อย 4 อย่างดังนี้
1) Algorithm
2) Decomposition
3) Pattern recognition
4) Abstract thinking
.
หลายละเอียดแต่ละหัวข้อก็ตามนี้
? 1) Algorithm ชื่อไทย ?ขั้นตอนวิธี?
Algorithm คือลำดับขั้นตอนในการแก้ปัญหาหรือการทำงานที่ชัดเจน การคิดค้น อธิบายขั้นตอนวิธีในการแก้ปัญหาต่าง ๆ
.
ถ้าเคยเรียนตอนป.ตรี คงรู้จักคำนี้ดีไม่ต้องอธิบายมาก เช่น
-จะคำนวณหาพื้นที่เส้นรอบวง ต้องมีสเตปคำนวณอย่างไรบ้าง
-จะค้นหาข้อมูลแบบ binary search ต้องมีขั้นตอน 1,2,3 อย่างไรบ้าง
-จะหาเส้นทางที่ใกล้สุดในกราฟ ด้วยวิธี Dijkstra จะมีขั้นตอน 1,2,3 อย่างไรบ้าง
.
? 2) Decomposition ชื่อไทยคือ ?การแยกส่วนประกอบ และการย่อยปัญหา?
.
Decomposition เป็นการพิจารณาเพื่อแบ่งปัญหา หรืองานออกเป็นส่วนย่อย ทำให้สามารถจัดการกับปัญหาหรืองานได้ง่ายขึ้น พูดง่ายๆ เอาปัญหามาแยกย่อยออกเป็นส่วนๆ
.
? ตัวอย่างการนำไปใช้ตอนเขียนโปรแกรม
เช่น การเขียนโปรแกรมแยกเป็นส่วนๆ แยกเป็นแพ็กเกจ แยกเป็นโมดูล
หรือทำระบบเป็น services ย่อยๆ หรือมองเป็น layer เป็นต้น
.
? 3) Pattern recognition ชื่อไทยคือ ?การหารูปแบบ?
.
Pattern recognition เป็นทักษะการหาความสัมพันธ์ที่เกี่ยวข้อง แนวโน้ม และลักษณะทั่วไปของสิ่งต่าง ๆ
.
? ตัวอย่างการนำไปใช้ตอนเขียนโปรแกรม
เมื่อมีการทำงานของโปรแกรมที่หลากหลายแบบ
แต่ทว่ามีรูปแบบที่แน่นอนซ้ำๆ กัน
เราสามารถยุบโค้ดมาอยู่ในฟังก์ชั่นเดียวกันได้หรือไม่
หรือเขียนเป็นโปรแกรมวนลูป ให้อยู่ในลูปเดียวกัน เป็นต้น
.
? 4) Abstract thinking ชือไทย ?การคิดเชิงนามธรรม?
.
Abstract thinking เป็นกระบวนการคัดแยกคุณลักษณะที่สำคัญออกจากรายละเอียดปลีกย่อย ในปัญหา หรืองานที่กำลังพิจารณา เพื่อให้ได้ข้อมูลที่จำเป็นและเพียงพอในการแก้ปัญหา
? ตัวอย่างการนำไปใช้ตอนเขียนโปรแกรม
-ก็เช่นการใช้ฟังก์ชั่น โดยเราแค่รู้รายละเอียดว่าฟังก์ชั่นทำงานอะไร ต้องการ input/ouput อะไร แล้วได้ return อะไรกลับมา ส่วนเนื้อหาไส้ในละเอียดเรามองไม่เห็น
.
? +++++ บทที่ 2 การแก้ปัญหาและขั้นตอนวิธี +++++++
บททนี้เขาจะปูพื้นฐานอัลกอริทึมให้กับเด็กครับ ได้แก่
2.1 การแก้ปัญหาด้วยคอมพิวเตอร์
2.2 สอนให้รู้จักระบุข้อมูล input, ouput และเงื่อนไขของปัญหา
2.3 สอนการนำแนวคิด Computational Thinking มาออกแบบอัลกอริทึม
มี flow chart โผล่มาเล็กน้อย
2.4 สอนเรื่องการทำซ้ำ หรือก็คือสอนให้รู้จักวนลูปนั่นเอง
2.5 สอนอัลกอริทึมได้แก่ การจัดเรียงและค้นหาข้อมูล
ภาษาอังกฤษก็คือ อัลกอริทึมสำหรับ sort & search
.
? สำหรับเรื่อง sort ก็จะมี
- selection sort (ชื่อไทย การจัดเรียงแบบเลือก)
- insertion sort (ชื่อไทย การจัดเรียงแบบแทรก)
.
? สำหรับเรื่อง search ก็จะมี
-sequential search (ชื่อไทย การค้นหาแบบลำดับ)
-binary search (ชื่อไทย การค้นหาแบบทวีภาค)
.
ลืมบอกไป Big-O ตอนเรียนป.ตรี ก็โผล่ออกมาแว็บๆ นิดหน่อย
เด็กอาจสงสัยมันคืออะไร เป็นญาติอะไรกับ Big-C เปล่าเนี่ย
.
? ++++ บทที่ 3 การพัฒนาโครงงาน ++++
บทนี้ถ้าสรุปสั้นๆ ก็สอนให้เด็กเขียนเสนอโครงงาน
หรือก็คือเขียน proposal เหมือนตอนเรียน ป. ตรีแหละครับ
.
ถ้าใครจำไม่ได้ ก็จะประมาณว่า การเขียนโครงงานต้องมี
บทที่ 1 บทนำ
บทที่ 2 หลักการ ทฤษฏี และงานที่เกียวข้อง
บทที่ 3 วิธีการดำเนินงาน
บทที่ 4 การทดลองและผลการทดลอง
บทที่ 5 สรุปผล วิเคราะห์ และข้อเสนอแนะ
.
รีวิว ม.5
ในวิชา “วิทยาการคำนวณ” ระดับชั้น ม. 5
ได้ดึงวิชา data science (วิทยาศาสตร์ข้อมูล)
มาปูพื้นฐานให้เด็กๆ ได้เรียนกันแล้ว นับว่าเป็นโชคดี
เพราะวิชาพวกนี้เป็นของสูง กว่าจะสัมผัสก็คงตอนป.ตรี โท เอก
ซึ่งผมจะรีวิวเนื้อหาให้อ่านคร่าวๆ เนื้อหาแบ่งเป็น 4 บท
.
? ++++ บทที่ 1 – ข้อมูลมีคุณค่า +++++
.
Data science ในตำราเรียนใช้ชื่อไทยว่า “วิทยาการข้อมูล”
บทนี้จะกล่าวถึง Big Data หรือข้อมูลขนาดใหญ่ที่มีค่ามากมาย
และมีบทบาทมากในยุค 4.0 นี้ ทั้งภาครัฐและเอกชน
.
ถ้านึกไม่ออกก็นึกถึงเวลาเราเล่นเนตค้นหาใน Google จะพบข้อมูลมากมายมหาศาล ซึ่งเราสามารถนำมาใช้ในธุรกิจเราได้ ก็เพราะเหตุนี้ศาสตร์ด้านข้อมูล จึงมีบทบาทสำคัญอย่างมากอย่างยิ่งยวด
.
จึงไม่น่าแปลกใจที่ทำให้อาชีพนักวิทยาศาสตร์ด้านข้อมูล (ชื่ออังกฤษ data scientist) มันมีบทบาทสำคัญ และเป็นอาชีพที่มีเสน่ห์และน่าสนใจที่สุดยุคศตวรรษที่ 21
.
Data science ถ้าตามหนังสือเขาให้นิยามว่า
“เป็นการศึกษาถึงกระบวนการ วิธีการ หรือเทคนิค ในการนำข้อมูลจำนวนมหาศาล มาประมวลผล เพื่อให้ได้องค์ความรู้ เข้าใจปรากฏการณ์หรือตีความ ทำนายหรือพยากรณ์ ค้นหารูปแบบหรือแนวโน้มจากข้อมูล
และสามารถนำมาวิเคราะห์ต่อยอดเพื่อแนะนำทางเลือกที่เหมาะสม หรือใช้ในการตัดสินใจเพื่อประโยชน์สูงสุด”
.
สำหรับงาน Data science เขาจะมีกระบวนตามขั้นตอนดังนี้
- ตั้งคำถามที่ตนเองสนใจ
- เก็บรวบรวมข้อมูล
- การสำรวจข้อมูล
- การวิเคราะห์ข้อมูล (analyze the data)
- การสื่อสารและการทำผลลัพธ์ให้เห็นเป็นภาพ (communicate and visualize the results)
.
? นอกจากนี้เขายังพูดถึง design thinking ?ว่าแต่มันคืออะไร?
ต้องบอกว่างานของนักวิทยาศาสตร์ข้อมูล
มันไม่ได้จบแค่เอาข้อมูลที่เราวิเคราะห์ได้แล้ว
มาโชว์ให้คนอื่นเข้าใจ
.
ยังต้องมีขั้นตอนการออกแบบแอพลิชั่น
ที่ต้องใช้ข้อมูลจากที่เราวิเคราะห์ไปนั่นเอง
ซึ่งคำว่า design thinking มันก็คือความคิดยิ่งนักออกแบบดีๆ นี้เอง
ซึ่งนักวิทยาศาสตร์ข้อมูลควรมีไว้เพื่อออกแบบแอพลิชั่นขั้นสุดท้าย
จะได้ตอบสนองความต้องการผู้ใช้
.
? ++++ บทที่ 2 การเก็บรวบรวมและสำรวจข้อมูล +++++
.
บทนี้ก็แค่จะปูพื้นฐาน
2.1 การเก็บรวบรวมข้อมูล
ในบทนี้จะพูดถึงข้อมูลที่เป็นลักษณะทุติยภูมิ
ที่หาได้เกลื่อนเน็ต และเราต้องการรวบรวมมาใช้งาน
2.2 การเตรียมข้อมูล (data preparation)
เนื้อหาก็จะมี
-การทำความสะอาดข้อมูล (data cleansing)
-การแปลงข้อมูล (data transformation)
ในม.5 ไม่มีอะไรมาก แต่ถ้าในระดับมหาลัยจะเจอเทคนิคขั้นสูง เช่น PCA
-การเชื่อมโยงข้อมูล (combining data)
2.3 การสำรวจข้อมูล (data exploration)
พูดถึงการใช้กราฟมาสำรวจข้อมูล เช่น
กราฟเส้น ฮิสโทแกรม แผนภาพกล่อง (box plot) แผนภาพแบบกระจาย (scatter plot)
พร้อมยกตัวอย่างการเขียนโปรแกรมดึงข้อมูลออกมาพล็อตเป็นกราฟจากไฟล์ csv (หรือ xls)
2.4 ข้อมูลส่วนบุคคล
สำหรับหัวข้อนี้ ถ้านักวิทยาศาสตร์ข้อมูลจะนำข้อมูลส่วนบุคคลมาใช้งาน ต้องเก็บเป็นความลับ ห้ามหลุด
.
ซึ่งประเด็นข้อมูลส่วนบุคคล ปัจจุบันมีก็มีร่างพรบ. คุ้มครองข้อมูลส่วนบุคคล ออกมาเรียบร้อยแล้ว
.
.
? ++++ บทที่ 3 การวิเคราะห์ข้อมูล ++++
.
แบ่งเป็น 2 ส่วน ได้แก่
.
3.1 การวิเคราะห์เชิงพรรณา (descriptive analytics)
เป็นการวิเคราะห์โดยใช้เลขที่เราร่ำเรียนมาตั้งแต่
- การหาสัดส่วนหรือร้อยละ
- การวัดค่ากลางของข้อมูล พวกค่าเฉลี่ย มัธยฐาน ฐานนิยม
- การหาความสัมพันธ์ของชุดข้อมูล (Correlation) พร้อมตัวอย่างการเขียนโปรแกรมให้ดูง่าย
.
.
3.2 การวิเคราะห์เชิงทำนาย (predictive analytics)
. - มีการพูดถึงการทำนายเชิงตัวเลข (numeric prediction)
- พูดถึงเทคนิคอย่าง linear regression สมการเส้นตรงที่จะเอาไว้ทำนายข้อมูลในอนาคต
รวมทั้งพูดถึงเรื่อง sum of squared errors
ดูว่ากราฟเส้นตรงมันนาบฟิตไปกับข้อมูลหรือยัง (พร้อมตัวอย่างเขียนโปรแกรม) - สุดท้ายได้กล่าวถึง K-NN (K-Nearest Neighbors: K-NN) เป็นวิธีค้นหาเพื่อนบ้านใกล้เคียงที่สุด K ตัว สำหรับงาน classification (การแบ่งหมวดหมู่)
หมายเหตุ**
linear regression กับ K-NN
นี้ก็คืออัลกอริทึมหนึ่งในวิชา machine learning (การเรียนรู้ของเครื่อง สาขาหนึ่งของ AI)
เด็กสมัยเนี่ยได้เรียนแหละนะ
.
.
? +++ บทที่ 4 การทำให้ข้อมูลเป็นภาพและสื่อสารด้วยข้อมูล +++
.
บทนี้ไม่อะไรมาก ลองนึกถึงนักวิทยาศาสตร์ หลังวิเคราะห์ข้อมูลอะไรมาเสร็จสรรพ เหลือขั้นสุดท้ายก็คือ การโชว์ให้คนอื่นดูด้วยการทำ data visualization (เรียกทับศัพท์ดีกว่า)
.
ในเนื้อหาก็จะยกตัวอย่างการใช้ แผนภูมิแท่ง,กราฟเส้น, แผนภูมิวงกลม, แผนการกระจาย
.
สุดท้ายที่ขาดไม่ได้ก็คือการเล่าเรื่องจากข้อมูล (data story telling) พร้อมข้อควระวังเวลานำเสนอข้อมูล
.
.
.
***หมายเหตุนี้ ***
? ภาษาโปรแกรมที่ตำราเรียน ม.5 กล่าวถึง และยกตัวอย่างมาให้ดู
ก็ได้แก่ python กับภาษา R
.
สำหรับภาษา R หลายคนอาจไม่คุ้น
คนจบไอทีอาจคุ้นกับ python มากกว่า
แต่ใครมาจากสายสถิติจะคุ้นแน่นอน
เพราะภาษา R นิยมมากในสายงานสถิติ
และสามารถนำมาใช้ในงาน data science ได้ง่ายและนิยมไม่แพ้ python
.
แต่ถ้าคนจาก data science จะขยับไปอีกสายหนึ่งของ AI
ก็คือ deep learning (การเรียนรู้เชิงลึก)
python จะนิยมแบบกินขาดครับ
.
===========
สำหรับม.6 หนังสือยังไม่มา เพราะหลักสูตรจะมาปีหน้า
แต่ถ้าไปอ่านคำอธิบายรายวิชาก็จะได้ตามนี้ (ก็อปปี้มาอีกที)
.
- ศึกษาการใช้เทคโนโลยีในการนำเสนอและแบ่งปันข้อมูลอย่างปลอดภัยและมีจริยธรรม
- การสร้างชิ้นงานและเผยแพร่ผ่านสื่อต่าง ๆ ที่คำนึงถึงจริยธรรม ลิขสิทธิ์ทรัพย์สินทางปัญญา และกฎหมาย
- หลักการของปัญญาประดิษฐ์ และเทคโนโลยีในอนาคต
- กรณีศึกษาเกี่ยวกับนวัตกรรมหรือเทคโนโลยีที่เกี่ยวข้องกับชีวิตประจำวัน
- อาชีพที่เกี่ยวข้องกับงานทางด้านเทคโนโลยีสารสนเทศ
- ตัวอย่างผลกระทบของเทคโนโลยีสารสนเทศ
เขียนโดยแอดมินโฮ โอน้อยออก