Scratch กับ Python: เด็กควรเรียนลำดับไหนดี?
มองภาคปฏิบัติว่าเด็กควรเริ่มต้นด้วย Scratch หรือ Python พร้อมแนวทางด้านอายุและเส้นทางการเปลี่ยนผ่านที่สมจริงระหว่างทั้งสอง
พ่อแม่ถามเรื่องนี้ตลอดเวลา มักจะเป็นหลังจากที่เด็กจบค่ายเขียนโปรแกรมหรือขอให้เรียน "โปรแกรมจริงๆ" เพราะ Scratch รู้สึกเหมือนของเด็กเล็กเกินไป คำตอบที่ตรงไปตรงมาขึ้นอยู่กับอายุและสิ่งที่เด็กต้องการสร้างจริงๆ ไม่ใช่ว่าภาษาไหนดูน่าประทับใจกว่าในประวัติศาสตร์
Scratch สอนอะไรจริงๆ
Scratch ถูกสร้างโดย MIT Media Lab ใช้บล็อกลากวาง แทนไวยากรณ์พิมพ์ เด็กเชื่อมต่อบล็อกเช่น "move 10 steps" และ "if touching edge, bounce" เพื่อสร้างเกมและภาพเคลื่อนไหว ไม่มี semicolon ที่ลืม ไม่มีข้อผิดพลาด indentation ไม่มี traceback ลึกลับ
มันสำคัญมากกว่าที่ฟังดูในแรกเห็น เด็กอายุ 6 ถึง 10 ปียังคงสร้างแบบจำลองจิตของสิ่งที่โปรแกรมคือ: ลำดับ ลูป เงื่อนไข ตัวแปร เหตุการณ์ Scratch ปอกเปลือกไวยากรณ์ออกเพื่อให้พวกเขาสามารถมุ่งเน้นไปที่ตรรกะทั้งหมด เด็กอายุ 7 ปีสามารถสร้างเกมที่ทำงานได้โดยใช้สไปรต์สองตัวซ่อนกันในเวลาน้อยกว่าหนึ่งชั่วโมง และการดูข้อมูลเสียบป้อนช่วงทันทีคือสิ่งที่ทำให้พวกเขากลับมาอีก
เพดานเป็นของจริง แม้ว่า Scratch จะเสียชะแลงเมื่อโครงการมีความซับซ้อน ไม่มีฟังก์ชันที่เหมาะสมกับค่าส่งคืนในวิธีที่ Python มี ไม่มีโครงสร้างข้อมูลจริงนอกเหนือจากรายการ และไม่มีวิธีการทำงานกับไฟล์ เครือข่าย หรือ API ผู้ใช้ Scratch ที่จริงจังชนกับผนังนี้ประมาณอายุ 11 หรือ 12 ปี
สิ่งที่ Python เพิ่มเมื่อพวกเขาพร้อม
Python แนะนำไวยากรณ์จริง: def, for, if/else, กฎ indentation ที่สำคัญ นั่นคือการกระโดดจริงในโหลดข้อมูลความรู้ เด็กที่ไม่เคยเขียนโปรแกรมมาก่อนและเริ่มด้วย Python ที่อายุ 8 ปีจะใช้พลังงานจิตใจส่วนใหญ่ในการต่อสู้กับ interpreter — colon ที่ขาดหายไป ประเภทที่ไม่ตรงกัน ข้อความ IndentationError ที่ยังไม่หมายถึงพวกเขา
แต่ Python เปิดประตูที่ Scratch ไม่เคยจะเปิด เด็กสามารถเขียนสคริปต์ที่เปลี่ยนชื่อไฟล์ 200 ไฟล์ในโฟลเดอร์ scrape หน้าเว็บสำหรับข้อมูลสภาอากาศ สร้าง Discord bot หรือใช้ turtle และ pygame เพื่อสร้างกราฟิกด้วยโค้ดจริงแทนบล็อก ประมาณอายุ 11 ถึง 13 ปี เด็กส่วนใหญ่ที่ทำ Scratch มาแล้วพร้อมทางการรับรู้สำหรับการเปลี่ยนแปลงนี้ โดยเฉพาะถ้าพวกเขาชนข้อจำกัดของ Scratch อย่างหลังเลือดและมีแรงจูงใจที่จะแก้ไข
จุดการเปลี่ยนผ่านที่ทำงานจริง
เส้นทางที่นุ่มนวลที่สุดที่ฉันเคยเห็นไม่ใช่ Scratch-then-Python เป็นการเปลี่ยนแปลงที่แน่นอน — คือการใช้ความหงุดหงิดเองเป็นตัวทริกเกอร์ เมื่อเด็กพยายามสร้างบางสิ่งใน Scratch และไม่ได้ (ระบบสินค้าคงคลัง ข้อมูลบันทึกระหว่างเซสชัน พูดคุยกับ API) นั่นคือช่วงเวลาที่จะแนะนำ Python เพราะตอนนี้พวกเขามีเหตุผลที่จะทำให้โอเวอร์เฮด syntax ทนได้
เครื่องมือที่เติมช่องว่างช่วยได้:
- Scratch's own "convert to text" mindset — ครูบางคนให้เด็กอธิบายตรรกะ Scratch ของพวกเขาในภาษาอังกฤษธรรมชาติก่อน ซึ่งแม็พกับความสามารถในการอ่านของ Python อย่างน่าประหลาดใจ
- Python's
turtlemodule รู้สึกคล้ายกับการเคลื่อนไหวของสไปรต์ของ Scratch ดังนั้นการกระโดดจึงไม่รู้สึกเหมือนเริ่มต้นใหม่ - Trinket.io หรือ Replit ให้เด็กรัน Python ในเบราว์เซอร์โดยไม่มีการตั้งค่า ซึ่งสำคัญเพราะการติดตั้ง Python และการกำหนดค่าตัวแปร
PATHเป็นอุปสรรคที่แท้จริงสำหรับเด็กอายุ 10 ปี (และจริงๆ แล้วสำหรับผู้ใหญ่หลายคนเช่นกัน)
อายุไม่ใช่ตัวแปรเดียว
เด็กที่อ่านและพิมพ์ได้อย่างมั่นใจในอายุ 9 ปีอาจพร้อมสำหรับ Python ก่อนเด็ก 12 ปีแต่ยังคงพัฒนาทักษะมอเตอร์ฟาইน์และทักษะการอ่าน ดูสัญญาณสองสัญญาณ: พวกเขาสามารถพิมพ์ได้เร็วพอสมควรโดยไม่ค้นหากุญแจทุกกุญแจ และพวกเขาหงุดหงิดด้วยความคลุมเครือหรือพวกเขาชอบการแก้จุดบกพร่องเป็นปริศนา เด็กที่ชอบ
เขียนด้วยความช่วยเหลือของ AI ตรวจสอบและเผยแพร่โดย Michal Pilch (CISSP), Korra Studio
นี่คือบันทึกหนึ่งจากฐานความรู้ของ Korra Studio — แพลตฟอร์มจับคู่หัวข้อแต่ละหัวข้อกับการฝึกสอนแบบ 1-to-1
เริ่มใช้งานฟรีarrow_forward