30 นาทีเพื่ออธิบายการเขียนโปรแกรมให้กับเด็กอายุ 15 ปี [ปิด]


100

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

จับได้ว่า

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

ฉันควรจะครอบคลุมอะไรและฉันหวังว่าจะสอนอะไรให้เธอในเวลาเพียงครึ่งชั่วโมง?

ฉันคิดว่าเธอคงไม่มีประสบการณ์กับการพัฒนาหรือการเขียนโปรแกรม


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

8
@tom ในทางกลับกันฉันมีประสบการณ์ส่วนตัวว่าผู้ใหญ่ส่วนใหญ่หาอะไรนอกเหนือจากภาพบนคอมพิวเตอร์ที่น่าเบื่อ ขึ้นอยู่กับเด็กและความสนใจในคอมพิวเตอร์
jhocking

6
@jh: เฮ้! ฉันคิดว่าคำถามไม่ใช่ว่าคนนี้อายุสิบห้าหรือไม่ แต่พวกเขาฉลาดและอยากรู้อยากเห็น ตอนนี้เราทุกคน (ยกเว้น Maxpm) อาจจะเป็นคนบ้างานเก่า แต่เราทุกคนมีอายุสิบห้าครั้งและฉันค่อนข้างสงสัยว่าพวกเราที่เป็นคนฉลาดและผู้ใหญ่อยากรู้อยากเห็นเป็นวัยรุ่นที่น่าเบื่อและไม่สนใจ
Tom Anderson

33
"ครั้งแรกที่ฉันเข้ามาทำงานหลังจาก 10 โมงเช้าดื่มกาแฟเยอะ ๆ ไล่มันลงมาด้วย Mountain Dew และเครื่องดื่มชูกำลังฉันใช้เวลา 2 ชั่วโมงถัดไปในการตรวจสอบอีเมลของฉันแลกเปลี่ยนสูตรอาหารกับนักพัฒนาหญิงเพียงคนเดียวใน จากนั้นก็งีบสักพักหลังอาหารกลางวันลุกขึ้นเช็คอีเมลอีกครั้งท่อง YouTube เพื่อดูวิดีโอแมวทันดูการ์ตูน dilbert และ smbc ล่าสุดก่อนที่คุณจะรู้ว่ามันคือ 4:30 น. ถึงเวลากลับบ้านด้วยตัวเอง ฉันทำอะไรไม่ได้มากนัก แต่โปรแกรมเมอร์ 100 คนรวมตัวกันของ doig ทุกวัน 3 ปีเหมือนกันนั่นคือสิ่งที่เกิดขึ้นในวิดีโอเกม "
Juliet

5
@Tom: แน่นอน โปรแกรมเมอร์หลายคนเริ่มก่อนอายุ 15 ดังนั้นฉันจึงไม่เข้าใจการวางตัว
Neil G

คำตอบ:


130

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

ฉันมักจะเริ่มต้นด้วยตัวอย่างของโปรแกรมอะไร:

  • แอพเช่น iTunes, Photoshop, Chrome และเกมรวมถึงเกมคอนโซล
  • ระบบปฏิบัติการเช่น Windows, Mac OS, iOS ของ iPhone, Android (เชื่อฉันสิพวกเขาจะรู้ว่าคุณกำลังพูดถึงเรื่องอะไร)
  • โปรแกรมที่บีบตัวเลขหรือแก้ปัญหาคณิตศาสตร์ที่ซับซ้อนจริง ๆ - การจำลองสภาพอากาศการจำลองทางชีวภาพการคำนวณ pi, AI, การประมวลผลภาษา ฯลฯ
  • เว็บไซต์ที่มีความซับซ้อนที่สุดก็เกี่ยวข้องกับการเขียนโปรแกรมด้วย
  • ตู้จำหน่ายตั๋วอัตโนมัติและตู้เอทีเอ็ม, ไมโครเวฟและตู้เย็นจับเวลา, ระบบนำทางรถยนต์

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

จากนั้นพวกเขามักจะถามว่าฉันใช้คอมพิวเตอร์ตลอดเวลาหรือไม่ถ้านี่เป็นสาเหตุที่ฉันใช้ Facebook อยู่ตลอดเวลาและทำไมดวงตาของฉันถึงไม่ได้เลวร้าย ผู้ชายถามว่าฉันรู้วิธี "แฮ็กคน" หรือไม่และผู้หญิงถามว่าเป็นเงินที่ดีหรือมีผู้หญิงกี่คนในชั้นเรียนวิทยาศาสตร์คอมพิวเตอร์

หลังจากนั้นหากพวกเขายังสนใจพวกเขามักจะเริ่มถามคำถามเฉพาะที่ตอบได้ง่ายขึ้น (หรืออย่างน้อยกับ Wiki): สิ่งต่าง ๆ เช่นวิธีที่คุณสร้างเกมวิธี Windows Messenger ทำงานเป็นต้น

หากคุณมีคอมพิวเตอร์อยู่รอบตัวคุณสามารถแสดงและบอกโค้ดบางอย่าง - สิ่งที่จะมีผลกระทบที่จับต้องได้เช่นตัวจัดการคลิกปุ่มจากกล่องโต้ตอบการตั้งค่าใน Firefox, ลูปหลักหรือรหัสฟิสิกส์ในเอ็นจิ้นเกม แหล่ง JavaScript จากเว็บไซต์ ฯลฯ


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

12
ฮ่าฮ่าฮ่าฉันได้รับหนึ่งตลอดเวลาถ้าคุณรู้วิธี "แฮ็กคน" ฮ่าฮ่าฮ่าฮ่า
จอห์นคอนเนลลี

3
@ จ๊อคกิ้งฉันยังคิดว่าพวกเขาส่วนใหญ่นั้นสว่างกว่าคนบ้ารุ่นมาก นอกจากคุณภาพแล้วจำนวนข้อความที่อ่านจะถูกผูกไว้เพื่อทำสิ่งที่ดี
Rei Miyasaka

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

4
โดยทั่วไปฉันมาช้าอย่างน้อยสิบห้านาทีอ่าฉันใช้ประตูข้าง - วิธีที่ Lumbergh ไม่สามารถมองเห็นฉัน heh heh - และอืมหลังจากนั้นฉันเพิ่งแยกพื้นที่ออกไปประมาณหนึ่งชั่วโมง ใช่ฉันแค่จ้องที่โต๊ะทำงาน แต่ดูเหมือนว่าฉันกำลังทำงานอยู่ ฉันทำอย่างนั้นน่าจะเป็นอีกชั่วโมงหลังจากอาหารกลางวันด้วย ฉันจะบอกว่าในสัปดาห์ที่กำหนดฉันอาจทำจริงสิบห้านาทีจริงทำงาน
teambob

73

ฉันอธิบายให้ฉันห้าปีด้วยต่อไปนี้:

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

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

ไม่ใช่พวกเรา


77
lol @ สอนลูก ๆ ของคุณว่าคุณคือพ่อมด
jhocking

23
"ไม่มีอาชีพอื่นใดในโลกที่สร้างสิ่งที่สามารถใช้ประโยชน์ได้อย่างไร้ประโยชน์นอกจากคำพูด" - นักกฎหมายด้านสัญญาและผู้บัญญัติกฎหมายทำ
Tom Anderson

48
@Tom พวกเขาอาจ จำกัด การทำงานมากกว่าที่พวกเขาสร้าง
Maxpm

16
@tom: ไม่พวกเขาทำไม่ได้ บทสรุปทางกฎหมายนั้นไม่ได้มีประโยชน์อะไรมากไปกว่าเรื่องหรือบทกวี กฎหมายเป็นเหมือนพิมพ์เขียว: มันกำหนดความคิด แต่ก็มีคนต้องออกไปสู่โลกแห่งเนื้อสัตว์และบังคับใช้มัน แต่รหัส? ฉันสามารถเขียนโปรแกรมเพื่อซื้อหรือขายหุ้นโดยใช้ตรรกะภายในของตัวเองและมันจะไปทำมันเป็นสิ่งที่ไม่มีข้อมูลเพิ่มเติมจากฉัน ฉันสามารถเขียนหนึ่งเพื่อควบคุมประตูน้ำท่วมเปลี่ยนเส้นทางไฟฟ้าเปิดหรือปิดไฟขึ้นอยู่กับช่วงเวลาของวัน มันไม่ซ้ำกันในหมู่อาชีพ
Satanicpuppy

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

56

คนอายุ 15 ปีสามารถเข้าใจแนวคิดใด ๆ ฉันเริ่มเขียนโปรแกรมตอนอายุ 14 (ที่โรงเรียนหลายปีก่อน)

30 นาทีก็เพียงพอสำหรับการสาธิต แสดงให้เธอเห็นถึงความมหัศจรรย์ของการเขียนโปรแกรมด้วยบางสิ่งที่แพร่หลายราวกับเบราว์เซอร์

  1. ค้นหาพีซีที่เชื่อมต่อกับอินเทอร์เน็ต (สนุกมากขึ้นถ้าไม่ใช่ของคุณและยิ่งถ้าเป็นเธอ)
  2. ไปที่http://api.jquery.com/jQuery.getJSON/
  3. เลื่อนหน้าลงและหารหัส HTML สำหรับตัวอย่างแมว
  4. เลือกรหัส HTML และคัดลอก
  5. ไปที่http://jsdo.itและคลิกที่เริ่มต้นการเขียนโปรแกรม
  6. เปิดบัญชีโดยใช้ OpenID ของคุณ (กระบวนการขั้นตอนเดียว)
  7. เลือกแท็บHTMLที่แผงด้านซ้ายแล้ววางไว้
    • ภายในไม่กี่วินาทีแมวจะปรากฏขึ้นที่แผงด้านขวา
  8. ตัดจาวาสคริปต์และวางลงในแท็บJavaScript (สำหรับการเน้นไวยากรณ์)
    • ภายในไม่กี่วินาทีแมวจะรีเฟรชที่แผงด้านขวาโดยอัตโนมัติ
  9. ค้นหาคุณสมบัติแท็กใน javascript และเปลี่ยนเป็น "dog"
    • กลุ่มของสุนัขปรากฏขึ้น
  10. ทำให้เธอทำซ้ำกระบวนการด้วยตัวเองด้วยแท็กอื่น ๆ ที่เธอเลือก
    • แนะนำให้เธอลองสองแท็กคั่นด้วยเครื่องหมายจุลภาค
  11. เปลี่ยนบรรทัด "if (i == 3)" เป็น "if (i == 5)"; ปล่อยให้เธอรู้ว่า
    • ตอนนี้มี 6 ภาพและก่อนหน้านั้นมี 4
    • มันจะดีกว่าถ้าหมายเลขในรหัสตรงกับหมายเลขในหน้า
  12. แก้ไขข้อบกพร่องด้วยกัน (สลับบรรทัดนั้นและอันที่หนึ่งก่อน)
  13. ...

1
หรือคุณสามารถใช้ jsfiddle โดยไม่จำเป็นต้องสมัคร: jsfiddle.net/WXVra
rjmunro

ที่ดีที่สุด! codecademy.com
jhocking

26

ขั้นตอน

ในฐานะที่เป็นเด็กอายุเกือบ 15 ปีฉันสามารถบอกคุณได้อย่างมั่นใจว่าคุณควรเริ่มต้นอย่างน่าทึ่ง

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

    • บอกพวกเขาว่าคุณไม่ได้พิมพ์10101010ทุกวัน บอกพวกเขาว่าคุณไม่ได้รู้ว่าวิธีการที่จะทำอย่างนั้น ( โกหก.คุณจะรู้ว่าสิ่งที่10101010หมายถึงขวา;?)) บอกพวกเขาว่าเป็นปีที่ผ่านมา
    • เริ่มต้น IDE ของคุณ ตรวจสอบให้แน่ใจว่าดูดี - MSVS2010, QtCreatorและ NetBeans นั้นดีทั้งหมด อย่าลืมลบสิ่งพิเศษบางอย่างออกเพื่อให้ดูน่ากลัวน้อยลง (เมนูน้อยลง) แต่เก็บเอฟเฟ็กต์ภาพไว้
    • แสดงตัวอย่างของ pseudocode ให้พวกเขาดู ทำให้เข้าใจง่าย:

      Display Window
      Display "I like cheese!"
      Display OK button
      
      If user clicks OK button, close Window
      

      ผ่านขั้นตอนนั้น บอกพวกเขาว่านี่ไม่ใช่ลักษณะของรหัสอย่างแน่นอน English + Mathรหัสดูเหมือนว่า แต่มันก็ไม่ยากที่จะเรียนรู้ "ภาษา" (อ่าน: ไวยากรณ์) ที่คุณพูด

    • แสดงตัวอย่างให้กับพวกเขาด้วย "คณิตศาสตร์" อีกครั้งในตอนนี้

      User inputs A
      User inputs B
      
      C = A + B
      
      Display C
      

      อธิบายว่ารหัสนั้นรวมตัวเลขสองตัวเข้าด้วยกันเช่นเครื่องคิดเลข แสดงรหัส "ของจริง" ให้พวกเขาทราบ (ตรวจสอบให้แน่ใจว่าคุณใส่ UI จำนวนมากและสิ่งอื่น ๆ ในไฟล์แยกต่างหากและทำให้ไฟล์ที่คุณแสดงนั้นสั้นและง่าย) เปลี่ยนเป็นโปรแกรมลบ (โดยเปลี่ยนสัญลักษณ์จาก+เป็น-) ก่อนที่ตาของพวกเขาจะเห็น

  3. อธิบายสิ่งที่พวกเขาจำเป็นต้องรู้ในการเขียนโปรแกรม (ในระดับต่าง ๆ )

    • ทักษะพีชคณิตพื้นฐานเช่นถ้าแล้วx + 1 = 2x = 1
    • ทักษะการแก้ปัญหา.
    • ["ขั้นสูง"] คณิตศาสตร์ระดับสูงกว่า นี่สำหรับโปรแกรมเมอร์ที่ทำงานในสถานที่ต่าง ๆ เช่น NASA

ข้อกำหนดที่คุณสามารถใช้ได้

เรารู้มากกว่าที่คุณคิด

  • Facebook, Twitter, เครือข่ายสังคมออนไลน์
  • Windows, Mac, Linux
  • การออกแบบเร็วขึ้นการทดสอบการเริ่มต้น / การทำงาน

คำศัพท์ที่คุณควรอธิบาย

ใช่เรายังต้องการคำอธิบาย

  • คอมไพเลอร์:แปลงรหัส (เหมือนเช่นในขั้นตอนที่ 2) 10101010ลงใน
  • ภาษาโปรแกรม:ดูเหมือนตัวอย่างในขั้นตอนที่ 2

คำที่คุณไม่สามารถใช้

พวกเราบางคนรู้เรื่องนี้ แต่โปรดอย่าพูดอะไรเลย

  • "ระบบ" ชนิดใดก็ได้นอกเหนือจากระบบปฏิบัติการ
  • การเพิ่มประสิทธิภาพการวิเคราะห์ (Oh oh)
  • อินพุต / เอาต์พุต (หากคุณต้องการใช้สิ่งนี้ให้ลองใช้ให้ง่ายที่สุด)

กำลังมองหา IDE ที่ 'เจ๋ง' อยู่หรือเปล่า? มองไม่เพิ่มเติมกว่า Xcode
Alan Zeino

2
@Alan Zeino คุณหมายถึง Emacs
ขวา

ฉันชอบคำตอบนี้ดีที่สุด ฉันคิดว่าใครบางคนที่เอาแทคนี้จะทำมากกว่าคำตอบสำหรับคำถามนี้ (ที่มีคุณภาพสูง)
TehShrike

17

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


โอ้ใช่ภาพเป็นความคิดที่ดี ด้วยความเสี่ยงที่จะเป็นเช่นนี้มากเกินไปในชั้นเรียนฉันมีโอกาสมากที่จะวาดไดอะแกรมบนไวท์บอร์ดเพื่ออธิบายทุกอย่างที่ฉันพูด
jhocking

1
ถ้าพูดถึงภาพเธอจะแสดงวิดีโอหรือรายการเล็ก ๆ ของเธอได้Aliceอย่างไร
Carlos Campderrós

9
@Carlos ในฐานะอายุ 15 ปีฉันสามารถยืนยันได้ว่าฉันเกลียดอลิซด้วยความหลงใหลในแสงตะวันนับพัน นั่นอาจเป็นเพราะฉันรู้วิธีเขียนโปรแกรมแล้ว ฉันไม่แน่ใจว่าผู้เริ่มต้นทั้งหมดดูอย่างไร
Maxpm

1
+1 สำหรับ "เปลี่ยนรหัสที่อยู่ข้างหน้าเธอจากนั้นดูการเปลี่ยนแปลงบนหน้าจอ" - เริ่มต้นด้วยการแสดงการเชื่อมต่อโดยตรงระหว่างสิ่ง 'ของจริง' และรหัสที่อยู่ด้านหลัง สิ่งที่ลึกพอสมควรเช่นการเรียงลำดับหรือการสืบค้นข้อมูลบางอย่างไม่เพียงแค่ปรับแต่ง JSP หรือการจัดรูปแบบสตริง ทำการเชื่อมต่อนั้นจากนั้นสร้างออกมา
Tom Anderson

1
ความสามารถในการเปลี่ยนรูปลักษณ์ของโปรแกรมที่มีโค้ดเพียงไม่กี่บรรทัดคือสิ่งที่ทำให้ฉันเข้าสู่การเขียนโปรแกรมเมื่อหลายปีก่อน - ขอบคุณสำหรับคำแนะนำ
Dexter

13

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

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


8

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

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


8

ยกตัวอย่างซอฟต์แวร์ที่เธอใช้ คุณมีลูกค้าที่ใช้ซอฟต์แวร์ของคุณหรือไม่ คุณพัฒนาแอพในบ้านที่คุณสามารถแสดงให้เธอเห็นได้หรือไม่? แสดงผลงานของคุณในสิ่งที่ผู้ใช้เห็นและใช้

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

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

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


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

1
ใช้มุมมองขนาดใหญ่ของ "ผลลัพธ์สุดท้ายของการทำงาน" ไม่เพียง แต่หมายถึงซอฟต์แวร์ที่คุณใช้งานเท่านั้น อาจหมายถึงแอปพลิเคชันไคลเอนต์ต่างๆที่เปิดใช้งานโดยซอฟต์แวร์แบ็คเอนด์ที่คุณใช้งาน
jhocking

อย่างน้อยคุณก็ไม่ใช่นักพัฒนา SharePoint อย่างฉัน @FrustratedWithFormsDesigner .. ฉันแน่ใจว่าฉันสามารถหาบางอย่างที่ดูเท่ห์ในวงเล็บมุมของฉันได้!
เด็กซ์เตอร์

4
@FrustratedWithFormsDesigner ฉันไปที่ "ลองชักชวนเด็ก ๆ ในโรงเรียนมันคุ้มค่าที่จะสมัครเข้าเรียน CS" ในวันที่ฉันอายุ 15 ปีพร้อมกับเด็ก ๆ อีกมากมายจากโรงเรียนของฉัน สิ่งบรรทัดคำสั่ง LOOKED COOL มันดูมีพลังมากสำหรับเราและนั่นทำให้มันเป็น COOOOOL อย่าทึกทักเอาว่าเด็กหญิงอายุ 15 ปีไม่ต้องการปกครองจักรวาล :)
testerab

แน่นอนคุณได้ตั้งโปรแกรมบางอย่างที่สนุกในเวลาว่างที่คุณสามารถแสดง ฉันตั้งโปรแกรมเกม Tetris ตัวแสดงเศษส่วนและตัวแก้ซูโดกุ สิ่งเหล่านี้สนุกที่จะแสดง
Carra

7

คุณคุ้นเคยกับเกมกระดาน Robo Rally หรือไม่?

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

ผู้ชายฉันหวังว่าฉันยังมี BigTrak ของฉัน ...


4
เราเล่นแบบกึ่งประจำในตอนเย็นเกมของเรา (มากถึง 8 คนส่วนใหญ่เป็นนักเรียนคณิตศาสตร์หรือ CS) เป็นการดีที่จะแสดงว่ามัลติเธรดสามารถผิด :-p
Paŭlo Ebermann

@Paulo - ฮ่า ๆ ไม่เคยคิดมาก่อน แต่คุณพูดถูก!
ระบบ

6

แสดงสิ่งที่เรียบง่าย แต่มีประโยชน์ ตัวอย่างที่ดีที่ฉันคิดว่าน่าจะเป็นดังต่อไปนี้:

  1. ทำให้โฟลเดอร์เต็มหรือภาพ (พอที่จะไม่พอดีกับหน้าจอเดียวใน explorer โฟลเดอร์ของคุณ)
  2. บอกพวกเขาว่าเป้าหมายของคุณคือการปรับขนาดภาพ (บางทีคุณอาจส่งอีเมลถึงเพื่อนหรือโพสต์ออนไลน์ที่ไหนก็ได้)
  3. สาธิตการปรับขนาดภาพหนึ่งภาพใน GIMP / Photoshop / อะไรก็ตาม
  4. ตอนนี้ชี้ให้เห็นว่าการทำนั้นใช้เวลาอย่างน้อย 30 วินาทีและคุณมีภาพมากมายคุณไม่ต้องการใช้เวลาทำชั่วโมงนี้
  5. เขียนเชลล์สคริปต์เพื่อปรับขนาดพวกเขาทั้งหมดโดยใช้ ImageMagick
  6. ให้พวกเขาทึ่งกับการปรับขนาดภาพทั้งหมดด้วยโปรแกรม 3 บรรทัดง่ายๆของคุณเร็วกว่าการปรับขนาดภาพเดียวใน Photoshop

เหตุผลที่ฉันชอบวิธีนี้คือ:

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

คุณอาจนึกถึงตัวอย่างที่ดีกว่า แต่ฉันคิดว่าสไตล์นี้มีประโยชน์สำหรับ "คำนำแรก"


5

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

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


4

ประการแรกคุณมีการแข่งขันที่คุณต้อง debunk

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

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

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

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

ย้อนกลับไปในชีวิตจริงครูคณิตศาสตร์ของคุณอาจบอกให้คุณแก้ "15 ต่อพลัง 3" แต่คุณรู้วิธีทำเช่นนั้นเพราะก่อนหน้านี้คุณเคยสอนว่า "X สู่พลังของ Y" แบ่งออกเป็นภารกิจของ "คูณXด้วยXแล้วทำมันคูณY " [ทางเทคนิคY -1 คูณแต่ใช่มั้ย]

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


3

ฉันจะทำสิ่งที่ทำให้ฉันติดเมื่อฉันอายุประมาณ 9 ปีหยิบ C64 ออกจากห้องใต้หลังคาแล้วทำ:

10 PRINT "YOU SMELL"

20 GOTO 10

(ขอบคุณพ่อ).

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


2
ดี. คุณโดนเล็บที่หัว ทำให้มันง่ายมากและทำให้สนุก และ BASIC นั้นสมบูรณ์แบบสำหรับสิ่งนั้น
Mike Dunlavey

1
เห็นด้วย BASIC ดีมากและ GOTO เป็นภาษาที่ดีที่สุดในการเริ่มต้น โปรแกรมแรกของฉันคล้ายกันมาก
Tomas Andrle

ฉันจะไม่พูดว่าฉันต่อต้านสิ่งนี้ทั้งหมด แต่ฉันไม่ได้เรียนรู้เกี่ยวกับ goto จนกระทั่งหลังจากเขียนโปรแกรม C ++ มาสองสามปี ตั้งแต่นั้นมาฉันก็ไม่เคยพิมพ์ข้ามไปเลยแม้แต่ครั้งเดียวในชีวิตของฉัน ดีหรือไม่ดีฉันจะไม่ตัดสิน - ฉันแค่อยากให้มันเป็นที่รู้จักกันว่า goto ไม่จำเป็นว่า ... เอ่อ ... จำเป็น
31eee384

3

อาจเป็นประโยชน์ถ้าเริ่มจากสิ่งที่เธอทำอยู่เป็นประจำเช่น Facebook และอธิบายให้เธอฟังว่าวิธีง่ายๆอย่างหนึ่งในการเข้าสู่ระบบนั้นซับซ้อนมากเพียงใด

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

คุณสามารถถามเธอเช่น "ถ้ามีสิ่งหนึ่งเกี่ยวกับ Facebook คุณสามารถเปลี่ยนมันจะเป็นอะไร?" จากนั้นแนะนำให้เธอรู้ว่าคุณจะเปลี่ยนแปลงอย่างไรและมีคนเข้าร่วมกี่คน

ฉันเรียนรู้ที่จะเขียนโปรแกรม Pascal เป็นครั้งแรกและฉันก็ปั๊มทุกครั้งที่โปรแกรมของฉันยอมรับการป้อนข้อมูลของฉันยุ่งกับมันและพิมพ์สิ่งที่แตกต่างออกไป ฉันถูกตะขอจากตรงนั้น บางคนสลักง่าย


การใช้ Facebook เป็นคำแนะนำที่ดีขอบคุณ @ client09
Dexter

2

ฉันหวังว่าจะได้ไปทำงานที่ใดที่พัฒนาซอฟต์แวร์ที่เธอต้องมีความสนใจในสาขาหรือไม่

ไม่มีคำตอบที่ตั้งไว้ฉันจะตอบคำถามของเธอเป็นเวลา 5-10 นาทีในสิ่งที่เธอรู้แล้วลองทำต่อให้ดีที่สุดเท่าที่จะทำได้


ไม่แน่ใจ @Chris - มีบทบาทแตกต่างกันมากมายใน บริษัท เทคโนโลยีตั้งแต่การบัญชีจนถึงการพัฒนาทรัพยากรบุคคลและการให้คำปรึกษา เราให้เธอลิ้มรสสั้น ๆ ของบทบาทที่แตกต่างกันมากมายดังนั้นฉันไม่คิดว่าฉันจะทำสมมติฐานนี้
Dexter

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

2

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

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


ฉันไม่คิดว่าฉันสามารถสอนใครบางคนเกี่ยวกับการเขียนโปรแกรมโดยไม่ต้องแสดงตัวอย่างบางส่วนของรหัสที่ฉันกำลังทำงานอยู่ ..
Dexter

@Dexter: ใน 30 นาทีฉันไม่แน่ใจว่าฉันต้องการอยู่มากเกินไปในสิ่งที่รหัสดูเหมือน ฉันไม่ได้ตั้งใจจะไม่แสดงอะไรเลย แต่เนื่องจากคุณไม่มีเวลามากฉันไม่คิดว่ารหัสควรเป็นจุดสนใจ มันอาจแห้งและน่าเบื่อมาก พูดคุยเพิ่มเติมเกี่ยวกับแนวคิดและแนวคิดหากคุณทำได้ หากคุณสามารถหาตัวอย่างง่ายๆ (อาจน้อยกว่า 10 บรรทัด) ที่เข้าใจง่ายและน่าสนใจลองใช้ดู!
FrustratedWithFormsDesigner

เห็นด้วย แต่ฉันคิดว่าแทนที่จะเข้าไปในตัวอย่างง่ายๆบทที่ 1 ฉันควรแสดงโปรแกรมที่ฉันพัฒนาและสลับรหัสสองสามบรรทัดเพื่อแสดงผลลัพธ์ .. ในที่สุดฉันไม่คิดว่าฉันจะ จะสามารถสอนวิธีการเขียนโปรแกรมให้เธอได้ แต่บางทีฉันสามารถสร้างแรงบันดาลใจให้เธออยากรู้มากกว่านี้ ..
Dexter

2

นี่คือสิ่งที่ฉันทำหลังจากความล้มเหลวสองสามครั้งและความพยายามที่ดีงาม:

การเขียนโปรแกรมคือการแก้ปัญหา

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

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

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

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

โอเค ณ จุดนี้เธออาจเข้าใจ แต่เธออาจเบื่อ ติดตามตัวอย่างชุดโปรแกรมสุดเท่ เดอร์และโค้ดภาพที่เกี่ยวข้องนั้นง่ายต่อการสาธิต - คุณสามารถวางรูปภาพและเริ่มทำการเปลี่ยนแปลงด้วยการเปลี่ยนแปลงโค้ดขนาดเล็กมาก หากเธอแสดงความสนใจใน Facebook ให้อวดการพูดคุยกับ Facebook ผ่าน REST เพื่อดูข้อมูลเพื่อนของเพื่อน (6 องศา) หากเธอชอบวิดีโอเกมอวดการสาธิตเกมโอเพนซอร์สพร้อมกับโค้ดบางส่วนและวิธีที่ช่วยให้เกมทำงานได้ จบด้วยการแสดงเครื่องมือและแหล่งข้อมูลฟรีที่เธอสามารถตรวจสอบได้ที่บ้าน (Python, C #, ฯลฯ )

ความพยายามที่ล้มเหลวของฉัน: พยายามอธิบายการคำนวณ pi (พวกเขาถาม), เกมกระดาน C-Jump http://c-jump.com/ (พวกเขาไม่ได้รับมันและคำแนะนำคือบั๊กกี้) และเขียนโค้ด 2d สด เกม (แทบจะไม่สนใจเลยไม่ว่าฉันจะก้าวแค่ไหนระหว่างการสาธิต)

โชคดี!


2

ทำโปรแกรมอย่างง่าย ไม่ไม่ใช่ "Hello World!"

สิ่งที่ฉันจะทำคือพูดว่ามีภาษาการเขียนโปรแกรมหลายประเภท - ภาษาที่สร้างเกมคนที่ควบคุมหุ่นยนต์ - แต่สิ่งที่คุณจะต้องทำงานด้วยคือ HTML

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

หรือถ้าเธอเป็นคนซุกซนฉันจะบอกคุณว่าอะไรทำให้ฉันสนใจที่จะเขียนโปรแกรม: แฮ็ค ย้อนกลับไปในวันนี้ฉันได้ทำโปรแกรมที่ดีที่สุดที่เคยทำมาสำหรับการเล่น AOL (นอกโปรแกรมหนึ่งที่มีประสิทธิภาพมากกว่าของฉันในหนึ่งในหลายสิบสิ่งที่ฉันทำ) - ตอนอายุ 14-15 ทางด้านหมวกสีขาวฉันได้สร้างโปรแกรมกำจัดสแปมตัวแรกเช่นกัน (1995) ฉันสามารถทำให้ประสบการณ์ออนไลน์ของฉันสนุกยิ่งขึ้นและเราจะทิ้งเรื่องนั้นไว้ ทุกสิ่งที่ฉันต้องการทำในคอมพิวเตอร์คือการผจญภัยหรือปริศนาที่ฉันต้องคิดออกและสิ่งที่ฉันต้องการทำในคอมพิวเตอร์นั้นไม่มีที่สิ้นสุด แน่นอนว่าการทำให้มันเป็นเรื่องน่าปวดหัวในบางครั้ง แต่การเขียนโปรแกรมที่ทำให้สิ่งต่าง ๆ ดีขึ้นและเร็วขึ้นกว่าที่มนุษย์ทุกคนทำได้ หรือทำสิ่งต่าง ๆ ที่เป็นไปไม่ได้สำหรับประชาชนทั่วไปก็เหมือนกับการสร้างเครื่องจักรชิ้นเล็ก ๆ ที่คนเราภาคภูมิใจ ตอนนี้คุณอาจเขินอายไปจากสิ่งที่ร้ายแรง แต่มันจะเป็นเรื่องง่ายมากที่จะทำอะไรบางอย่างใน Visual Basic ที่สามารถเปิดตัวเมื่อเริ่มต้น (นั่งที่ด้านข้างของหน้าจอหรือถาดระบบ) และจากตรงนั้น คุณสามารถทำให้มันเปิดเว็บไซต์ที่เธอชื่นชอบโปรแกรมที่เธอชื่นชอบ ฯลฯ คุณสามารถแนะนำเธอให้รู้จักกับคำสั่งที่จำเป็นในการเปิดตัว exe และเว็บไซต์แล้วเพียงแค่ขอให้เธอสร้างปุ่มจากนั้นเพิ่มรหัสลงในปุ่มเหล่านั้น วางในเว็บไซต์โปรดของเธอ (Facebook, twitter และอื่น ๆ ) และโปรแกรม (iTunes, โปรแกรมประมวลผลคำ ฯลฯ ) หากคอมพิวเตอร์ของเธออยู่ในห้องของเธอคุณสามารถโยนนาฬิกาปลุกเพื่อเพิ่มฟังก์ชันการทำงาน แน่นอน, 30 นาทีสั้นเกินกว่าจะเดินผ่านเธอได้ดังนั้นคุณต้องทำมันให้เรียบร้อย ในตอนท้ายคุณจะส่งอีเมลคู่มือผู้ใช้ 2-3 หน้ารหัสและ. exe ถึงเธอแล้วปล่อยให้เธอมียอดขายเล็กน้อย: มันไม่ใช่เรื่องง่ายในตอนแรก แต่เมื่อคุณได้รับ แขวนไว้ไม่เลวเลยจะมีประโยชน์อย่างมากในชีวิตและจะช่วยพัฒนาความคิดวิเคราะห์ของเธอ


2

ฉันเคยสอนนักเรียนอายุ 18 ปีและฉันคิดว่าอายุ 15 ปีเหมือนกัน อย่าคาดหวังความสำเร็จโดยปราศจากการฝึกฝน ฉันใช้เวลาหลายสัปดาห์ในชั้นแรกของฉันเพื่อให้ "แตกหัก"

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

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

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


1

ฉันรู้ว่ามันไม่ใช่ภาษาโปรแกรม แต่ฉันคิดว่า HTML เป็นจุดเริ่มต้นที่ดี เพราะคุณได้รับผลทันที .... เริ่มต้นด้วย

สวัสดีชาวโลก

จากนั้นทำ:

สวัสดี <b> โลก </b>

เป็นต้น


1

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

นั่นคือสิ่งที่ทุกคนพูด ...


1

นี่เป็นประสบการณ์ส่วนตัวของฉันมากกว่า "คำตอบ" ที่ตรงไปตรงมา

ทำไมฉันถึงสนใจ พ่อแม่ของฉันซื้อ IBM PC XT ในปี 1984 (ฉันเกิดในปี 1984) มันมี 640kb RAM และ HDD 20MB และ 5 "FDD และรัน MS-DOS v3.2 ฉันไม่ได้รับอนุญาตให้สัมผัสจนกว่าฉันจะอยู่ในมาตรฐานที่ 5 และเมื่อฉันได้รับอนุญาตให้ใช้ฉันก็เททุกปี ของความอยากรู้สะสมเข้ามา

ในทางกลับกันน้องสาวของฉันได้รับอนุญาตให้ใช้พีซีเครื่องเดียวกันและ Quadra 610 mackintosh เมื่อใดก็ตามที่เธอต้องการและเธอก็เอาใจใส่อย่างมากเมื่อเธอจ่ายเงินให้กับโต๊ะที่ตั้งไว้

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

10 PRINT "CAT"
20 END

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

คุณธรรม: ผลลัพธ์ที่ดีขึ้นจะเป็นสัดส่วนกับเวลาและความพยายามที่พวกเขาใส่

การสอนเด็กมัธยม Labview และ Lego NXT I เป็นผู้ให้คำปรึกษาสำหรับหุ่นยนต์ตัวแรกเป็นเวลาหนึ่งปีและต้องแนะนำเด็ก ๆ ในการเขียนโปรแกรมหุ่นยนต์ใน NI Labview ทักษะการเขียนโปรแกรมที่ต้องการนั้นสูงกว่าระดับของเด็กมัธยมอย่างมาก แต่การแข่งขันครั้งนี้มีจุดประสงค์เพื่อให้เด็ก ๆ ตื่นเต้นกับงานวิศวกรรมและยกระดับความสามารถในการท้าทาย ตราบใดที่โปรแกรมมีคำสั่ง if และหนึ่งลูปสิ่งต่าง ๆ ก็โอเค ผู้คนหลุดออกจากส่วนการเขียนโปรแกรมของหุ่นยนต์เมื่อพวกเขาเห็นแผนภาพรหัสที่ฉันสร้างขึ้นสำหรับหุ่นยนต์ที่เราสร้างขึ้นเมื่อปีที่แล้ว

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


1

CS คืออะไร

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

การเป็นโปรแกรมเมอร์คืออะไร

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

ขนมตาผูกติดอยู่กับรหัส

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


1

ฉันเริ่มเขียนโปรแกรมเมื่ออายุ 14 ขณะที่ส่วนใหญ่ (นักเรียน 47 คนจาก 50 คนที่ลงทะเบียน) ตกกลางคันหรือเพิ่งตัดสินใจที่จะไม่เข้าเรียนหลักสูตรขั้นสูงในปีหน้าฉันติดกับมันและเรียนรู้สิ่งที่สำคัญมาก:

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

เราได้รับการสอน "Hello World" เพื่อเริ่มต้นด้วย แต่ผมไม่มีดอกเบี้ยจนกว่าฉันจะทำให้รหัสของฉันโต้ตอบกับผู้ใช้ ช่วงเวลาที่เราถูกสอนให้อ่านอินพุตด้วย "cin" ฉันตั้งใจจะสร้างโปรแกรม Mad-Lib ที่เราสามารถเล่นในชั้นเรียนได้ อุปสรรค์แรกของฉันคือการอ่านอินพุตที่มีช่องว่างตามด้วยการจัดรูปแบบเอาต์พุต ต่อมาฉันต้องการที่จะบันทึกเรื่องราวเหล่านี้ลงในไฟล์ดังนั้นฉันจึงจำเป็นต้องเรียนรู้ไฟล์ IO การจัดการกับอุปสรรคเพื่อให้บรรลุเป้าหมายของฉันคือสิ่งที่ทำให้ฉันมีส่วนร่วม

ต่อมาในปีที่เราค้นพบว่าผู้ดูแลระบบเครือข่ายกำลังบันทึกการใช้งาน "Net send" และไคลเอ็นต์ Novell SendMessage ที่เราใช้ในการสื่อสารระหว่างชั้นเรียนคอมพิวเตอร์และพวกเขาปิดการใช้งานหลังจากนักเรียนใช้เพื่อโกงการทดสอบ ดังนั้นฉันจึงเขียนห้องแชทเพื่อแทนที่ผู้ดูแลระบบที่ปิดใช้งาน มันเป็นสิ่งที่มีประโยชน์อย่างแท้จริงครั้งแรกที่ฉันได้สร้าง ฉันทำแบบจำลองหลังจากระบบแชทของ Battle.Net เสร็จสมบูรณ์ด้วยการลงทะเบียนผู้ใช้ผู้ดูแลและแม้แต่การเข้ารหัสพื้นฐานและระบบไฟล์เงาเพื่อป้องกันผู้ใช้จากการดัดแปลง (ไฟล์ทั้งหมดต้องอยู่ในไดรฟ์เครือข่ายที่ใช้ร่วมกันเพื่อให้นักเรียน เข้าถึงและใช้โปรแกรม) สิ่งเหล่านี้ไม่ใช่แนวคิดที่ฉันทราบแล้ว แต่มีวิธีแก้ไขด้วยตนเองเพื่อแก้ปัญหา สำหรับฉันนั่นคือความสุขของการเขียนโปรแกรม

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


1

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


1

เมื่อคุณต้องการได้รับ - และ - รักษาความสนใจของใครสักคนแล้วถามว่าอย่าบอก ถามว่าพวกเขาจะทำงานง่าย ๆ เช่นรับน้ำดื่มได้อย่างไร จากนั้นแสดงวิธีปฏิบัติตามคำแนะนำที่ให้ไว้ (เช่น "ลงไปที่ห้องโถง") จริง ๆ แล้วไม่ได้จัดการกับปัญหาของเวลาที่ต้องเลี้ยวซ้ายเลี้ยวขวาหยุด ฯลฯ เข้าใจและจัดการกับเงื่อนไขขอบเขตเหล่านั้นนั่นคือธุรกิจ ของการเขียนโปรแกรม! จากนั้นคุณสามารถแสดงให้เห็นว่าการวนลูป "do-จนถึง" สามารถจัดการกับ "การเดินจนกว่าคุณจะมาถึงกำแพง" เพื่อให้ meta-task ทำงานออกจากงานหนึ่งฟุตต่อหน้า ของการเดิน


1

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

ในขณะที่ฉันเศร้าฉันไม่รู้ว่าเรื่องนี้เป็นเรื่องจริงหรือไม่ มันยังเจ๋งมาก

อีกอย่างหนึ่งคือ ฉันจำประสบการณ์ครั้งแรกของฉันกับการเขียนโปรแกรม - MessageBoxใน Delphi มันยอดเยี่ยมเพราะฉันสามารถทำให้คอมพิวเตอร์ทำในสิ่งที่ฉันต้องการและเห็นผลทันที
จากนั้นไมโครคอนโทรลเลอร์ก็ปรากฏตัวขึ้น พวกเขาดียิ่งขึ้นเพราะรหัสของฉันสามารถเปลี่ยนโลกแห่งความจริง ฉันหมายถึงการกำหนดค่าบางอย่างให้กับตัวแปรหยุดเป็นนามธรรมเพราะมันทำให้เกิดแรงดันไฟฟ้าที่จะปรากฏบนพอร์ตเอาท์พุทซึ่งทำให้เครื่องยนต์ของฉันย้าย มันเจ๋งมาก คุณอาจต้องการเลือกวิธีนี้ - แสดงเด็กอย่าง Arduino

คุณเห็นฉันคิดว่ามันคือทั้งหมดที่เกี่ยวกับการเปลี่ยนแปลงและการเห็นผล


0

แสดงผลลัพธ์สุดท้ายของบางสิ่งที่คุณทำ พูดคุยโดยทั่วไปเกี่ยวกับบทบาทของคุณในโครงการ อาจช่วยเธอทำโลกสวัสดีถ้าเธอสนใจ


0

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

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

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


0

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

ขอให้โชคดี.. ! งานที่ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.