Please enable JavaScript.
Coggle requires JavaScript to display documents.
การคิดเชิงคำนวณ - Coggle Diagram
การคิดเชิงคำนวณ
บทที่ 1 แนวคิดเชิงคำนวณ (Computational Thinkink)
ความหมาย : เป็นกระบวนการคิดเพื่อ แก้ปัญหาอย่างระบบ โดยสามารถถ่อยทอดขั้นตอนให้คนหรือคอมพิวเตอร์นำไปปฏิบัติได้อย่างถูกต้อง เป็นทักษะที่ใช้ได้ในชีวิตประจำวัน ไม่จำกัดแค่ในวิทยาการคอมพิวเตอร์
องค์ประกอบของแนวคิดเชิงคำนวณ 4 ด้านหลัก
การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition) : แยกปัญหาหรืองานที่ซับซ้อนให้อยู่ในรูปที่จัดการได้ง่ายขึ้น
ตัวอย่างเช่น: การแก้ปัญหาเครื่องยนต์สตาร์ทไม่ติด → แยกเป็นปัญหาแบตเตอรี่, น้ำมัน, เครื่องยนต์
ตัวอย่างเช่น : การวางแผนเดินทางไปหัวหิน → แยกเป็น ขับรถเอง / รถทัวร์ / รถไฟ / รถตู้
การพิจารณารูปแบบ (Pattern Recognition) : มองหา ลักษณะที่คล้ายกัน หรือ แนวโน้มที่เกิดซ้ำ ทำให้สามารถใช้วิธีเดิมมาปรับใช้กับปัญหาใหม่ได้
ตัวอย่างเช่น: ระบบขับเคลื่อนของจักรยานคล้ายกับระบบรอก
ตัวอย่างเช่น: เมาส์ต่างรุ่นมีรูปร่างต่างกัน แต่ใช้วิธีควบคุมเดียวกัน
การคิดเชิงนามธรรม (Abstraction) : การ มองภาพรวม โดย ละเว้นรายละเอียดที่ไม่สำคัญ
ตัวอย่างเช่น: การแสดงข้อมูลด้วยเลขฐานสอง (0,1)
ตัวอย่างเช่น: แผนที่รถไฟฟ้าแบบย่อ (ไม่ต้องมีชื่อสถานีทั้งหมด)
ตัวอย่างเช่น: การบอกตำแหน่งบ้านโดยไม่ลงรายละเอียดมาก เช่น “บ้านสีเหลือง หลังคาสีเขียว ที่ตำแหน่ง (120, 90)”
การออกแบบอัลกอริทึม (Algorithm) : การสร้าง ชุดคำสั่ง หรือ ขั้นตอนที่ชัดเจน สำหรับแก้ปัญหา
ต้องมีคุณสมบัติ: ถูกต้อง (Correctness)
ชัดเจน เข้าใจง่าย (Readability)
มีประสิทธิภาพ (Efficiency)
เครื่องมือที่ใช้ช่วยออกแบบ เช่น: บรรยาย (Narrative)
ผังงาน (Flowchart)
รหัสเทียม (Pseudocode)
สรุปภาพรวม
แนวคิดเชิงคำนวณ เป็นการคิดอย่างเป็นระบบ โดย: แยกปัญหา → วิเคราะห์รูปแบบ → ตัดข้อมูลที่ไม่จำเป็น → ออกแบบวิธีแก้ปัญหา
แนวคิดเชิงคำนวณ เป็นการคิดอย่างเป็นระบบ โดย: นำไปใช้ได้ทั้งในคอมพิวเตอร์และชีวิตประจำวัน เช่น การเดินทาง การทำอาหาร การตัดสินใจต่าง ๆ
บทที่ 2: การแก้ปัญหาและขั้นตอนวิธี
การแก้ปัญหาด้วยคอมพิวเตอร์ - ไม่จำเป็นต้องเป็นปัญหาทางคณิตศาสตร์
ต้องเข้าใจปัญหาอย่างชัดเจนก่อน
พัฒนาขั้นตอนวิธีให้เหมาะสม ใช้งานได้จริง
ขั้นตอนการแก้ปัญหา (7 ขั้นตอน)
นิยามปัญหา (Problem Definition) : เข้าใจว่าปัญหาคืออะไร ต้องการผลลัพธ์แบบใด
วิเคราะห์ปัญหา (Problem Analysis) : ระบุ Input, Output, และ Process
ออกแบบอัลกอริทึม (Algorithm Design) : สร้างขั้นตอนการแก้ปัญหาแบบทีละขั้น
พัฒนาโปรแกรม (Program Development) : แปลงอัลกอริทึมเป็นภาษาคอมพิวเตอร์ เช่น Python, Java
ทดสอบความถูกต้อง (Program Testing) : ตรวจหาข้อผิดพลาดด้านตรรกะและไวยากรณ์
จัดทำเอกสาร (Documentation) : เขียนคู่มือผู้ใช้ + หมายเหตุในโปรแกรม
บำรุงรักษา (Maintenance) : ปรับปรุงระบบให้ทันสมัย แก้ไขข้อผิดพลาด
ข้อมูลในระบบ
Input = ข้อมูลที่นำเข้า
Output = ข้อมูลที่ได้จากการประมวลผล
ต้องวิเคราะห์ให้ชัดเจนเพื่อเขียนโปรแกรมได้ถูกต้อง
การออกแบบขั้นตอนวิธี (Algorithm Design) : เป็นชุดคำสั่งที่มีลำดับและความชัดเจน
เครื่องมือ
Narrative Description: เขียนขั้นตอนด้วยภาษาธรรมดา
Pseudo Code: เขียนคำสั่งแบบกึ่งภาษาโปรแกรม
Flowchart: ผังงานแสดงขั้นตอนด้วยสัญลักษณ์
ลักษณะของขั้นตอนวิธีที่ดี
แก้ปัญหาได้ตรงจุด
ให้ผลลัพธ์ถูกต้อง
ใช้เวลาและทรัพยากรน้อย
ชัดเจน กระชับ เข้าใจง่าย
Pseudo Code
ใช้คำสั่งภาษาอังกฤษง่ายๆ เช่น READ, INPUT, GET → รับข้อมูล DISPLAY, PRINT, WRITE → แสดงผล IF...THEN, REPEAT...UNTIL, WHILE, FOR → คำสั่งควบคุม +, -, *, /, % → การคำนวณ
เขียนจากบนลงล่าง มีเพียง 1 คำสั่งต่อบรรทัด
ตัวอย่าง Pseudo Code:
Begin
End
Read Width
Read Length
Area = Width * Length
Write Area
Flowchart (ผังงาน) : ภาพหรือสัญลักษณ์ที่แสดงลำดับขั้นตอนการทำงาน
ลักษณะที่ดี
ใช้สัญลักษณ์มาตรฐาน (ANSI)
ใช้ลูกศรแสดงทิศทางข้อมูล
คำอธิบายกระชับ เข้าใจง่าย
สัญลักษณ์มาตรฐานที่ใช้
ชื่อ : Start/End ความหมาย : จุดเริ่มต้น/สิ้นสุด
ชื่อ : Process ความหมาย : การประมวลผล
ชื่อ : Input/Output ความหมาย : การรับหรือแสดงผลข้อมูล
ชื่อ : Decision ความหมาย : การตัดสินใจแบบมีเงื่อนไข
ชื่อ : Manual Input ความหมาย : การป้อนข้อมูลโดยมนุษย์
ชื่อ : Display ความมาย : แสดงผลทางจอ
ชื่อ : Document ความหมาย : แสดงผลทางเครื่องพิมพ์
ชื่อ : Flow line ความหมาย : ลูกศรแสดงทิศทาง
ชื่อ : Connector ความหมาย : จุดเชื่อมโยงผังงาน
รูปแบบของผังงาน
แบบเรียงลำดับ – ทำงานตามลำดับ ไม่มีเงื่อนไข
แบบมีเงื่อนไข – ใช้การตัดสินใจ เช่น ใช่/ไม่ใช่
แบบทำซ้ำ (Loop) – ทำซ้ำจนเงื่อนไขเป็นเท็จ
ตัวอย่างการแก้ปัญหาคำนวณพื้นที่ห้อง
นิยามปัญหา: คำนวณพื้นที่ห้องรูปสี่เหลี่ยมผืนผ้า
วิเคราะห์
Input: ความกว้าง, ความยาว
Process: พื้นที่ = กว้าง * ยาว
Output: พื้นที่ห้อง
อัลกอริทึมแบบบรรยาย:
เริ่มต้น
รับค่าความกว้าง
รับค่าความยาว
คำนวณพื้นที่
แสดงผลลัพธ์
จบ
การจัดเรียงและค้นหาข้อมูล (Sorting & Searching)
การจัดเรียงข้อมูล (Sorting) : การเรียงลำดับช่วยให้ประมวลผลและค้นหาข้อมูลได้มีประสิทธิภาพมากขึ้น
Selection Sort
หาค่าน้อยที่สุดมาไว้ลำดับแรก
ทำซ้ำจนเรียงครบทุกตำแหน่ง
ตัวอย่างเช่น: [10, 5, 2] → [2, 5, 10]
Insertion Sort
พิจารณาข้อมูลทีละตัว แล้ว “แทรก” ในตำแหน่งที่ถูกต้อง
ใช้ได้กับข้อมูลที่จัดเรียงไว้บางส่วนแล้ว
ตัวอย่าง: เรียงจากซ้ายไปขวา โดยแทรกตำแหน่งให้เหมาะสมทุกครั้งที่เพิ่มตัวใหม่เข้าไป
การค้นหาข้อมูล (Searching) : ค้นหาตำแหน่งของข้อมูลจาก “คีย์” ที่กำหนด
Sequential Search (ค้นหาตามลำดับ)
เปรียบเทียบข้อมูลทีละตัวจากต้นจนจบ
ใช้ได้กับข้อมูลที่ยังไม่เรียงลำดับ
เหมาะกับชุดข้อมูลขนาดเล็ก
ตัวอย่าง: ค้นหา 2 ใน [5, 9, 10, 2, 90, 4] → ตรวจทีละตัวจนเจอ 2
Binary Search (ค้นหาแบบแบ่งครึ่ง)
ใช้กับ ข้อมูลที่เรียงลำดับแล้ว
เปรียบเทียบกับค่ากลาง ถ้าไม่เจอ:
ถ้า key < ค่ากลาง → หาซ้าย
ถ้า key > ค่ากลาง → หาขวา
มีประสิทธิภาพสูงมาก (ใช้รอบน้อย)
ตัวอย่าง Binary Search
ค้นหาเลข 96 ในลิสต์ [1, 5, 13, 27, 34, 48, 69, 82, 96, 112]
รอบ 1 min 0 max 9 mid 4 ข้อมูล 34 ผล 96 > 34 → ไปขวา
รอบ 2 min 5 max 9 mid 7 ข้อมูล 82 ผล 96 > 82 → ไปขวา
รอบ 3 min 8 max 9 mid 8 ข้อมูล 96 ผล เจอแล้ว
ตัวแปรหลัก
min = จุดเริ่มต้น
max = จุดสิ้นสุด
mid = (min + max) / 2
สรุปเปรียบเทียบ
ประเภท : Sequential Search ใช้เมื่อ : ข้อมูลไม่เรียง จุดเด่น : ง่าย จุดด้อย : ช้า (ข้อมูลเยอะ)
ประเภท : Binary Search ใช้เมื่อ : ข้อมูลเรียงc]h; จุดเด่น : เร็ว จุดด้อย : ใช้ไม่ได้กับข้อมูลไม่เรียง
ประเภท : Selection Sort หลักการทำงาน : หาค่าน้อยที่สุดไปเรื่อยๆ เหมาะสมกับ : ชุดข้อมูลเล็ก
ประเภท : Insertion Sort หลักการทำงาน : แทรกข้อมูลในจุดที่เหมาะสม เหมาะสมกับ : ข้อมูลเกือบเรียงแล้ว
บทที่ 3: ข้อมูล การแก้ปัญหา และขั้นตอนวิธี
ความหมายของข้อมูล
ใช้เพื่อ ประมวลผล → เป็นสารสนเทศ (Information) ที่มีความหมาย
ข้อมูล (Data): ข้อเท็จจริงในรูปตัวอักษร ตัวเลข สัญลักษณ์ ภาพ เสียง ฯลฯ
ประเภทของข้อมูล (ตามแหล่งที่มา)
ข้อมูลปฐมภูมิ (Primary Data): เก็บจากแหล่งโดยตรง เช่น การสัมภาษณ์ จดบันทึก
ข้อมูลทุติยภูมิ (Secondary Data): ได้จากแหล่งที่มีอยู่แล้ว เช่น รายงาน สถิติ
ประเภทของข้อมูล (ตามรูปแบบ/การจัดเก็บ)
Text → .txt, .doc
Image → .jpg, .gif
Sound → .wav, .mp3
Video → .avi, .mov
ประเภทของข้อมูล (ในระบบคอมพิวเตอร์)
Numeric: ตัวเลข คำนวณได้
Character: ตัวอักษร สื่อความหมาย
Graphical: รูปวาด, แผนที่
Image: รูปถ่าย สแกน
(เพิ่มเติม): ไม่สามารถนำมาคำนวณได้ทุกประเภท
คุณสมบัติของข้อมูลที่ดี
ถูกต้องแม่นยำ (Accuracy)
ทันเวลา (Timeliness)
ครบถ้วน (Completeness)
ตรงกับความต้องการ (Relevance)
ต่อเนื่อง (Continuity)
กระชับ (Conciseness)
วิวัฒนาการเทคโนโลยีสารสนเทศ
ยุค 1: Data Processing
ยุค 2: Management Information System (MIS)
ยุค 3: Information Resource Management
ยุค 4: Information Technology Era (IT)
วิทยาการคอมพิวเตอร์ & การคิดเชิงคำนวณ
สอนในหลักสูตรทั่วโลก
เน้น คิดอย่างเป็นระบบ แก้ปัญหาอย่างมีเหตุผล
นำไปประยุกต์ใช้ในหลายวิชา
กระบวนการวิทยาการข้อมูล (Data Science Process)
ขั้นตอนหลัก 5 ขั้นตอน
ตั้งคำถาม (Ask)
เก็บข้อมูล (Get the Data)
สำรวจข้อมูล (Explore)
วิเคราะห์ข้อมูล (Analyze)
นำเสนอผล (Communicate & Visualize)
ตัวอย่าง Case Study
บริษัทขนส่ง : วิเคราะห์ปริมาณงานเพื่อวางแผนจ้างพนักงาน
คาดการณ์พลังงานไฟฟ้า : วิเคราะห์ข้อมูลอุณหภูมิ วันหยุด เพื่อปรับแผนผลิตไฟฟ้า
ร้านไอศกรีม : วิเคราะห์ว่าอุณหภูมิสูง & วันหยุด → ยอดขายเพิ่ม
แนะนำ: เพิ่มสต็อกและพนักงานช่วงนั้น
รีวิวร้านอาหาร : วิเคราะห์รีวิวบวก/ลบ
ข้อเสนอแนะ: ลดเวลารออาหาร → เพิ่มครัว/ระบบสั่ง