แนวคิดเชิงคำนวณ

          แนวคิดเชิงคำนวณ (Computational thinking) เป็นกระบวนการวิเคราะห์ปัญหา เพื่อให้ได้แนวทางการหาคำตอบอย่างเป็นขั้นตอนที่สามารถนำไปปฏิบัติได้อย่างถูกต้อง ซึ่งเรียกว่า “อัลกอริทึม”

 

 

การแบ่งปัญหาใหญ่เป็นปัญหาย่อย

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

 

ตัวอย่าง : ภาพวาดหมู่บ้าน (กำหนด 1 ช่องมีขนาด 20 หน่วย จุดมุมล่างซ้ายของตาราง คือ พิกัด (0,0))

การอธิบายรายละเอียดของภาพนั้น สามารถแบ่งออกเป็นปัญหาย่อยๆ ได้ดังนี้

1) ในภาพมีบ้านกี่หลัง

2) ขั้นตอนในการวาดบ้านหลังแรกเป็นอย่างไร และอยู่ที่ตำแหน่งใด

3) ขั้นตอนในการวาดบ้านหลังที่สองเป็นอย่างไร และอยู่ที่ตำแหน่งใด

4) ขั้นตอนในการวาดบ้านหลังที่สามเป็นอย่างไร และอยู่ที่ตำแหน่งใด

 

 

การพิจารณารูปแบบ

1) ในภาพมีบ้านกี่หลัง

ตอบ ในภาพมีบ้าน 3 หลัง

 

2) ขั้นตอนในการวาดบ้านหลังแรกเป็นอย่างไร และอยู่ที่ตำแหน่งใด

ตอบ บ้านหลังแรกวาดตัวบ้านด้วยสี่เหลี่ยมจัตุรัส เส้นสีเทา ด้านในสีน้ำเงิน ขนาดด้านละ 100 หน่วย ตั้งอยู่ตำแหน่งมุมซ้ายล่างที่พิกัด (0,0) ด้านบนสี่เหลี่ยมวาดหลังคาด้วยสามเหลี่ยมด้านเท่า เส้นสีเทา ด้านในสีชมพู ขนาดด้านละ 100 หน่วย

 

3) ขั้นตอนในการวาดบ้านหลังที่สองเป็นอย่างไร และอยู่ที่ตำแหน่งใด

ตอบ บ้านหลังที่สองวาดตัวบ้านด้วยสี่เหลี่ยมจัตุรัส เส้นสีส้ม ด้านในสีฟ้า ขนาดด้านละ 60 หน่วย ตั้งอยู่ตำแหน่งมุมซ้ายล่างที่พิกัด (140,80) ด้านบนสี่เหลี่ยมวาดหลังคาด้วยสามเหลี่ยมด้านเท่า เส้นสีส้ม ด้านในสีเหลือง ขนาดด้านละ 60 หน่วย

 

4) ขั้นตอนในการวาดบ้านหลังที่สามเป็นอย่างไร และอยู่ที่ตำแหน่งใด

ตอบ บ้านหลังที่สามวาดตัวบ้านด้วยสี่เหลี่ยมจัตุรัส เส้นสีเขียว ด้านในสีส้ม ขนาดด้านละ 40 หน่วย ตั้งอยู่ตำแหน่งมุมซ้ายล่างที่พิกัด (220,40) ด้านบนสี่เหลี่ยมวาดหลังคาด้วยสามเหลี่ยมด้านเท่า เส้นสีเขียว ด้านในสีแดง ขนาดด้านละ 40 หน่วย

 

 

การคิดเชิงนามธรรม

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

จากตัวอย่างภาพวาดหมู่วาด บ้านแต่ละหลังมีรูปแบบคล้ายกัน คือ มีตัวบ้านและหลังคาที่มีสีแตกต่างกัน การซ่อนรายละเอียดสามารถนำมาอธิบายการวาดบ้านแต่ละหลังได้ดังนี้

การพิจารณารูปแบบ : บ้านหลังแรกวาดตัวบ้านด้วยสี่เหลี่ยมจัตุรัส เส้นสีเทา ด้านในสีน้ำเงิน ขนาดด้านละ 100 หน่วย ตั้งอยู่ตำแหน่งมุมซ้ายล่างที่พิกัด (0,0) ด้านบนสี่เหลี่ยมวาดหลังคาด้วยสามเหลี่ยมด้านเท่า เส้นสีเทา ด้านในสีชมพู ขนาดด้านละ 100 หน่วย

การคิดเชิงนามธรรม : บ้านหลังแรกมีขนาด 100 หน่วย ตัวบ้านสีน้ำเงิน หลังคาสีชมพู ตั้งอยู่ที่ตำแหน่ง (0,0)

 

 

 

การพิจารณารูปแบบ : บ้านหลังที่สองวาดตัวบ้านด้วยสี่เหลี่ยมจัตุรัส เส้นสีส้ม ด้านในสีฟ้า ขนาดด้านละ 60 หน่วย ตั้งอยู่ตำแหน่งมุมซ้ายล่างที่พิกัด (140,80) ด้านบนสี่เหลี่ยมวาดหลังคาด้วยสามเหลี่ยมด้านเท่า เส้นสีส้ม ด้านในสีเหลือง ขนาดด้านละ 60 หน่วย

การคิดเชิงนามธรรม : บ้านหลังที่สองมีขนาด 60 หน่วย ตัวบ้านสีฟ้า หลังคาสีเหลือง ตั้งอยู่ที่ตำแหน่ง (140,80)

 

 

การพิจารณารูปแบบ : บ้านหลังที่สามวาดตัวบ้านด้วยสี่เหลี่ยมจัตุรัส เส้นสีเขียว ด้านในสีส้ม ขนาดด้านละ 40 หน่วย ตั้งอยู่ตำแหน่งมุมซ้ายล่างที่พิกัด (220,40) ด้านบนสี่เหลี่ยมวาดหลังคาด้วยสามเหลี่ยมด้านเท่า เส้นสีเขียว ด้านในสีแดง ขนาดด้านละ 40 หน่วย

การคิดเชิงนามธรรม : บ้านหลังที่สามมีขนาด 40 หน่วย ตัวบ้านสีส้ม หลังคาสีแดง ตั้งอยู่ที่ตำแหน่ง (220,40)

 

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

 

การออกแบบอัลกอริทึม

ขั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึง ลำดับขั้นตอนในการแก้ปัญหา หรือกระบวนการแก้ปัญหาที่สามารถอธิบายออกมาเป็นขั้นตอนที่ชัดเจน เมื่อนำเข้าอะไรแล้วจะต้องได้ผลลัพธ์เช่นไร  กระบวนการนี้จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำอีก จนกระทั่งเสร็จสิ้นการทำงาน ซึ่งมักอยู่ในรูปแบบของรหัสลำลอง(pseudo code) หรือผังงาน(flowchart) ในกรณีที่ใช้คอมพิวเตอร์เป็นเครื่องมือในการแก้ปัญหา อัลกอริทึมจะต้องถูกแปลงให้อยู่ในรูปแบบของภาษาโปรแกรมก่อน เพื่อให้คอมพิวเตอร์สามารถปฏิบัติตามได้ ดังนั้นการออกแบบรายละเอียดในอัลกอริทึมจึงขึ้นอยู่กับคนหรือคอมพิวเตอร์ที่จะนำอัลกอริทึมไปปฏิบัติ

 

ตัวอย่างอัลกอริทึมวาดภาพบ้าน

1) วาดรูปสี่เหลี่ยมมุมฉากให้มีด้านขนาดกับแกน x และ y ให้มีจุดมุมซ้ายล่างที่พิกัด (0,0) มุมขวาบนที่พิกัด (5,5)

2) วาดส่วนของเส้นตรงระหว่างจุดต่อไปนี้

(0,5)    และ (3,9)

(3,9)    และ (5,5)

 

 

 

 

อ้างอิง : สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2562 หน้า 3