ฉันจะสอน Python ให้เด็ก ๆ ได้อย่างไร

ฉันจะสอน Python ให้เด็ก ๆ ได้อย่างไร

งานหลักของฉันเกี่ยวข้องกับข้อมูลและการเขียนโปรแกรมบน Rแต่ในบทความนี้ฉันต้องการพูดคุยเกี่ยวกับงานอดิเรกของฉันซึ่งนำมาซึ่งรายได้ ฉันมักจะสนใจที่จะเล่าและอธิบายอะไรบางอย่างให้เพื่อนร่วมชั้นและเพื่อนร่วมชั้นฟัง มันเป็นเรื่องง่ายเสมอสำหรับฉันที่จะหาภาษากลางกับเด็กๆ ฉันไม่รู้ว่าทำไม โดยทั่วไปแล้ว ฉันเชื่อว่าการเลี้ยงดูและให้การศึกษาแก่เด็กเป็นกิจกรรมที่สำคัญที่สุดกิจกรรมหนึ่ง และภรรยาของฉันก็เป็นครู ประมาณปีที่แล้ว ฉันลงโฆษณาในกลุ่ม Facebook ท้องถิ่น ตั้งกลุ่ม และเริ่มสอน scratch และ python สัปดาห์ละครั้ง ตอนนี้ฉันมีห้ากลุ่ม ชั้นเรียนของฉันเองในบ้านและบทเรียนส่วนตัว ฉันมาถึงชีวิตเช่นนี้ได้อย่างไรและฉันจะสอนเด็ก ๆ ได้อย่างไรฉันจะบอกในบทความนี้

ฉันอาศัยอยู่ในแคนาดา คาลการี อัลเบอร์ตา ดังนั้นบางประเด็นจะเกี่ยวข้องกับข้อมูลเฉพาะของท้องถิ่น

ห้อง

การมีสถานที่ฝึกซ้อมเป็นปัญหาสำคัญตั้งแต่แรกเริ่ม ฉันพยายามหาสำนักงานและชั้นเรียนให้เช่าเป็นรายชั่วโมง แต่ก็ไม่ประสบความสำเร็จมากนัก มหาวิทยาลัยของเราและ SAIT ซึ่งเทียบเท่ากับ MIT ในท้องถิ่น เรียนทั้งแบบมีและไม่มีคอมพิวเตอร์ ราคาที่นั่นกลายเป็นว่าไม่มีมนุษยธรรมมากนัก แต่สุดท้ายกลับกลายเป็นว่ามหาวิทยาลัยไม่อนุญาตให้ผู้เยาว์เข้ามา และโดยทั่วไป SAIT จะให้เช่าเฉพาะนักศึกษาเท่านั้น ตัวเลือกนั้นจึงตกไป มีศูนย์สำนักงานหลายแห่งที่ให้เช่าห้องประชุมและสำนักงานเป็นรายชั่วโมง มีทั้งบริษัทที่เสนอตัวเลือกมากมายตั้งแต่ชั้นเรียนเต็มรูปแบบไปจนถึงห้องสำหรับสี่คน ฉันมีความหวัง เนื่องจากอัลเบอร์ตาเป็นจังหวัดที่มีน้ำมัน เรามีวิกฤตในระดับต่ำตั้งแต่ปี 2014 และพื้นที่ธุรกิจหลายแห่งว่างเปล่า ฉันหวังโดยเปล่าประโยชน์ราคากลายเป็นว่าสูงมากจนฉันไม่เชื่อในตอนแรก ง่ายกว่าสำหรับเจ้าของที่จะนั่งในสำนักงานที่ว่างเปล่าและจ่ายค่าใช้จ่ายมากกว่าที่จะทิ้งขยะ

ในขณะนั้นฉันจำได้ว่าฉันจ่ายภาษีเป็นประจำและไม่ว่ารัฐที่รักของเราหรือเมืองคาลการีจะมีอะไรที่นั่น ปรากฎว่ามีจริงๆ เมืองนี้มีสนามกีฬาสำหรับเล่นฮอกกี้และสเก็ตลีลาอื่นๆ และในสนามกีฬาเหล่านี้ยังมีห้องที่นักรบน้ำแข็งผู้แข็งแกร่งจะหารือเกี่ยวกับกลยุทธ์สำหรับการต่อสู้ในอนาคต กล่าวโดยย่อ แต่ละอารีน่ามีห้องสองสามห้องพร้อมโต๊ะ เก้าอี้ กระดานไวท์บอร์ด และแม้แต่อ่างล้างจานพร้อมกาต้มน้ำ ราคาค่อนข้างดี - รถทูกริกแคนาดา 25 คันต่อชั่วโมง ตอนแรกฉันตัดสินใจเรียนชั่วโมงครึ่ง ฉันจึงตั้งราคาคลาสละ 35 เหรียญสหรัฐในกลุ่มละ XNUMX คนเพื่อชดเชยค่าเช่า เอาล่ะ เอาของใส่กระเป๋า โดยทั่วไป ฉันชอบฝึกในสนามกีฬา มันช่วยแก้ปัญหาอย่างหนึ่งได้ - ผู้พูดภาษารัสเซียส่วนใหญ่อาศัยอยู่ทางใต้ ส่วนฉันอาศัยอยู่ทางเหนือของเมือง ดังนั้นฉันจึงเลือกสนามกีฬาที่อยู่ตรงกลาง แต่ก็มีความไม่สะดวกเช่นกัน ระบบราชการของแคนาดานั้นดีและเป็นมิตร แต่ถ้าจะพูดอย่างสุภาพก็อาจจะช้าหน่อย ไม่มีปัญหาเมื่อคุณคุ้นเคยกับจังหวะและวางแผนล่วงหน้า แต่บางครั้งก็มีช่วงเวลาที่ไม่พึงประสงค์ เช่นในเว็บไซต์ของเมืองคุณสามารถเลือกเวลาและสถานที่ได้อย่างสะดวกสบาย จองห้องพัก แต่คุณไม่สามารถชำระเงินได้แต่อย่างใด พวกเขาโทรออกและรับชำระเงินด้วยบัตร คุณสามารถไปที่สำนักงานและชำระเป็นเงินสด มีช่วงเวลาที่ตลกแต่ไม่ค่อยน่ายินดีนักเมื่อฉันกำลังรอโทรศัพท์เพื่อชำระค่าบทเรียนครั้งที่สอง ฉันไม่รอ และในวันสุดท้ายฉันไปถึงที่ทำงานสายสิบห้านาที ฉันต้องเข้าหายามด้วยปากกระบอกปืนที่อวดดีและโกหกว่าห้องถูกจองแล้ว พวกเราชาวแคนาดาเชื่อตามคำของเรา พวกเขาปล่อยให้ฉันเข้าไปอย่างใจเย็นและไม่ตรวจอะไรอีก แต่ฉันจะไม่ทำอย่างนั้นถ้าคนอื่นยังมาไม่ถึงชั้นเรียน

ดังนั้นฉันจึงทำฤดูหนาวและฤดูใบไม้ผลิ จากนั้นมีการเปลี่ยนแปลงที่กลายเป็นฟางเส้นสุดท้าย ประการแรก สำนักงานปิดไม่ให้ผู้มาเยี่ยมเยียนและเสนอให้รับชำระเงินทางโทรศัพท์ ฉันนั่งอยู่ตรงทางเดินอย่างน้อยครึ่งชั่วโมงก่อนจะไปถึง ประการที่สอง ถ้าก่อนหน้านี้ป้าที่รักของฉันรับชำระเงินจากฉันเป็นเวลาหนึ่งชั่วโมงครึ่ง ตอนนี้มีผู้หญิงบางคนรับโทรศัพท์และบอกว่าการชำระเงินนั้นใช้เวลาเพียงหนึ่งชั่วโมงเท่านั้น ในเวลานั้นฉันมีกลุ่มสามคนจากนั้นสองคนและเงินพิเศษ $ 12.5 ก็ไม่ได้ฟุ่มเฟือยเลย แน่นอน ฉันเป็นคนมีอุดมการณ์ แต่ถ้าภรรยาของฉันไล่ฉันออกไปที่ถนน ก็จะไม่มีใครสอน ตอนนั้นฉันยังว่างงานอยู่

และฉันตัดสินใจไปห้องสมุด ห้องสมุดให้เช่าห้องสวย ๆ ฟรี แต่มีสิ่งหนึ่ง - คุณไม่สามารถทำกิจกรรมเชิงพาณิชย์ได้ แม้แต่องค์กรการกุศลก็ไม่ได้รับอนุญาตให้เก็บเงินที่นั่น ฉันบอกว่าสิ่งนี้ไม่ได้ถูกควบคุมเป็นพิเศษ สิ่งสำคัญคือห้ามเอาเงินที่ทางเข้า แต่ฉันไม่ชอบฝ่าฝืนกฎจริงๆ ปัญหาอีกประการหนึ่งคือห้องมักจะยุ่งและยากที่จะจัดตารางเรียนพร้อมกันในที่เดียว ฉันสอนในห้องสมุดในฤดูร้อนและต้นฤดูหนาวฉันต้องเลือกห้องสมุดที่มีสถานที่ดังนั้นฉันจึงเปลี่ยนห้องสมุดห้าหรือหกแห่ง จากนั้นฉันก็เริ่มจองสถานที่ล่วงหน้าสองเดือน และกลายเป็นว่าทำในห้องสมุดเล็กๆ แห่งเดียว ส่วนที่เหลือมักจะไม่มีสถานที่ในเวลาที่เหมาะสม จากนั้นฉันก็ตัดสินใจเรียนคอมพิวเตอร์ที่บ้าน ฉันวางสายบอร์ด ซื้อโต๊ะตัวที่สองและจอมอนิเตอร์เก่าสองสามจอในโฆษณา ที่ทำงาน บริษัทซื้อแล็ปท็อปทรงพลังเครื่องใหม่ให้ฉัน เพราะการวิเคราะห์ในคอมพิวเตอร์ของฉันใช้เวลาเกือบ 24 ชั่วโมง โดยรวมแล้ว ฉันมีคอมพิวเตอร์เครื่องเก่าเครื่องใหม่ คอมพิวเตอร์เครื่องเก่า แล็ปท็อปที่หน้าจอเล็กๆ ของฉันพัง และเน็ตบุ๊กโบราณที่ฉันทำหน้าจอแตกเอง ฉันเชื่อมต่อทั้งหมดเข้ากับมอนิเตอร์และติดตั้ง Linux mint ทุกที่ยกเว้นเน็ตบุ๊กที่ฉันติดตั้งการกระจายแสงที่เบามาก ฉันยังมีแล็ปท็อปเครื่องเก่าเครื่องใหม่ที่ซื้อมาในราคา 200 ดอลลาร์ ฉันเชื่อมต่อกับทีวี ที่สำคัญกว่านั้น โฮสต์ของเราเพิ่งเปลี่ยนหน้าต่างให้เรา และตอนนี้ห้องมีกรอบสีขาวใหม่แทนที่ความทรุดโทรมอันน่าสยดสยอง ภรรยาเก็บห้องนั่งเล่น ห้องครัว และห้องนอนห้องที่สองไว้เป็นโรงเรียนอนุบาล ดังนั้นทั้งชั้นจึงกลายเป็นห้องสำหรับสอนหนังสือ ตอนนี้ทุกอย่างเรียบร้อยดีในห้องไปที่การสอนโดยตรง

เกา

ฉันเริ่มให้พื้นฐานการเขียนโปรแกรมด้วยภาษา Scratch นี่คือภาษาที่ใช้บล็อกสำเร็จรูปซึ่งคิดค้นขึ้น ณ เวลาที่ MIT เด็กส่วนใหญ่เคยเห็นรอยขีดข่วนที่โรงเรียนแล้ว ดังนั้นพวกเขาจึงคุ้นเคยกับมันอย่างรวดเร็ว มีโปรแกรมสำเร็จรูปและแผนการสอนแต่ไม่ชอบเลย บางคนแปลก - สร้างเรื่องราวของคุณเอง โปรแกรมทั้งหมดประกอบด้วยบล็อกนับไม่ถ้วน say '<...>' for 2 seconds. จะเห็นได้ว่ามีคนที่มีความคิดสร้างสรรค์มาก แต่ด้วยวิธีการนี้ คุณสามารถสอนวิธีเขียนรหัสสปาเก็ตตี้แบบคลาสสิกของอินเดียได้ ฉันพูดถึงหลักการเช่น DRY ตั้งแต่เริ่มต้น คอลเลกชันอื่นๆ ของงานค่อนข้างดี แต่เด็กๆ เข้าประเด็นอย่างรวดเร็วและเริ่มทำให้เหมือนปืนกล เป็นผลให้ในบทเรียนเดียวพวกเขาทำในสิ่งที่ควรทำในห้าบทเรียน และต้องใช้เวลาส่วนตัวมากในการค้นหาและเลือกงาน โดยทั่วไปแล้ว scratch นั้นไม่ใช่ภาษา แต่เป็น IDE ซึ่งคุณเพียงแค่ต้องจำตำแหน่งที่จะคลิกและตำแหน่งที่จะค้นหาบางสิ่ง ทันทีที่นักเรียนมีความชำนาญไม่มากก็น้อย ฉันพยายามแปลเป็นภาษาไพธอน ฉันยังมีเด็กผู้หญิงอายุเจ็ดขวบที่เขียนโปรแกรมอย่างง่ายด้วยภาษาไพธอน สิ่งที่ฉันเห็นว่าเป็นข้อดีของ scratch คือมันมีแนวคิดพื้นฐานที่เรียนรู้ด้วยวิธีที่สนุกสนาน ด้วยเหตุผลบางอย่างเป็นเรื่องยากมากสำหรับทุกคนโดยไม่มีข้อยกเว้นที่จะเข้าใจแนวคิดของตัวแปร ตอนแรกฉันอ่านหัวข้อนี้อย่างรวดเร็วและเดินต่อไปจนกระทั่งฉันพบว่าพวกเขาไม่รู้ว่าจะทำอย่างไรกับมัน ตอนนี้ฉันอุทิศเวลามากมายให้กับตัวแปรและกลับไปที่ตัวแปรเหล่านั้นอย่างต่อเนื่อง คุณต้องทำการสวอตติ้งแบบโง่ๆ ฉันเปลี่ยนตัวแปรต่าง ๆ บนหน้าจอและทำให้พวกมันบอกค่าของมัน Scratch ยังมีโครงสร้างการควบคุมและการตรวจสอบมูลค่า เช่น while, for หรือ if ในหลาม พวกมันได้รับค่อนข้างง่าย แต่มีปัญหากับลูปที่ซ้อนกัน ฉันพยายามให้งานหลายอย่างด้วยการวนซ้ำที่ซ้อนกัน และเพื่อให้การกระทำนั้นมองเห็นได้ หลังจากนั้นฉันไปที่ฟังก์ชั่น แม้แต่ผู้ใหญ่ แนวคิดของฟังก์ชันก็ยังไม่ชัดเจน และยิ่งกว่านั้นสำหรับเด็ก เป็นเวลานานที่ฉันตรึงกางเขนว่าหน้าที่โดยทั่วไปคืออะไร โดยพูดถึงโรงงานที่รับสิ่งของเป็นอินพุต แต่แจกสินค้า เกี่ยวกับแม่ครัวที่ทำอาหารจากผลิตภัณฑ์ดิบ จากนั้นเราสร้างโปรแกรมเพื่อ "ทำแซนวิช" กับผลิตภัณฑ์ จากนั้นเราสร้างฟังก์ชันจากมัน ซึ่งผลิตภัณฑ์จะถูกส่งผ่านเป็นพารามิเตอร์ ในการศึกษาฟังก์ชัน ฉันจบด้วยการขีดข่วน

หลาม

ง่ายกว่าด้วยไพทอน มีหนังสือดีๆ เล่มหนึ่งชื่อ Python for Kids และฉันใช้มันเพื่อสอน ทุกอย่างเป็นมาตรฐาน - บรรทัดคำสั่งของการดำเนินการ print(), input() เป็นต้น เขียนด้วยภาษาง่ายๆ มีอารมณ์ขัน เด็กๆชอบ มีข้อบกพร่องทั่วไปในหนังสือการเขียนโปรแกรมหลายเล่ม ในเรื่องตลกที่รู้จักกันดี - วิธีวาดนกฮูก วงรี - วงกลม - นกฮูก จากแนวคิดง่ายๆ การเปลี่ยนอย่างรวดเร็วไปสู่แนวคิดที่ค่อนข้างซับซ้อน ฉันใช้เวลาหลายเซสชันเพื่อแนบวัตถุกับเมธอด dot ในทางกลับกัน ฉันไม่รีบร้อน ฉันทำสิ่งเดิมซ้ำๆ ด้วยวิธีต่างๆ จนกว่าจะมีภาพบางอย่างปรากฏขึ้น ฉันเริ่มต้นด้วยตัวแปรและตอกมันอีกครั้ง คราวนี้เป็นไพธอน ตัวแปรเป็นคำสาป

นักเรียนที่มีไหวพริบ ซึ่งเมื่อสองสามเดือนก่อนคลิกตัวแปรอย่างช่ำชองบนกระดาน ดูเหมือนแกะที่ประตูใหม่ และไม่สามารถเพิ่ม X กับ Y ซึ่งเขียนไว้อย่างชัดเจนบนกระดานในบรรทัดด้านบน เราขอย้ำ! ตัวแปรมีอะไรบ้าง? ชื่อและความหมาย! เครื่องหมายเท่ากับหมายความว่าอย่างไร งานที่มอบหมาย! เราจะตรวจสอบความเท่าเทียมกันได้อย่างไร? เครื่องหมายเท่ากับสองเท่า! ซ้ำแล้วซ้ำอีกจนกว่าจะตรัสรู้สมบูรณ์ จากนั้นเราจะไปยังฟังก์ชันซึ่งคำอธิบายเกี่ยวกับข้อโต้แย้งจะใช้เวลานานที่สุด ชื่ออาร์กิวเมนต์ ตามตำแหน่ง ตามค่าเริ่มต้น และอื่นๆ เรายังไม่ได้เข้าเรียนเลย นอกจากไพธอนแล้ว เรายังศึกษาอัลกอริทึมที่ได้รับความนิยมจากหนังสือ และเพิ่มเติมในภายหลัง

ที่จริงการฝึกอบรม

บทเรียนของฉันจัดแบบนี้ - ครึ่งชั่วโมงฉันให้ทฤษฎี ตรวจสอบความรู้ รวมสิ่งที่ฉันได้เรียนรู้ ชั่วโมง - ห้องปฏิบัติการ บ่อยครั้งที่ฉันถูกพาไปและออกอากาศนานถึงหนึ่งชั่วโมงจากนั้นเหลืออีกครึ่งชั่วโมงสำหรับการฝึกฝนตามลำดับ เมื่อฉันเรียน python ฉันได้ทบทวนหลักสูตร อัลกอริทึมและโครงสร้างข้อมูล Khiryanova จาก MIPT ฉันชอบการนำเสนอและโครงสร้างการบรรยายของเขามาก แนวคิดของเขาคือเฟรมเวิร์ค วากยสัมพันธ์ และไลบรารีล้าสมัย สถาปัตยกรรม การทำงานเป็นทีม ระบบควบคุมเวอร์ชัน - ยังเร็วเกินไป เป็นผลให้มีอัลกอริทึมและโครงสร้างข้อมูลที่รู้จักกันมานานและจะอยู่ในรูปแบบที่คล้ายคลึงกันเสมอ ตัวฉันเองจำได้เฉพาะจำนวนเต็มจากสถาบัน Pascal เนื่องจากนักเรียนของฉันส่วนใหญ่อายุยังน้อย ตั้งแต่เจ็ดถึงสิบห้าปี ฉันเชื่อว่าการวางรากฐานสำหรับอนาคตของพวกเขาสำคัญกว่าการเขียน platformer ด้วย Python อย่างรวดเร็ว แม้ว่าพวกเขาจะต้องการ platformer มากกว่า และฉันเข้าใจพวกเขา ฉันให้อัลกอริธึมง่ายๆ แก่พวกเขา - ฟองสบู่ การค้นหาแบบไบนารีในรายการที่เรียงลำดับ การย้อนกลับสัญกรณ์ภาษาโปแลนด์โดยใช้สแต็ก แต่เราวิเคราะห์แต่ละอันโดยละเอียด ปรากฎว่าเด็กสมัยใหม่ไม่ทราบหลักการว่าคอมพิวเตอร์ทำงานอย่างไร ฉันก็บอกคุณเช่นกัน ฉันพยายามผูกแนวคิดหลายอย่างเข้าด้วยกันในแต่ละการบรรยาย ตัวอย่างเช่น คอมพิวเตอร์ - หน่วยความจำ / โปรเซสเซอร์ - หน่วยความจำจากเซลล์ (ขอผมถือแผ่นหน่วยความจำแล้วเดาว่ามีกี่เซลล์) - แต่ละเซลล์เหมือนหลอดไฟ - มีสองสถานะ - จริง / เท็จ - และ / หรือ - ไบนารี / ทศนิยม - 8 บิต = 1 ไบต์ - ไบต์ = 256 ตัวเลือก - ชนิดข้อมูลบูลีนต่อบิต - จำนวนเต็มต่อไบต์ - float ในสองไบต์ string ในหนึ่งไบต์ - จำนวนที่ใหญ่ที่สุดใน 64 บิต - รายการและทูเพิลจากประเภทก่อนหน้า ฉันขอสงวนว่าในคอมพิวเตอร์จริงทุกอย่างจะค่อนข้างแตกต่างกันและจำนวนหน่วยความจำที่แตกต่างกันสำหรับประเภทข้อมูลเหล่านี้ แต่สิ่งสำคัญคือเราเองสร้างประเภทข้อมูลที่ซับซ้อนมากขึ้นจากประเภทที่ง่ายกว่าในกระบวนการ ประเภทข้อมูลอาจเป็นสิ่งที่ยากที่สุดในการจดจำ ดังนั้น ฉันจึงเริ่มแต่ละบทเรียนด้วยการอุ่นเครื่องอย่างรวดเร็ว นักเรียนคนหนึ่งตั้งชื่อประเภทข้อมูล คนถัดไปให้ตัวอย่างสองตัวอย่าง และต่อไปเรื่อยๆ ในวงกลม เป็นผลให้ฉันประสบความสำเร็จแม้กระทั่งเด็กที่อายุน้อยที่สุดก็ตะโกนอย่างร่าเริง - ลอย! บูลีน! เจ็ดห้า! พิซซ่า รถ! ในระหว่างการบรรยายฉันดึงอย่างใดอย่างหนึ่งอย่างต่อเนื่องมิฉะนั้นพวกเขาจะเริ่มแคะจมูกอย่างรวดเร็วและมองไปที่เพดาน ใช่ และควรตรวจสอบระดับความรู้ของแต่ละคนระหว่างเวลา

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

ฉันต้องการเขียนมากกว่านี้ แต่ถึงอย่างนั้นแผ่นงานก็เปิดออก ฉันจะตอบทุกคำถามด้วยความยินดี ฉันยินดีรับฟังคำวิจารณ์ในทุกวิถีทาง ขอเพียงขอให้มีความอดทนต่อกันและกันมากขึ้นในความคิดเห็น นี่เป็นบทความที่ดี.

ที่มา: will.com

เพิ่มความคิดเห็น