CS Unplugged เรียน Coding โดยไม่ใช้คอมพิวเตอร์

CS Unplugged เรียน Coding โดยไม่ใช้คอมพิวเตอร์

Computer Science Unplugged หรือ CS Unplugged เป็นแนวคิดการเรียนการสอนเพื่อสร้างความเข้าใจในหลักการพื้นฐานของวิทยาการคอมพิวเตอร์ได้โดยไม่จำเป็นต้องใช้เครื่องคอมพิวเตอร์ แต่เป็นการใช้กิจกรรม การเล่นสนุก บัตรคำ ปริศนา เกม กระดาน ดินสอสี อุปกรณ์ และสิ่งรอบตัวมาประกอบกันเพื่อเป็นสื่อในการแก้ปัญหา ทำให้เกิดการเรียนรู้ให้เข้าใจในหลักการพื้นฐานของวิทยาการคอมพิวเตอร์และวิทยาการคำนวณ


กิจกรรม CS Unplugged ฝึกให้เด็กคิดแก้ปัญหาและคิดอย่างเป็นระบบ ด้วยการเล่นเกมหรือกิจกรรมที่เกิดขึ้นในชีวิตประจำวัน เป็นพื้นฐานต่อยอดการศึกษาต่อในศาสตร์อื่นอันเกี่ยวกับคอมพิวเตอร์ เช่น ต้องการให้ได้แถวที่เรียงลำดับความสูง ด้วยวิธีการจัดลำดับ (sorting algorithm) แบบต่างๆ เช่น การจัดเรียงแบบ Bubble Sort โดยเทียบความสูงคนที่ยืนติดกันทีละคู่ ให้คนที่ตัวสูงกว่าขยับไปด้านขวา ทำซำ้เช่นนี้เรื่อยไปจนได้การจัดแถวที่เรียงลำดับความสูงครบทุกคน วิธีการนี้ผู้เรียนสามารถเข้าใจอัลกอริธึมในการจัดเรียงข้อมูลผ่านกิจกรรมการจัดแถวนี้ได้ โดยไม่ต้องใช้เครื่องคอมพิวเตอร์


ตัวอย่างของกิจกรรม CS Unplugged ในระดับชั้นประถมศึกษาปีที่ 1-3 การเรียน coding จะเน้นกระบวนการคิด การคิดอย่างเป็นเหตุเป็นผล การคิดอย่างเป็นขั้นตอน มากกว่าการใช้คอมพิวเตอร์ เน้นการมีปฏิสัมพันธ์ การสื่อสารกับเพื่อนร่วมชั้นเรียน ทำให้เด็กรู้สึกสนุกสนาน สามารถจัดกิจกรรมโดยใช้บัตรคำสั่ง เกม เป็นต้น หากต้องการได้ตัวอย่างการจัดกิจกรรม สามารถดาวน์โหลดหนังสือ “ซีเอส อันปลั๊ก โปรแกรมเสริมสมรรถนะและขยายความสามารถของเด็กระดับปฐมวัย (ฉบับแปลภาษาไทย)” สนับสนุนโดย Google Inc. แปลเป็นฉบับภาษาไทยโดยอาจารย์และนักศึกษามหาวิทยาลัยธรรมศาสตร์ หนังสือมีเนื้อหาเหมาะสำหรับเด็กอายุตั้งแต่ 6 ปีขึ้นไป โดยหนังสือนี้จะแบ่งออกเป็น 6 บท ตั้งแต่พื้นฐานของคอมพิวเตอร์ เช่น เลขฐาน 2 สีจากตัวเลข การบีบอัดข้อมูล อัลกอรีทึม และ การเรียงลำดับ เป็นต้น สามารถดาวน์โหลดได้ที่นี่ หรือศึกษาแนวทางการจัดกิจกรรมกาเรียนรู้ผ่านบทเรียนออนไลน์ของ StarfishLabz ได้ที่ https://www.starfishlabz.com/คอร์ส/91-cs-unplugged


ทักษะและความรู้ที่ได้จากการทำกิจกรรม CS Unplugged นำไปสู่การแก้ปัญหาอย่างเป็นลำดับขั้นตอน เป็นหลักการที่มีประโยชน์ สามารถนำมาประยุกต์ใช้กับสถานการณ์ทั้งในชีวิตประจำวันหรือกิจกรรมอื่นที่ได้รับมอบหมาย และสามารถนำไปต่อยอดไปสู่แนวคิดในการพัฒนาโปรแกรมหรือเรียกว่าแนวคิดเชิงคำนวณ (Computational Thinking) ประกอบด้วย 4 องค์ประกอบคือ


1. Decomposition (การแยกย่อยปัญหา) เป็นการย่อยปัญหาหรือระบบที่ซับซ้อนออกเป็นส่วนย่อย เพื่อให้ง่ายต่อการจัดการและแก้ปัญหาได้ง่ายขึ้น เช่น หากต้องการเข้าใจว่าระบบของพัดลมว่ามีการทำงานอย่างไร ทำได้โดยการแยกพัดลมออกเป็นส่วนๆ แล้วสังเกตและทดสอบการทำงานของแต่ละองค์ประกอบ จะเข้าใจได้ง่ายกว่าวิเคราะห์จากระบบใหญ่ที่ซับซ้อน


2. Pattern Recognition (การจดจำรูปแบบ) เมื่อเราย่อยปัญหาออกเป็นส่วนเล็กๆ ขั้นตอนต่อไปคือการหารูปแบบ ความสัมพันธ์ที่เกี่ยวข้องกัน หรืออาจเป็นลักษณะที่เหมือนกันหรือต่างกันของปัญหาส่วนเล็กๆ ที่ได้ถูกย่อยออกมา เช่น หากต้องการสร้างยานพาหนะ ยานพาหนะย่อมมีลักษณะบางอย่างที่เหมือนกัน คือมีล้อ จำนวนที่นั่ง สี และสามารถขับเดินหน้า ถอยหลัง และเบรคได้ ลักษณะที่มีร่วมกันนี้ เราเรียกว่ารูปแบบ เมื่อเราสามารถอธิบายยานพาหนะหนึ่งคันได้ เราจะอธิบายลักษณะของยานพาหนะคันอื่นๆ ได้ ตามรูปแบบที่เหมือนกันนั่นเอง เช่น รถยนต์ รถเมล์ รถกระบะ รถจักรยาน รถตุ๊กๆ


3. Abstraction (การคิดเชิงนามธรรม) เป็นกระบวนการคัดแยกคุณลักษณะที่สำคัญออกจากรายละเอียดในโจทย์ปัญหา หรืองานที่กำลังพิจารณาเพื่อให้ได้องค์ประกอบที่จำป็นเพียงพอและกระชับที่สุด มุ่งความคิดไปที่ข้อมูลสำคัญ และคัดกรองส่วนที่ไม่เกี่ยวข้องออกไป เพื่อให้ได้องค์ประกอบที่กระชับและจำเป็นเพียงพอในการแก้ปัญหา ผลลัพธ์ของการคิดเชิงนามธรรม เรียกว่า แบบจำลอง (Model) เช่น แม้ว่ายานพาหนะแต่ละคันจะมีลักษณะเหมือนกัน แต่ก็มีลักษณะเฉพาะตัวที่ต่างกัน เช่น รถยนต์สีขาว 4 ล้อ 7 ที่นั่ง ความคิดด้านนามธรรมจะคัดกรองลักษณะที่ไม่ได้ร่วมกันกับรถคันอื่นๆ ออกไป เพราะรายละเอียดที่ไม่เกี่ยวข้องเหล่านี้ ไม่ได้ช่วยให้เราอธิบายลักษณะพื้นฐานในการสร้างยานพาหนะออกมาได้ กระบวนการคัดกรองสิ่งที่ไม่เกี่ยวข้องออกไป และมุ่งที่รูปแบบซึ่งช่วยให้เราแก้ปัญหาได้เรียกว่าแบบจำลอง(model) เมื่อเรามีความคิดด้านนามธรรม ช่วยให้รู้ว่าไม่จำเป็นที่ยานพาหนะทุกคันต้องสีขาวและมี 4 ประตู หรือทำให้มีแบบจำลองความคิดที่ชัดเจนขึ้นนั่นเอง


4. Algorithm (ขั้นตอนวิธี) คือการพัฒนาแนวทางแก้ปัญหาอย่างเป็นขั้นเป็นตอน หรือสร้างหลักเกณฑ์ขึ้นมาเพื่อดำเนินตามทีละขั้นตอนในการแก้ไขปัญหา เช่น เมื่อเราต้องการสั่งคอมพิวเตอร์ให้ทำงานบางอย่าง เราต้องเขียนโปรแกรมคำสั่งเพื่อให้ทำงานไปตามขั้นตอน การวางแผนเพื่อให้คอมพิวเตอร์ทำงานตอบสนองความต้องการนี้เรียกว่าขั้นตอนวิธี คอมพิวเตอร์จะทำงานได้ดีเพียงใด ขึ้นอยู่กับชุดคำสั่งที่เรากำหนดให้ทำงานนั่นเอง การออกแบบขั้นตอนวิธียังเป็นประโยชน์ต่อการคำนวณ การประมวลผลข้อมูลและการวางระบบอัตโนมัติต่างๆ


เอกสารอ้างอิง

•   school.dek-d.com/blog/featured/การคิดเชิงคำนวณ/

•   www.teachernu.com/2019/01/02/แนวคิดเชิงคำนวณ/

•   www.bangkokbiznews.com/blog/detail/647968

•   thepotential.org/2019/10/08/coding-from-coder-poomparin/

•   medium.com/kru-jo/หนังสือ-cs-unplugged-สอน-coding-แบบไม่ต้องเสียบปลั๊ก-ฟรี-cf677cb81d38


เรียบเรียบโดย ชฎารัตน์ พิพัฒนนันท์

ผู้เชี่ยวชาญในการพัฒนาครูและนักเทคโนโลยีทางการศึกษา

StarfishLabz และ Starfish Academy

มูลนิธิโรงเรียนสตาร์ฟิชคันทรีโฮม