คิดแบบคอมพิวเตอร์ EP3: หาคำในพจนานุกรม ทำไมเราไม่เปิดไล่ทีละหน้า?
หาคำในพจนานุกรม ทำไมเราไม่เปิดไล่ทีละหน้า? เพราะเรารู้ว่าคำเรียงตามตัวอักษร ถ้าเปิดไปแล้วเลยคำที่หา เราก็ย้อนกลับ ไม่ต้องเสียเวลาอ่านหน้าที่อยู่ถัดไปทั้งหมด คอมพิวเตอร์ก็ใช้ประโยชน์จาก “ข้อมูลที่เรียงแล้ว” ได้เหมือนกัน ลองเล่นเกมทายเลข 1–100 โดยแต่ละครั้งถามได้ว่า “ใช่ไหม?” และถ้าไม่ใช่ อีกฝ่ายจะบอกว่าเลขที่คิดมากกว่าหรือน้อยกว่า ถ้าไล่ทาย 1, 2, 3 ไปเรื่อย ๆ อาจต้องทายถึง 100 ครั้ง แต่ถ้าเริ่มที่ 50 ล่ะ?…
ทำไมเราต้องคิดก่อนโค้ด?
ทำไมเราต้องคิดก่อนโค้ด? เพราะ “โปรแกรมทำงานได้” กับ “โปรแกรมแก้ปัญหาได้” อาจเป็นคนละเรื่องกัน สมมติเราจะทำระบบเรียกคิวให้ร้านอาหาร แล้วเริ่มเขียนทันทีว่า “ใครมาก่อน ได้โต๊ะก่อน” ฟังดูตรงไปตรงมา แต่ถ้าคิวแรกมา 6 คน และตอนนี้ว่างแค่โต๊ะ 2 ที่นั่งล่ะ? เราจะปล่อยโต๊ะว่างไว้รอ หรือเรียกคิวถัดไปที่มา 2 คนก่อน? ถ้าเรียกข้าม คนกลุ่มใหญ่จะต้องรอนานแค่ไหน? เรื่องนี้ไม่ได้ติดที่เขียน Python หรือ C++…
คิดแบบคอมพิวเตอร์ EP2 : ทำงานเร็วขึ้น อาจไม่ต้องทำให้เร็วกว่าเดิม
ทำงานเร็วขึ้น อาจไม่ต้องทำให้เร็วกว่าเดิม แค่เปลี่ยนวิธี ก็ลดงานไปได้เยอะ ลองนึกว่าเรามีรายชื่อผู้สมัคร 100 คน แล้วอยากรู้ว่า “มีใครกรอกชื่อซ้ำไหม?” วิธีแรก หยิบชื่อคนแรกไปเทียบกับอีก 99 ชื่อ จากนั้นหยิบชื่อคนที่สองไปเทียบกับชื่อที่เหลือ ทำแบบนี้จนครบ ถ้าไม่มีชื่อซ้ำเลย เราต้องเทียบถึง 4,950 คู่ อีกวิธี อ่านรายชื่อทีละคน แล้วเก็บชื่อที่เคยเห็นไว้ในตัวช่วยค้นหา ถ้าชื่อใหม่อยู่ในนั้นแล้ว ก็รู้ทันทีว่าเจอชื่อซ้ำ ถ้ายังไม่มี ก็เพิ่มชื่อนั้นไว้แล้วอ่านคนถัดไป วิธีนี้อ่านรายชื่อหลักเพียง…
คิดแบบคอมพิวเตอร์ EP1 : เริ่มจากคิดให้เป็นขั้นตอน
คิดแบบคอมพิวเตอร์ เริ่มจากคิดให้เป็นขั้นตอน เวลาเราบอกเพื่อนว่า “คิดราคารวมให้หน่อย” เพื่อนอาจถามต่อได้ว่าซื้ออะไร กี่ชิ้น แต่เวลาเขียนโปรแกรม เราต้องระบุให้ชัดว่ามีข้อมูลอะไร และต้องทำอะไรกับข้อมูลนั้น ลองคิดตามโจทย์นี้: สมุดเล่มละ 20 บาท ซื้อ 3 เล่ม ต้องจ่ายเท่าไร? เราแยกวิธีทำได้ 3 ขั้น 1. กำหนดข้อมูล: ราคา 20 บาท จำนวน 3…
เขียนโปรแกรมอย่างไรให้เข้าใจอย่างถ่องแท้ : ทำไมต้อง…
“ทำไมต้อง?” ก่อนจะเรียนรู้การเขียนโปรแกรมภาษา C/C++ ให้ไกลไปกว่านี้ ลองย้อนกลับมามองโครงสร้างพื้นฐานที่หลายคนเขียนจนคุ้นมือ #include <iostream> using namespace std; int main() { return 0; } หลายคนจำเพียงว่า “เขียนตามนี้แล้วโปรแกรมจะทำงาน” แต่เคยถามไหมว่า…ทำไมต้องเขียน? ทำไมต้อง #include <iostream> เพราะเรากำลังบอกให้โปรแกรมนำเครื่องมือสำหรับรับและแสดงผลข้อมูล เช่น cin และ cout…
คณิตศาสตร์สำหรับสอบ สอวน.คอมพิวเตอร์ ค่าย 1
ไม่ได้ยากเพราะสูตรเยอะ แต่ยากเพราะ “เลือกใช้ความรู้ให้ถูก” ถ้าพูดถึงการเตรียมตัวสอบ สอวน.คอมพิวเตอร์ ค่าย 1 หลายคนอาจนึกถึง Python, Algorithm หรือการเขียนโปรแกรมเป็นเรื่องแรก ๆ แต่มีอีกส่วนหนึ่งที่ไม่ควรมองข้ามเลย นั่นก็คือ คณิตศาสตร์ และจากที่ผมลองย้อนกลับไปวิเคราะห์ข้อสอบคัดเลือก สอวน.คอมพิวเตอร์ในช่วง 3 ปีล่าสุด ตั้งแต่ พ.ศ. 2567–2569 ผมพบเรื่องหนึ่งที่น่าสนใจมาก ข้อสอบคณิตศาสตร์ไม่ได้เน้นเพียงว่า “จำสูตรได้หรือไม่?” แต่เน้นว่า “เมื่อเจอโจทย์แล้ว…
Python สำหรับสอบ สอวน.คอมพิวเตอร์ ค่าย 1 (วิเคราะห์ข้อสอบ 2567-2569)
เด็กไม่ได้ต้อง “เขียนโปรแกรมเก่ง” อย่างเดียว แต่ต้อง “อ่านโปรแกรมเป็น” ถ้าพูดถึงการเตรียมตัวสอบ สอวน.คอมพิวเตอร์ ค่าย 1 หนึ่งในเรื่องที่นักเรียนแทบทุกคนต้องเจอแน่นอนก็คือ Python แต่จากการย้อนกลับไปดูข้อสอบคัดเลือกในช่วง 3 ปีที่ผ่านมา สิ่งหนึ่งที่เห็นค่อนข้างชัดคือ ข้อสอบไม่ได้ต้องการวัดว่าเด็กจำคำสั่ง Python ได้มากแค่ไหน แต่กำลังวัดว่า “เมื่อเห็นโปรแกรมแล้ว สามารถคิดตามการทำงานของโปรแกรมได้หรือไม่” นี่เป็นคนละเรื่องกันเลยครับ เด็กบางคนเขียน Python ได้หลายบรรทัด รู้จักคำสั่งต่าง ๆ…
สรุปเทคนิคพิชิตข้อสอบ สอวน.คอมพิวเตอร์
พิชิตข้อสอบ สอวน. คอมพิวเตอร์ ครูโจ๊ก ณัฐพล บัวอุไร ทุกปีพอสอบคัดเลือกเข้าค่าย สอวน. คอมพิวเตอร์เสร็จ เสียงบ่นที่ได้ยินบ่อยที่สุดไม่ใช่ “ข้อสอบยาก” แต่เป็น “ทำไม่ทัน” เพราะบางข้อต้องไล่ลูปทีละรอบ บางข้อเป็นเลขที่ถ้าคิดตรง ๆ ก็บานปลาย เวลาเลยหมดก่อนโดยไม่รู้ตัว ความจริงที่ต้องยอมรับก่อนคือไม่มีใครถนัดทุกเรื่อง เทคนิคทั้งหมดนี้จึงไม่ได้สอนให้เก่งทุกอย่าง แต่สอนให้เก็บคะแนนได้มากที่สุดจากสิ่งที่เรามี ภายในเวลาที่จำกัด หลักคิด: ข้อสอบคือเกมเก็บแต้ม ไม่ใช่การพิสูจน์ว่าฉลาด ข้อปรนัยทุกข้อมีค่าเท่ากัน ข้อที่ยากที่สุดกับข้อที่ง่ายที่สุดให้แต้มเท่ากันเป๊ะ…
เราเรียนรู้การเขียนโปรแกรมไปทำไมกันนะ?
เคยไหมครับ… เวลาเห็นหน้าจอสีดำๆ ที่มีตัวหนังสือภาษาอังกฤษและสัญลักษณ์แปลกๆ วิ่งเต็มไปหมด แล้วเกิดคำถามในใจว่า “นี่มันภาษาต่างดาวหรือเปล่าเนี่ย?” หรือ “เราจะมานั่งปวดหัวเรียนเขียนโปรแกรมกันไปทำไม?” หลายคนอาจคิดว่าการเขียนโปรแกรม (Coding) เป็นเรื่องของคนที่อยากเป็นโปรแกรมเมอร์แฮกเกอร์สุดเท่ในหนังฮอลลีวูดเท่านั้น แต่ในความเป็นจริงแล้ว เป้าหมายหลักที่เราเรียนเขียนโปรแกรมกัน มันเรียบง่ายและใกล้ตัวกว่านั้นมากครับ สรุปสั้นๆ เลยก็คือ เราเขียนโปรแกรมเพื่อสร้าง “ผู้ช่วย” ครับ! แล้วผู้ช่วยที่ว่านี้ทำอะไรให้เราได้บ้าง? ลองมาดู 2 เหตุผลหลักๆ ที่ทำให้การเขียนโปรแกรมเปรียบเสมือนเวทมนตร์ในยุคดิจิทัลกันครับ 1. สร้าง “คนงานที่ไม่มีวันเหนื่อย”…
จากชั้นหนังสือ สู่ผู้ช่วยอัจฉริยะ! AI เปลี่ยนโลกการเรียนรู้ไปเบอร์ไหนแล้ว?
จากชั้นหนังสือ สู่ผู้ช่วยอัจฉริยะ! AI เปลี่ยนโลกการเรียนรู้ไปเบอร์ไหนแล้วครับเนี่ย เคยสงสัยไหมครับว่า ตั้งแต่เรามี Generative AI เข้ามา โลกของการหาความรู้มันเปลี่ยนไปขนาดไหน? ถ้าดูจากภาพจะเห็นวิวัฒนาการที่ชัดเจนมาก ลองมาย้อนรอยดูกันดีกว่าว่าเราเดินมาไกลแค่ไหนแล้ว — ### ยุคที่ 1: ห้องสมุด (ยุค “เดินหาและเปิดอ่าน”) จำความรู้สึกตอนครูสั่งทำรายงานหรือสมัยที่เราต้องทำวิจัย โดยต้องหาเอกสารอ้างอิงจากห้องสมุดได้ไหมครับ เราต้องเดินเข้าห้องสมุด ไปงมหาบัตรคำ ยืนไล่ดูสันหนังสือทีละเล่ม นำมาอ่าน นำมากลั่นกรองทั้งหมดด้วยตนเอง เรียกได้ว่า…
