วันอาชีพในโรงเรียนอนุบาล: จะสาธิตการเขียนโปรแกรมได้อย่างไรภายใน 20 นาที [ปิด]


187

คำถามเดิม

ฉันได้รับเชิญให้เข้าร่วมกลุ่มอนุบาลของลูกสาวคนโตของฉันเพื่อพูดคุยและตอบคำถามเด็ก ๆ เกี่ยวกับอาชีพของฉัน มีเด็กอายุ 26 4-6 ปีในกลุ่มรวมทั้งครู 3 คนที่กลัวสิ่งต่าง ๆ ที่เกี่ยวข้องกับการเขียนโปรแกรมและไอทีด้วยตนเอง แต่กล้าพอที่จะเรียนรู้เทคนิคใหม่ ๆ ฉันจะมีประมาณ 20-30 นาทีโดยไม่มีโปรเจ็กเตอร์หรืออะไร พวกเขามีคอมพิวเตอร์เครื่องเก่าซึ่งอาจจะเป็น 486 แต่ฉันก็ไม่แน่ใจว่ามันใช้งานได้หรือไม่ (อัปเดต: ไม่มี)

การวิจัยของฉันปรากฏหัวข้อก่อนหน้านี้ที่ยอดเยี่ยมพร้อมด้วยเคล็ดลับดีๆมากมาย:

สถานการณ์ของฉันแตกต่างจากที่กล่าวมาข้างต้น: สถานการณ์หลังเกี่ยวข้องกับเด็กโตในขณะที่สถานการณ์แรกเกี่ยวข้องกับการพูดคุยกับเด็กคนเดียว (หรือผู้สูงอายุ) - กลุ่มอายุ 20 ปีเป็นความท้าทายที่แตกต่างกันโดยสิ้นเชิง

ฉันจะสอนเด็ก ๆ และครูของพวกเขาเกี่ยวกับการเขียนโปรแกรมอย่างสนุกได้อย่างไร


แผนตามคำตอบ

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

ฉันรวบรวมแผนคร่าวๆ:

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

นี่คือแผนของฉัน - ฉันค่อนข้างแน่ใจว่ามันจะเปิดออกแตกต่างกันมากดังนั้นฉันจะโพล่งออกมาตามสถานการณ์ งานนำเสนอมีกำหนดเวลาประมาณ 2 สัปดาห์ - ฉันจะอัปเดตโพสต์หลังจากนั้นและบอกว่ามันเกิดขึ้นจริง ...


ผล

ในที่สุดวันที่นำเสนอมาถึงวันนี้ ... โดยสังเขปทุกอย่างเป็นไปด้วยดีและมันก็เป็นความสำเร็จที่ยิ่งใหญ่ :-)

กลุ่มกลายเป็นกระสับกระส่ายและมีพลังมากในครั้งนี้ดังนั้นการสนทนาบางครั้งก็วุ่นวายเล็กน้อย ฉันต้องตัดให้สั้นและไปที่ Big Sandwich Maker Show จิมอธิบายเด็ก ๆชอบมันมาก

มีผลข้างเคียงที่ไม่คาดคิดเกิดขึ้น: หลังจากขนมปังชิ้นแรกก็พร้อมในที่สุดทุกคนต้องการกิน! ดังนั้นในขณะที่ - ในระหว่างที่ฉันพยายามติดตามการสนทนาและอธิบายเพิ่มเติมเกี่ยวกับการเขียนโปรแกรม - เราต้องติดตั้งสายบริการฉุกเฉินกับครูอนุบาลเพื่อผลิตขนมปังแยมผิวส้มจำนวนมากและเลี้ยงฝูงชนที่หิวโหย หนึ่งชั่วโมงหลังอาหารเช้าสำหรับบันทึก :-) จากนั้นเราก็วิ่งออกจากขนมปังซึ่งหมายถึงการจบการนำเสนออย่างชัดเจน เสียงหัวเราะดังระเบิดขึ้นครั้งใหญ่ที่สุดหลังจากทำความสะอาดเสร็จเด็ก ๆ สังเกตเห็นว่าคอมพิวเตอร์ที่ยากจนเหยียบแผ่นแยมมาร์มาเลดซึ่งทำให้ถุงเท้าของเขาเสียหาย :-)

ครูเองก็ประทับใจในทางบวกมาก - ตัดสินจากคำติชมนี่เป็นวันอาชีพที่ดีที่สุดและสนุกที่สุดในกลุ่มนี้ ขอบคุณอีกครั้งสำหรับความคิดที่ยอดเยี่ยม!

สิ่งที่สามารถปรับปรุงได้ (ครั้งต่อไป):

  • เมื่อฉันถามว่า "คุณคิดว่าคอมพิวเตอร์ฉลาดหรือไม่" พวกเขาส่วนใหญ่ตอบว่า "ไม่" ฉันถามคนที่คิดว่าคอมพิวเตอร์ฉลาดและทำไม อย่างไรก็ตามฉันละเลยที่จะถามว่าใครคิดว่าคอมพิวเตอร์เป็นใบ้และทำไม - ฉันคิดว่าฉันพลาดคำตอบที่น่าสนใจ
  • การเชิญเด็ก ๆ เข้ามารอบโต๊ะทำให้พวกเขามีส่วนร่วมอย่างแข็งขัน ... แต่บางทีอาจจะกระตือรือร้นเกินไปในบางครั้ง ชิ้นขนมปังเริ่มหายไปจากโต๊ะและผู้ชมบางคนก็เลียนแบบคอมพิวเตอร์อย่างใกล้ชิดขณะที่จุ่มนิ้วลงในเนยและแยม :-) ดังนั้นจึงเป็นการดีกว่าที่จะรักษาระยะห่าง
  • เพื่อให้ฝูงชนหิวโหยภายใต้การควบคุมเด็ก ๆ ควรได้รับการบอกกล่าวล่วงหน้าอย่างชัดเจนว่า: "คุณสามารถกินขนมปังได้ทั้งหมด แต่หลังจากการสาธิตเท่านั้น!"

แต่โดยรวมแล้วฉันมีความสุขมากกับผลลัพธ์ที่ได้ และฉันแน่ใจว่าเด็ก ๆ ได้รับข้อความหลัก: ในฐานะโปรแกรมเมอร์ถ้าคุณหลีกเลี่ยงการสร้างความยุ่งเหยิงคุณสามารถทำขนมปังของคุณ (แม้จะเป็นแยม :-)


1
ฉันหวังว่าจะได้ยินว่ามันเป็นไปอย่างไร!
Jim Kiley

1
เริ่มต้นด้วยหมายเลข 3 และพูดคุยเฉพาะหลังจากการสาธิต!
เจอราร์ด

4
ใครในโลกที่มีวันทำงานสำหรับเด็กอายุ 5 ปี?! ทุกคนรู้ว่าเด็ก ๆ ไม่สามารถพูดได้จนกว่าอย่างน้อย 6 หรือ 7
มิสเตอร์บอย

4
ตอนนี้ฉันต้องการทำอาชีพหนึ่งวันเพื่อที่ฉันจะได้ทำแซนด์วิชเหมือนหุ่นยนต์
glasnt

1
ฉันรู้ว่าคำถามนี้เป็นเรื่องเล็กน้อยสำหรับ Stack Overflow แต่มันก็ช่วยชีวิตฉันไว้! ฉันต่อสู้กับกำแพงพยายามคิดว่าจะเอาชนะเจ้าหน้าที่ดับเพลิงและนักบินในวันทำงานได้อย่างไร ฮา! ชัยชนะ: ฉัน
Jonathan Benn

คำตอบ:


277

ฉันเคยทำมาก่อน

ฉันวางผ้าเช็ดตัวกระดาษจำนวนมากลงบนโต๊ะและหยิบขนมปัง (ราคาถูก) ก้อนเนยอ่างขนาดเล็กขวดเล็กวุ้นและมีดเนยพลาสติก

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

และเมื่อเด็กคนแรกพูดว่า "เปิดถุงขนมปัง!" ฉันฉีกกระเป๋าออกจากกันแล้วให้ขนมปังตกลงมาทั่วโต๊ะ นั่นมีการหัวเราะคิกคักจำนวนมาก ฉันพาเด็ก ๆ ไปตามคำพูดของพวกเขาอย่างต่อเนื่องจนกว่าพวกเขาจะเรียนรู้ที่จะให้คำสั่งสั้น ๆ และในที่สุดเราก็ลงเอยด้วยแซนด์วิชเนยและเยลลี่ มีเสียงหัวเราะมากมาย แต่พวกเขาก็เข้าใจกันอย่างน้อยก็โปรแกรมเมอร์ทำอะไรเพื่อหาเลี้ยงชีพ

(ฉันควรทราบว่าฉันได้ทำการสาธิตนี้กับผู้ใหญ่ในชั้นเรียน "อินโทรกับการเขียนโปรแกรม" และใช้งานได้ดีกับพวกเขา)


110
เด็ก +1 รักเมื่อผู้ใหญ่โง่และพวกเขาจะบอกพวกเขาว่าต้องทำอย่างไร :)
Chris McCall

5
ฟังดูเหมือนเป็นแนวคิดที่ยอดเยี่ยมในการส่งเสริมความสนุกสนานและให้พวกเขาเรียนรู้ผ่านวิธีการลงมือปฏิบัติ หวังว่าฉันจะได้สาธิตนี้ในโรงเรียนอนุบาล!
Peter

14
นั่นเป็นวิธีการเขียนโปรแกรมขั้นตอนที่แม้ว่า ;-)
herzmeister

10
ฉันเคยเข้าร่วมการสาธิตที่คล้ายกันกับเด็กนักเรียนชั้นประถม เด็ก ๆ หัวเราะด้วยเสียงหัวเราะเมื่อพวกเขาละเลยที่จะพูดถึงการใช้มีดเพื่อกระจายวุ้นบนขนมปัง
jschmier

6
นี่คือหนึ่งในคำตอบที่ดีที่สุดที่ฉันเคยเห็นสำหรับคำถามทุกที่ทุกเวลา ขอบคุณ
Mike Dunlavey

47

แล้วการทำโลโก้แบบ kinesthetic ล่ะ

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

ฉันคิดว่าคุณจะให้ความสนใจถ้าคุณสามารถทำให้พวกเขาเคลื่อนไหว สิ่งนี้จะจุดประกายความสนใจ พวกเขาจะคิดออกภายหลังว่างานอยู่ประจำ ;)


6
"ฉันคิดว่าคุณจะให้ความสนใจถ้าคุณสามารถทำให้พวกเขาเคลื่อนไหว" ไม่สามารถตกลงเพิ่มเติม
PéterTörök

6
วางเด็กสองคนยืนที่ด้านหน้าของห้อง แต่ให้เด็ก ๆ นั่งบนเก้าอี้เพื่อออกคำสั่ง เด็กที่ยืนอยู่ไม่มีคำพูดในสิ่งที่พวกเขาทำ - พวกเขาต้องทำตามคำสั่งที่ได้รับจากชั้นเรียน (แน่นอนคุณจะต้องควบคุมฝูงชนอย่างใด) ชั้นเรียนทั้งหมดมีส่วนร่วม
แลนซ์

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

ฉันชอบสิ่งนี้ดีที่สุด คุณสามารถมีลูก (ยกโทษให้ฉันถ้านี่คือจุดของโลโก้ต่อไปฉันไม่เคยใช้มัน) ชุดโปรแกรมของการกระทำสำหรับเด็กจำนวนหนึ่ง (ไปข้างหน้า 2 สี่เหลี่ยมเลี้ยวขวาไปข้างหน้า 5 สี่เหลี่ยม ... ) ใน วิธีที่พวกเขาจะไม่ผิดพลาด ระดับขั้นสูงจะมีทีมแยกต่างหากสร้าง "โปรแกรม" ที่จำเป็นต้องทำงานควบคู่ไปกับการทำงานโดยไม่ต้องหยุดทำงาน (เช่นการเขียนโปรแกรม API) มันต้องมีองค์ประกอบสิ่งจูงใจเพิ่มเติม - ไม่ใช่แค่ทำตามขั้นตอน แต่ไปถึงเป้าหมายบางประเภท อาจจะได้รับธงในตารางสี่เหลี่ยมและนำมันไปยังจุดที่แตกต่างกันในตาราง ....
Pekka

Pekka: โลโก้เป็นภาษาการเขียนโปรแกรมที่ฉันใช้ Way Back เมื่ออยู่ในชั้นเรียนคอมพิวเตอร์ของโรงเรียนมัธยม (บน Commodore 64 IIRC) คุณสั่งเต่านี้ให้ก้าวไปข้างหน้าหมุน X องศาหยิบปากกาขึ้นวางกลับเปลี่ยนสี ฯลฯ และคุณสามารถวาดสิ่งต่าง ๆ ด้วยคำสั่งที่ง่ายมาก
John

28

อย่าพยายามแสดงอะไรบนคอมพิวเตอร์ การดูคนอื่นเป็นเรื่องน่าเบื่อสำหรับผู้ใหญ่ สำหรับเด็กอายุ 5 ปีมันเป็นสูตรสำหรับอนาธิปไตย

ทำให้เป็นแบบโต้ตอบแทน บางรูปแบบของ "Simon Says" แต่มีพวกเขาเป็นโปรแกรมเมอร์


ความคิดเห็นที่ดี ฉันสงสัยว่าพวกเขามีช่วงความสนใจหรือความกระตือรือร้นของนักพัฒนาที่พยายามรักษางานของเขา / เธอหรือต่อสู้เพื่อเพิ่มค่าจ้าง อย่างไรก็ตามเด็ก ๆ รักเกม
Phil

14
ดังนั้นจะเป็น "sudo" แทนที่จะเป็น "Simon พูด" ;-) อย่างจริงจังแม้ว่ามันเป็นความคิดที่ดีฉันจะคิดเกี่ยวกับมันมากขึ้น ... ขอบคุณ
PéterTörök

2
sudo ทำให้ฉันกลายเป็นแซนด์วิชxkcd.com/149
Bratch

11

ฉันไม่เคยลองสิ่งนี้ แต่มันอาจจะสนุก

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

ตัวอย่างเช่นให้พวกเขาสร้างบรรทัด (ในลำดับใดก็ตามที่พวกเขาไปในตอนแรก) เคียงข้างกัน สิ่งนี้อาจทำงานได้ดีขึ้นในครึ่งวงกลมเพื่อให้พวกเขาสามารถเห็นกันและกันทำแบบฝึกหัด แต่ต้องมีการหยุดพักในแถวที่ใดที่หนึ่ง จากนั้นเริ่มต้นที่ปลายด้านหนึ่งของบรรทัดให้พวกเขาผลัดกันทำ "ถ้าเพื่อนร่วมชั้นทางด้านซ้ายของคุณสูงกว่าคุณเปลี่ยนสถานที่; เกมจะจบลงเมื่อคุณผ่านแถวและไม่มีใครสลับตำแหน่ง ให้พวกเขาสังเกตผล (คำแนะนำ: การจัดเรียงฟอง!)


1
สิ่งนี้เรียกว่าการสวมบทบาทและมีบทบาทที่มั่นคงในการสอนของ CS ความคิดที่ดี.
Konrad Rudolph

ความคิดที่ดีและ (สำหรับเด็กที่ค่อนข้างใหญ่) สามารถใช้ร่วมกับตัวอย่างของการค้นหาแบบไบนารี่ในรูปแบบที่คล้ายกัน ... แต่นั่นจะมากเกินไปสำหรับเด็ก ๆ เหล่านี้ สิ่งที่ทำให้ฉันกังวลอีกอย่างคือฉันไม่สามารถเห็นวิธีที่ดีในการอธิบายสาเหตุและวิธีที่เราใช้การเรียงลำดับเพื่อเชื่อมโยงกับธีมหลัก ... ฉันรู้สึกว่ามันอาจต้องมีคำอธิบายที่เป็นนามธรรมสำหรับเด็กเหล่านี้
PéterTörök

7

ในการทำให้เด็ก ๆ เข้าสู่การเขียนโปรแกรมคุณจะต้องขับรถไปโรงเรียนอนุบาลใน Rolls Royce ของคุณแล้วเดินเข้ามาพร้อมกับคนสำคัญอื่น ๆ

หากคุณไม่ใช่ Bill Gates คุณจะต้องอธิบายว่าคุณนั่งประชุมน่าเบื่อเป็นเวลา 4 ชั่วโมงต่อวันพิมพ์ใบปะหน้าสำหรับรายงาน TPS เป็นเวลา 2 ชั่วโมงและจ้องมองสิ่งโง่ ๆ ที่เขียนโดยโปรแกรมเมอร์ clueless สำหรับ อื่น ๆ 6 ชั่วโมง (ไม่จำเป็นต้องพูดถึงว่าคุณต้องโทรศัพท์จากคนที่ยังคงรักษาโปรแกรมล่าสุดของคุณและคนที่คิดว่าคุณเป็นคนขี้เกียจก่อนหน้านี้)

ไม่ฉันไม่ขมทำไมคุณถาม

อย่างจริงจัง (ฉันแน่ใจว่าฉันขโมยความคิดจากหนึ่งในสามหัวข้อเหล่านี้โดยไม่รู้ตัว) ให้พวกเขาเล่น "ให้คำแนะนำกับฉันเกี่ยวกับวิธีการทำ Y" โดยที่คุณทำสิ่งต่าง ๆ แบบ Genie - ผิดทั้งหมดยกเว้นว่าคำแนะนำนั้นแม่นยำมาก ชัดเจน. จริงๆแล้วพูดถึงมารเป็นตัวอย่างที่ดีสมมติว่าเด็ก ๆ เห็น Aladdin

; ^)


คุณทำให้มันฟังดูเหมือนเป็นเรื่องเลวร้าย! รอสอง ...
ChaosPandion

เราอาศัยอยู่ในบ้านถัดจากโรงเรียนอนุบาล แต่ถนนเป็นทางเดียวในทิศทางตรงกันข้าม ดังนั้นการเดินทางโดย Rolls-Royce จึงค่อนข้างยาก ... ไม่ต้องพูดถึงมันน่าจะถูกขโมยไปเมื่อฉันพูดจบ :-P
PéterTörök

ที่งานของฉันเราใช้ตัวย่อ TPS
Dan McClain

ฉันสงสัยว่าจริง ๆ แล้ว TPS หมายถึงบางอย่างหรือเป็นตัวย่อที่คิดค้นขึ้นสำหรับ Office Space ...
DVK

7

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


4

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

ส่วนที่ฉัน: มันทำงานอย่างไร

ก่อนอื่นให้อธิบายกับพวกเขาโดยเฉพาะอย่างยิ่งอุปกรณ์ประกอบฉากว่าอินเทอร์เน็ตทำงานอย่างไร นำแล็ปท็อปที่เชื่อมต่อด้วยสายเคเบิล (สำหรับเอฟเฟ็กต์ภาพ) ไปยังเราเตอร์ที่บ้าน บอกวิธีที่โปรแกรมเมอร์คอมพิวเตอร์สร้างอุปกรณ์ทุกประเภทรวมถึงโปรแกรมบนแล็ปท็อปโปรแกรมในเราเตอร์และแอปพลิเคชันในอุปกรณ์อื่น ๆ ที่เชื่อมต่อกับอินเทอร์เน็ตเช่นโทรศัพท์มือถือ

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

อธิบายกฎสำหรับคอมพิวเตอร์เพื่อพูดคุยกับคนอื่น:

  1. คอมพิวเตอร์สามารถส่งแพ็กเก็ตให้เราเตอร์ได้เท่านั้น

  2. เราเตอร์สามารถมอบแพ็คเก็ตให้กับคอมพิวเตอร์ที่เชื่อมต่อกับมันหรือกับเราเตอร์ที่ใกล้ที่สุด

คำอธิบายนี้ควรสั้นมาก แต่เน้นกฎ คุณควรเทียบแพ็คเก็ตด้วยอีเมลหรือรูปภาพ

ส่วนที่สอง: เวลาโต้ตอบ

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

จัดเรียง "เราเตอร์" เป็นเส้นสีน้ำเงินแล้วแดงและเหลือง เราเตอร์สีน้ำเงินนั้นจะต้องให้แพ็คเก็ตกับเราเตอร์สีแดงเพื่อมอบให้กับเราเตอร์สีเหลือง จัดกลุ่มเด็กคนอื่น ๆ รอบเราเตอร์ของพวกเขา

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

"แอชลีย์เลือกคอมพิวเตอร์สีเหลืองที่คุณต้องการส่งรูปของคุณไปตกลงเพื่อส่งรูปไปที่ไบรอันคุณต้องส่งมันให้กับเราเตอร์ของคุณเคลลี่บอกตวัดเคลลี่ที่ควรเอารูปมาตวัดเคลลี่คุณเป็นสีน้ำเงิน ดังนั้นคุณไม่สามารถให้ภาพกับ Brian ได้คุณต้องให้กับ Timmy บอก Timmy ที่ควรได้รับรูปภาพ Timmy เป็นสีแดงดังนั้นเขาไม่สามารถให้ Brian ได้เขาต้องให้ Renee คุณสามารถให้ภาพกับ Brian ได้เพราะเขาเป็นคอมพิวเตอร์สีเหลืองและคุณเป็นเราเตอร์สีเหลือง "

จากนั้นให้ทุกคนคิดว่ามีคนคนหนึ่งส่ง "แพ็คเก็ต" ไปที่และดูการทำงานของเครือข่ายทันควันของคุณ

ส่วนที่สาม: เชื่อมโยงกลับไปที่การเขียนโปรแกรมคอมพิวเตอร์

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

"ฉันเห็นได้ว่า Timmy เต็มไปด้วยแพ็กเก็ตเพราะทุกคนต้องส่งแพ็กเก็ตผ่านเขาในฐานะโปรแกรมเมอร์คอมพิวเตอร์เราต้องแก้ปัญหาแบบนี้ทุกวันวิธีหนึ่งที่เราสามารถแก้ปัญหาได้คือให้อาวุธ Timmy 4 หรืออาจเพิ่ม เราเตอร์อื่นเพื่อที่ว่าหาก Timmy มีแพ็กเก็ตมากเกินกว่าที่จะส่งมอบคุณสามารถมอบให้เราเตอร์ตัวอื่นแทนได้ " หรือ "บางทีเราต้องการให้ภาพถูกตัดออกเร็วขึ้นดังนั้นเราจึงขอให้เราเตอร์ส่งรูปภาพก่อนที่จะส่งแพ็กเก็ตอื่น ๆ "


@ PéterTörök: ฉันรู้ว่าหลังจากผ่านความคิดเห็นที่ฉันต้องเห็นความคิดเห็นของคุณโดยไม่รู้ตัวเกี่ยวกับการกำหนดเส้นทางอินเทอร์เน็ตและขโมยความคิด
indiv

ไม่เป็นไรขอบคุณสำหรับการอธิบายแนวคิดอย่างละเอียด ฉันไม่ได้ไปไกลขนาดนี้ด้วย :-)
PéterTörök

3

หากต้องการกู้จากแนวคิดอื่น ๆ ที่โพสต์ไปแล้วเกมของ Simon Says อาจเป็นหนทางไป อย่างไรก็ตามคุณสามารถเน้นว่าคอมพิวเตอร์จะทำสิ่งที่คุณบอกให้พวกเขาทำอย่างไร ดังนั้นถ้าเด็กเป็นไซม่อนและพวกเขาก็พูดว่า "ไซมอนพูดว่านั่งลง" จากนั้นคุณก็นั่งลงบนพื้น (ไม่ใช่เก้าอี้ใกล้ ๆ หรืออะไรก็ได้) ทำตามคำแนะนำในจดหมายและไม่ให้วิญญาณ (แน่นอนว่ามันอาจเป็นการยากที่จะพาเด็ก ๆ ไปให้คำแนะนำที่คลุมเครือ แต่ฉันแน่ใจว่าคุณสามารถหาอะไรได้)

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


3

บางครั้งฉันคิดว่างานของฉันเป็นการเล่นกับอิฐเลโก้ คุณเริ่มต้นด้วยชุดของอิฐขนาดต่าง ๆ รูปร่างและสีและจากนั้นคุณสร้างสิ่งที่ใหญ่กว่า คุณสามารถสร้างปราสาทหรือหุ่นยนต์สงครามสตาร์วอร์โดยใช้อิฐชุดเดียวกัน

และมันเกี่ยวกับความสนุกเท่ากัน!


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

ใช่หนึ่งในความคิดที่ฉันเล่นด้วยคือการให้เด็ก ๆ เล่นว่าแพ็คเก็ตนั้นถูกส่งผ่านเน็ตอย่างไร
PéterTörök

ฉันชอบการเปรียบเทียบเลโก้ อย่างไรก็ตามอายุ 5 ปีของฉันเพิ่งได้รับมรดก Technic Lego Bulldozer ที่ฉันยังเป็นเด็กและหลังจากใช้เวลาสองสามชั่วโมงเพื่อช่วยเขาสร้างมันทั้งหมดที่ฉันสามารถพูดได้คือหินเลโก้ (ยัง)!
Skizz

3

หนึ่งในข้อดีหลักของการเขียนโปรแกรมคือความสามารถในการสร้างสิ่งต่างๆ เพื่อทำให้ฝันเป็นจริง ฉันไม่คิดว่าสิ่งนี้จะดึงดูดความสนใจของเด็กเล็ก ๆ ที่ไม่มีปัญหาในการปล่อยจินตนาการของพวกเขาให้เป็นอิสระ คอมพิวเตอร์นำอะไรไปที่โต๊ะ

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


1
อาจเป็นเรื่องที่น่าสนใจ แต่ฉันไม่สามารถคิดถึงปริศนาทางคณิตศาสตร์ที่เหมาะสำหรับเด็กอายุ 4-6 ปีได้อย่างง่ายดาย ตอนนี้ตัวฉันเองกำลังนับสิ่งต่าง ๆ อย่างมีความสุขและผู้อาวุโสก็เริ่มเข้าใจว่า 1 + 2 = 3 และ 5 - 1 = 4
PéterTörök

ลองมาดูกันว่าเด็กเล็ก ๆ มีประสิทธิภาพในการแก้ TSP ได้อย่างไร)
Dario

3

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

สำหรับผู้ใหญ่และเด็กนี่น่าจะเป็นการเปรียบเทียบที่น่าสนใจมากและยังคงแสดงให้เห็นถึงแนวคิดของการเขียนโปรแกรม

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

ฉันมีผู้คนจำนวนมากเริ่มเขียนโปรแกรมและเปลี่ยนวิชาเอกด้วยการเปรียบเทียบนี้ :)


นี่เป็นความคิดที่ดีที่เหมาะกับผู้ใหญ่และน่าจะเป็นสำหรับเด็กวัยเรียนเช่นกัน อย่างไรก็ตามฉันคิดว่ามันต้องใช้การคิดเชิงนามธรรมมากเกินไปสำหรับอายุ 5 ปี จิตใจของพวกเขายังไม่ถึงระดับนั้น
PéterTörök

2

ฉันคิดว่าฉันจะเริ่มด้วยการพูดคุยเกี่ยวกับคอมพิวเตอร์ 2-3 นาทีและพวกเขาทำตามคำแนะนำเกี่ยวกับสิ่งที่ต้องทำ

จากนั้นฉันจะสาธิตด้วยหุ่นยนต์ LEGO Mindstorms ที่สร้างไว้ล่วงหน้าและตั้งโปรแกรมสองสามครั้งแล้วรันมันเพื่อแสดงให้พวกเขาเห็นว่ามันเป็นไปตามโปรแกรม การเขียนโปรแกรม Mindstorms นั้นค่อนข้างง่ายและเข้าใจง่าย

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


1
ฉันมี LEGO Mindstorms kit รุ่นใหม่กว่าฉันไม่รู้จักใครเลย อาจจะใช้ข้ออ้างในการซื้อหนึ่งชิ้นเพราะเด็ก ๆ จะโตขึ้น ;-) ความคิดอื่น ๆ นั้นมีประโยชน์ฉันกำลังคิดตามเส้นที่คล้ายกัน
PéterTörök

2

พูดคุยเกี่ยวกับวิธีการเขียนโปรแกรมคอมพิวเตอร์ที่แพร่หลาย - แนะนำสายการบินโทรศัพท์รถยนต์วิธีซื้อตั๋วออนไลน์ ฯลฯ

จากนั้นสอนให้พวกเขาเขียนโปรแกรมง่าย ๆ ที่เป็นสัญลักษณ์ - 1. วาดตารางบนกระดานดำ
2. วาดชีสที่ปลายด้านหนึ่งและวางเมาส์ที่ปลายอีกด้าน 3. ให้พวกเขา "โปรแกรม" moues เพื่อรับชีส!

พาพวกเขาผ่านความพยายามที่ล้มเหลวในชั้นเรียนบางทีอาจจะมีหนูตกหลุมพรางหรืออะไรบางอย่างในกริด พวกเขาจะได้รับความตื่นเต้นจากมัน


2

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

เมื่อคุณตั้งค่าเรียบร้อยแล้ว (ฝึกฝนเพื่อให้คุณสามารถทำงานได้ภายใน 5 นาทีหรือน้อยกว่า) คุณสามารถใช้เกมเพื่อแสดงภาพ (และกับวัว!) ว่าคอมพิวเตอร์จะทำสิ่งที่คุณบอกได้อย่างไร และวิธีที่คุณ (โปรแกรมเมอร์) จะต้องคิดออกว่าจำเป็นต้องมีคำแนะนำอย่างไรเพื่อให้ทำสิ่งที่คุณต้องการ เมื่อคุณทำให้ถูกต้องทุกคนมีความสุขมากกับความสำเร็จของคุณที่มีวัวเต้นรำ!
จากตรงนั้นคุณสามารถตอบคำถามใด ๆ หรืออาจปล่อยให้เด็ก ๆ ลองคิดดูว่าจะตั้งโปรแกรมวัวตัวเองอย่างไร ไม่ว่าพวกเขาต้องการไปที่ไหน

วัว!


อย่างที่ฉันพูดถึงในโพสต์: ไม่มีโปรเจ็กเตอร์ไม่มีแล็ปท็อป แม้ว่าฉันจะมีแล็ปท็อป แต่ก็ไม่มีวิธีที่เด็ก ๆ 20 คนสามารถเห็นหน้าจอในเวลาเดียวกัน: - ((
PéterTörök

1
ดีเราลองกับภรรยาของฉันและรักมัน ... บางทีฉันอาจจะนำแล็ปท็อปต่อไป :-)
PéterTörök

8 D ความสวยงามของโซลูชันวัวคือความสนุกสำหรับทุกคนและมันแสดงให้เห็นอย่างยอดเยี่ยมว่าการเขียนโปรแกรมเกี่ยวกับอะไรในรูปแบบที่ทุกคนสามารถเข้าใจได้ เมื่อคุณพูดว่า "ไม่มีเครื่องฉายภาพ" ฉันคิดว่าคุณหมายถึง "ไม่มีสไลด์เหนือศีรษะ" เมื่อฉันพูดว่า "โปรเจ็กเตอร์" ฉันหมายถึง "ปลั๊กเข้ากับพอร์ตเอาต์พุตหน้าจอแล็ปท็อปของคุณและให้ทุกคนเห็นหน้าจอที่ฉายที่ขนาด 10'x10 ' ซึ่งไม่ใช่ทุกคนที่มี แต่เทคโนโลยีจำนวนมากสามารถจับมือพวกเขาถ้าจำเป็น บ่อยครั้งที่คุณสามารถลงชื่อออกในที่ทำงาน! "สำหรับการสาธิต" ควรทำเคล็ดลับ 8)
งาน

1

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


1

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


1

เด็ก ๆ ชอบสิ่งที่ "ทำอะไรบางอย่าง" และไฟกะพริบ

สำหรับวันเกิดลูกชายของฉันฉันทำตู้เซฟ (กล่องพร้อมล็อคไฟฟ้าและไฟ led จำนวนมาก) ที่เชื่อมต่อกับพีซี

พวกเขามีคำถามที่จะตอบและการตอบสนองแต่ละครั้งทำให้เกิดไฟ LED กระพริบ (สีเขียวสำหรับคำตอบที่ดีและสีแดงสำหรับคำตอบที่ผิด) หากพวกเขาตอบคำถามที่ถูกต้องเพียงพอไฟ LED ก็เริ่มเคลื่อนไหวง่าย ๆ ซึ่งลงท้ายด้วย "clonk" ที่ดัง ตู้เซฟเปิดแล้วและพวกเขาสามารถรวบรวมรางวัลได้

มันสนุกที่จะสร้างและเด็ก ๆ ก็ชอบมัน


0

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

จากนั้นบอกเด็กคนนั้นว่าคุณรู้วิธีเคลื่อนแปรงบนฟันของเขาในขณะที่เขากำลังทำสิ่งอื่นที่เขาอยากทำและบอกเขาว่าเขาจะไม่รู้สึก ฟันของเขาจะสะอาดอย่างน่าอัศจรรย์ในครั้งต่อไปที่แม่ของเขาไปตรวจสอบพวกเขา

จากนั้นอาจเขียนโค้ดปลอมบางส่วนบนกระดานชอล์กที่แสดง Brush API ที่เข้าถึงทรัพยากร Tooth ในเธรดเบื้องหลังที่อยู่เบื้องหลังกิจกรรมที่โปรดปราน


2
อืม .. นี่อาจส่งผลกระทบต่อผู้ปกครองของเด็กคนอื่น ๆ ที่อาจไม่พอใจ ... และมีเพียงเด็กบางคนเท่านั้นที่สามารถอ่านได้บางตัวพิมพ์ใหญ่ดังนั้น pseudocode เป็น no-op :-( (ไม่มีคำ ๆ !)
Péter Török

เข้าใจแล้ว ดังนั้นรหัสใด ๆ (แน่นอนความคิดของรหัส) ออก และฉันเห็นจุดของคุณเกี่ยวกับสิ่งที่แปรงสีฟัน ประเด็นคือเพื่อขายเด็ก ๆ ที่ไม่ได้อยู่ในรายการ แต่ให้คุณค่ากับความสะดวกสบายที่พวกเขาสร้างขึ้นเพื่อชีวิตของผู้คน ฉัน upvoted John ที่คำตอบของ CashCommons ซึ่งเน้นถึงตรรกะของการเขียนโปรแกรม หากคุณสามารถหาวิธีที่จะแสดงตรรกะพวกเขา (อีกครั้งดูคำตอบของ John) และจากนั้นไฮไลต์การทำงานอัตโนมัติของการเขียนโปรแกรมและวิธีที่ทำให้ชีวิตของผู้คนสะดวกสบายมากขึ้นคุณอาจได้รับผลกระทบ
แลนซ์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.