การสอนการเขียนโปรแกรมทำให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้นหรือไม่ [ปิด]


40

ฉันคิดว่าตัวเองเป็นโปรแกรมเมอร์ Python ระดับกลางและได้รับโอกาสในการเป็นผู้ฝึกสอนสำหรับการเขียนโปรแกรม Python ระดับเริ่มต้น

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

มันยังขึ้นอยู่กับคนเหล่านั้นด้วยไม่ว่าจะเป็นโปรแกรมเมอร์หรือนักเรียน noob (ในกรณีของฉันคือโปรแกรมเมอร์ระดับกลาง. NET และ Java)

ฉันควรคาดหวังอะไรจากพวกเขา

หนึ่งในความกลัวของฉันคือ - ถ้าฉันสำลักเมื่อหนึ่งในพวกเขาถามคำถามยุ่งเหยิง เป็นเรื่องปกติหรือไม่


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

ขอบคุณ แต่การฝึกอบรมไม่ได้อยู่ในมหาวิทยาลัย - เป็นโอกาสครั้งเดียวสำหรับการฝึกอบรมพนักงาน Java / .NET บางคนของ บริษัท พัฒนาเว็บไซต์ขนาดเล็ก
treecoder

34
การเรียนการสอนสิ่งที่จะทำให้คุณดีกว่าที่มันเพราะกองกำลังสอนให้คุณเข้าใจอย่างทั่วถึงมัน นอกจากนี้คุณกำลังหลักอีกครั้งเรียนมันในขณะที่คุณกำลังเรียนการสอน
Jake Berger

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

2
ครูฝึกทั้งหมดที่ฉันเคยสัมภาษณ์ การสัมภาษณ์ตำแหน่งผู้พัฒนาล้มเหลว การเขียนโปรแกรมไม่ได้เป็นเพียงทฤษฎี เพื่อให้เป็นโปรแกรมเมอร์ที่ดีขึ้นคุณต้องเรียนรู้ 'และ' ฝึกฝนโดยการทำแอพในโลกแห่งความจริง
มูฮัมหมัดฮะซันข่าน

คำตอบ:


37

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

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


1
@greengit ฉันขอแนะนำให้คุณเปรียบเทียบภาษา แต่ให้แน่ใจว่าคุณรู้จริง ๆ ว่าคุณกำลังพูดถึงอะไรเมื่อพูดว่าภาษาหนึ่งดีกว่าอีกภาษาหนึ่งเพราะนักเรียนบางคนอาจไม่เห็นด้วยและมีข้อโต้แย้งโต้เถียงที่ถูกต้อง การเปรียบเทียบและแสดงวิธีที่หลามทำให้งานต่าง ๆ ง่ายขึ้นแล้วใน Java / .NET เป็นวิธีที่ดีในการช่วยนำเสนอแนวคิด
Ryan Matthews

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

3
@greengit อย่าแสร้งทำรู้สิ่งที่คุณไม่รู้ หากคุณไม่มีความรู้เพียงพอที่จะทำการเปรียบเทียบให้ใช้เป็นจุดเรียนรู้และขอให้นักเรียนของคุณอธิบายว่ามันทำงานอย่างไรใน Java / .NET และลองมาเปรียบเทียบกัน
Davy8

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

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

30

การศึกษาของมหาวิทยาลัยเท็กซัสเก่าทำให้ผลการวิจัยดังต่อไปนี้

คนคง:

  • 10 เปอร์เซ็นต์ของสิ่งที่อ่าน

  • ร้อยละ 20 ของสิ่งที่พวกเขาได้ยิน

  • ร้อยละ 30 ของสิ่งที่พวกเขาเห็น

  • 50 เปอร์เซ็นต์ของสิ่งที่พวกเขาเห็นและได้ยิน

  • 70 เปอร์เซ็นต์ของสิ่งที่พวกเขาทำ

  • 90 เปอร์เซ็นต์ของสิ่งที่พวกเขาสอน

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

แม้ว่าฉันจะเรียนที่ Comp Sci 101 ในโรงเรียนฉันก็ทำงานสอนพิเศษสำหรับ C ++ และไม่ได้เรียนรู้ C ++ จริง ๆ จนกว่าฉันจะถูกบังคับให้สอนให้นักเรียนลำบาก มันเหมือนหลอดไฟที่กำลังแล่นเข้ามาในหัวของฉันเพราะฉันช่วยงาน CS ที่ไม่ได้ทำงานตามที่ได้รับมอบหมาย


2
+1 ถึงขีด จำกัด การลงคะแนนของฉันแล้ว :( โปรดชี้ให้ฉันไปที่ลิงก์หากมี
treecoder

22
บางทีคุณควรหยุดอ้างอิงตารางนั้น willatworklearning.com/2006/05/people_remember.html
Shawn D.

5
@ShawnD ฉันคิดมากเท่านี้ ... เพราะคุณรู้ว่าพวกเขาพูดอะไรมีสถิติ 84% ประกอบขึ้น ฉันคิดว่ามันสำคัญกว่าสำหรับข้อความที่ใหญ่กว่านี้ ฉันเก็บสิ่งที่ฉันสอนไว้มากกว่าสิ่งที่ฉันอ่าน นี่คือสิ่งที่ฉันได้รับจากธรรมชาติ นั่นคือจุดที่ฉันพยายามทำ
maple_shaft

3
สถิติที่ดี +1 ประสบการณ์ของฉันส่วนใหญ่เหมือนกัน เรามีคำพูดที่นี่: ผู้ที่สามารถทำได้ สอนคนที่ไม่สามารถทำได้ ผู้ที่ไม่สามารถสอนสอนกีฬาได้ แค่ล้อเล่น :)
เหยี่ยว

2
@Falcon ประโยคสุดท้ายที่ต่างออกไปคือ"ผู้ที่ไม่สามารถสอนจัดการ" ;-)
PéterTörök

10

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

อันที่จริงแจนโคมินิอุสตั้งข้อสังเกตเมื่อสองสามร้อยปีก่อนว่าวิธีที่ดีที่สุดที่จะเข้าใจสิ่งที่ลึกซึ้งที่สุดคือการอธิบายให้คนอื่นฟัง

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


5

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

คุณกล่าวถึงในความคิดเห็นว่า "ความรู้เกี่ยวกับ Java / .NET ของคุณใกล้ศูนย์" นั่นเป็นโอกาสที่สมบูรณ์แบบในการเรียนรู้จากนักเรียนของคุณ การสอนไม่ใช่กระบวนการเดียว

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


+1 สำหรับ "คุณยังสามารถเรียนรู้จากนักเรียนของคุณหากคุณเปิดใจเกี่ยวกับเรื่องนี้" ฉันเคยมีประสบการณ์นี้เมื่อฉันสอนชั้นเรียนสองสามคืนเมื่อหลายปีก่อน
DevSolo

4

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

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

หนึ่งในความกลัวของฉันคือ - ถ้าฉันสำลักเมื่อหนึ่งในพวกเขาถามคำถามยุ่งเหยิง เป็นเรื่องปกติหรือไม่

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


4

ฉันสอนวิชาระดับวิทยาลัยเทคนิค (แต่ไม่เกี่ยวกับการพัฒนาซอฟต์แวร์) นี่คือของฉัน:

มันจะทำให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้นหรือไม่

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

มันจะขยายการเขียนโปรแกรมของคุณหรือไม่

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

มันขึ้นอยู่กับคนเหล่านั้นด้วยหรือไม่?

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

ฉันควรคาดหวังอะไรจากพวกเขา

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

ถ้าฉันสำลักเมื่อฉันถามคำถามที่พันกัน เป็นเรื่องปกติหรือไม่

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


3

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

ความสามารถในการสอนผู้อื่นนั้นเป็นบททดสอบบทสนทนาของฉันเสมอว่าฉันเข้าใจบางสิ่งบางอย่างหรือไม่


3

ฉันจะบอกว่ามันสร้างความแตกต่างอย่างแน่นอน จากประสบการณ์ส่วนตัวของฉันฉันปกป้องสิ่งนี้เพราะเหตุผลดังต่อไปนี้: -

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

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


3

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

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


2

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

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

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


2

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

นอกจากนี้นักเรียนอาจนำข้อมูลเชิงลึกที่แตกต่างกันหรือวิธีการ (แปลก?) ไปสู่ปัญหาขยายพื้นที่การแก้ปัญหา

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


1

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


1

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

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

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

12 ปีที่แล้วครูชั้นประถมศึกษาปีที่ 11/12 ด้านไอทีของฉันมอบข้อเสนอให้ฉัน ถ้าตลอดปีการศึกษาฉันสามารถหยุดความปลอดภัย / ไฟร์วอลล์ ฯลฯ ที่โรงเรียนเขาจะให้ A + (100%) ในหลักสูตรโดยไม่คำนึงถึงงานของฉัน เฮ็คฉันช่วยเขาวางแผนหลักสูตรขณะที่ฉันทำงานเป็นอาจารย์ นักพัฒนากลับมาแล้ว ข้อเสนอที่เขาให้ฉันทำให้เขา (ในเวลา) ผู้เชี่ยวชาญด้านความปลอดภัย windows NT ฉันได้ 100% ฉันต้องขโมย UN / PW ของเขาแล้วล็อคเขา ... มันเป็นวิธีเดียวในท้ายที่สุด ... แต่ไม่จำเป็นต้องบอกว่าเขาดีขึ้นในฐานะอาจารย์และในด้านไอทีเพราะการสอน - เขาทำงานกับชั้นเรียนของเขา - ไม่ใช่ในวาระของเขา

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


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

1

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


1

จากประสบการณ์การเป็นครูของตัวเอง ผมจะบอกว่าไม่มี

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

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

คุณอาจต้องการพูดว่า - 'แต่คุณสามารถศึกษาอัลกอริธึมพื้นฐาน' - และฉันบอกคุณ - 'แต่คุณควรศึกษาในมหาวิทยาลัย'

หัวข้ออื่น ๆ คือจังหวะการทำงาน "อาจารย์" ช้าพวกเขาไม่คุ้นเคยกับการแก้ปัญหาโลกแห่งความจริงอย่างรวดเร็ว

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


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

1

ใช่!

หลุยส์อี Frenzelเขียนเกี่ยวกับตรงนี้ไม่กี่ปีที่ผ่านมา:

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


1

ไม่เกี่ยวข้องโดยตรง แต่ ...

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


ฉันชอบความสัมพันธ์แบบนี้!
junky

1

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

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

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


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

0

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


0

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

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

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

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

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