“วิทยาการคำนวณ” ในชั้น ม.4, 5, 6 เรียนอะไร

วิทยาการคำนวณม.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 หนังสือยังไม่มา เพราะหลักสูตรจะมาปีหน้า
แต่ถ้าไปอ่านคำอธิบายรายวิชาก็จะได้ตามนี้ (ก็อปปี้มาอีกที)
.

  • ศึกษาการใช้เทคโนโลยีในการนำเสนอและแบ่งปันข้อมูลอย่างปลอดภัยและมีจริยธรรม
  • การสร้างชิ้นงานและเผยแพร่ผ่านสื่อต่าง ๆ ที่คำนึงถึงจริยธรรม ลิขสิทธิ์ทรัพย์สินทางปัญญา และกฎหมาย
  • หลักการของปัญญาประดิษฐ์ และเทคโนโลยีในอนาคต
  • กรณีศึกษาเกี่ยวกับนวัตกรรมหรือเทคโนโลยีที่เกี่ยวข้องกับชีวิตประจำวัน
  • อาชีพที่เกี่ยวข้องกับงานทางด้านเทคโนโลยีสารสนเทศ
  • ตัวอย่างผลกระทบของเทคโนโลยีสารสนเทศ

 เขียนโดยแอดมินโฮ โอน้อยออก

Please like Fanpage