Có dạy lập trình làm cho bạn một lập trình viên tốt hơn [đóng]


40

Tôi tự coi mình là một lập trình viên Python trung cấp và đã được cung cấp một cơ hội để trở thành một huấn luyện viên cho một lớp lập trình Python mới bắt đầu.

Tôi đã tự hỏi nếu điều này thực sự sẽ mở rộng tiết mục lập trình của tôi. Có ai đó đã có một kinh nghiệm khai sáng sau khi họ đào tạo thành công một nhóm người?

Có phải nó cũng phụ thuộc vào những người đó - cho dù họ là lập trình viên hay sinh viên không? (Trong trường hợp của tôi, chúng là các lập trình viên .NET và Java trung gian)

Tôi nên mong đợi gì từ họ?

Một trong những nỗi sợ của tôi là - điều gì sẽ xảy ra nếu tôi nghẹn ngào khi một trong số họ hỏi một câu hỏi rối. Điều này có bình thường không?


Đừng lo lắng về việc (nghẹn) không biết câu trả lời. Bởi các sinh viên của bạn chỉ ra một lĩnh vực mà bạn không quen thuộc cho phép bạn biết những gì bạn cần học để dạy sinh viên trong năm tới.
Martin York

Cảm ơn. Nhưng đào tạo KHÔNG ở trường đại học - đó là cơ hội một lần để đào tạo một số nhân viên Java / .NET của một vài công ty phát triển web nhỏ.
treecoder

34
Dạy bất cứ điều gì sẽ làm cho bạn giỏi hơn về , bởi vì việc dạy buộc bạn phải hiểu thấu đáo về . Thêm vào đó, về cơ bản, bạn đang nghiên cứu lại nó khi bạn đang giảng dạy.
Jake Berger

2
Hãy là người tự nhiên của bạn và thể hiện kiến ​​thức. Học sinh là những người như bạn và tôi, những người có ý định học hỏi từ việc lắng nghe bạn trong phòng học. Khi sinh viên của bạn đạt điểm cao hoặc đưa ra các giải pháp tuyệt vời cho các vấn đề của họ vì việc giảng dạy của bạn, nó sẽ hiển thị. Sự hài lòng bạn có thể nhận ra từ nó có thể dễ dàng thách thức biểu hiện.
vpit3833

2
Tất cả các giảng viên mà tôi đã từng phỏng vấn; đã thất bại trong cuộc phỏng vấn cho vị trí của nhà phát triển. Lập trình không chỉ là lý thuyết. Để trở thành một lập trình viên giỏi hơn, bạn phải học 'và' thực hành bằng cách tạo các ứng dụng trong thế giới thực.
Muhammad Hasan Khan

Câu trả lời:


37

Theo kinh nghiệm của tôi, việc dạy lập trình đã giúp tôi trở nên tốt hơn. Nó buộc tôi phải hiểu rõ hơn về các khái niệm mà trước đây tôi đã chấp nhận hoặc chấp nhận. Khi tôi phải nói rõ những ý tưởng đã cũ đối với tôi nhưng mới đối với sinh viên, theo một số cách khác nhau (vì không phải ai cũng học theo cùng một cách từ cùng một ví dụ), cuối cùng nó đã dẫn đến sự hiểu biết sâu sắc hơn về tài liệu cho tôi.

Và vâng, đôi khi sinh viên hỏi những câu hỏi mà bạn không biết câu trả lời. Không sao, bạn có thể nói với họ rằng bạn không biết, đưa ra một lời giải thích khả dĩ và hứa sẽ xem xét nó trước khi đến lớp học tiếp theo.


1
@greengit Tôi sẽ đề nghị bạn so sánh các ngôn ngữ, nhưng hãy chắc chắn rằng bạn thực sự biết bạn đang nói gì khi nói rằng một ngôn ngữ tốt hơn ngôn ngữ khác vì một số sinh viên có thể không đồng ý và có các đối số phản biện hợp lệ. So sánh chúng và chỉ ra các cách python làm cho các tác vụ khác nhau trở nên dễ dàng hơn trong Java / .NET là một cách tuyệt vời để giúp trình bày các khái niệm.
Ryan Matthews

2
Tôi muốn nói rằng hãy so sánh ở mức tối thiểu và tập trung vào cách thực hiện mọi thứ trong Python. Tôi giả sử rằng họ đã quen thuộc với các cấu trúc cơ bản như gán biến, lặp / lặp, hàm, đệ quy, cấu trúc luồng điều khiển, v.v ... Nó có thể giúp thiết kế một dự án mà họ xây dựng trong suốt khóa học (nếu nó đủ dài cho điều đó) .
Thất vọngWithFormsDesigner

3
@greengit Đừng giả vờ biết điều gì đó mà bạn không biết. Nếu bạn không biết đủ để so sánh, hãy sử dụng nó làm điểm học tập và yêu cầu học sinh giải thích cách hoạt động của nó trong Java / .NET và cố gắng đưa ra so sánh cùng nhau.
Davy8

2
@greengit Tôi nghĩ nó giúp không đi vào với giả định rằng bạn cần biết mọi thứ về chủ đề này. Điều đó giống như mong đợi bạn làm một công việc mà không có khả năng tra cứu tài liệu tham khảo. Chỉ cần ổn với thực tế là bạn sẽ không có tất cả các câu trả lời, nhưng bạn có thể giúp hướng học sinh của mình đến câu trả lời. Có thể cung cấp cho họ các điều khoản chính cho Google.
Davy8

1
+1 để thừa nhận khi bạn không biết câu trả lời. Tôi thấy quá nhiều giáo viên chỉ đơn giản là làm một cái gì đó ngay tại chỗ hơn sau đó thừa nhận họ không biết tất cả mọi thứ. Tôi cũng đã có một số giảng viên giỏi sẽ sử dụng như một cơ hội, làm cho các sinh viên tìm thấy câu trả lời, dạy cách tìm kiếm mọi thứ. Điều đó cần phải được thực hiện cẩn thận để bạn không khuyến khích mọi người đặt câu hỏi.
Jim C

30

Một nghiên cứu cũ của Đại học Texas đã đưa ra những phát hiện sau đây.

Mọi người giữ lại:

  • 10 phần trăm những gì họ đọc

  • 20 phần trăm những gì họ nghe thấy

  • 30 phần trăm những gì họ thấy

  • 50 phần trăm những gì họ thấy và nghe

  • 70 phần trăm những gì họ làm

  • 90 phần trăm những gì họ dạy

Theo logic này, cách tốt nhất để HỌC cái gì đó và giữ lại những gì bạn đã học là nỗ lực hết sức trong việc dạy nó cho người khác.

Mặc dù tôi đã học qua Comp Sci 101 ở trường, tôi đã nhận một công việc dạy kèm cho C ++ và không thực sự TÌM HIỂU C ++ cho đến khi tôi buộc phải dạy nó cho những học sinh gặp khó khăn. Nó giống như một loạt các bóng đèn phát ra trong đầu tôi khi tôi giúp những người không phải là CS tốt nghiệp với bài tập của họ.


2
+1. Đã đạt đến giới hạn bỏ phiếu của tôi :( Vui lòng chỉ cho tôi liên kết nếu có.
Treecoder

22
Có lẽ bạn nên ngừng tham khảo bảng đó. willatworklearning.com/2006/05/people_remember.html
Shawn D.

5
@ShawnD. Tôi đã tìm ra nhiều ... bởi vì bạn biết những gì họ nói, 84% số liệu thống kê được tạo thành. Tôi nghĩ quan trọng hơn nó nên được thực hiện cho thông điệp lớn hơn. Tôi giữ lại rất nhiều những gì tôi dạy hơn những gì tôi đọc. Đây là một cho tôi như một quan sát tự nhiên của bản thân mình. Đó là điểm tôi cố gắng thực hiện.
maple_shaft

3
Thống kê đẹp, +1. Kinh nghiệm của tôi phần lớn giống nhau. Chúng tôi có một câu nói ở đây: Những người có thể, làm. Những người không thể làm, dạy. Những người không thể dạy, dạy thể thao. Đùa thôi :)
Falcon

2
@Falcon, một phiên bản khác của câu cuối cùng là "Những người không thể dạy, quản lý" ;-)
Péter Török

10

Bản thân tôi chưa dạy lập trình một cách có hệ thống, chỉ cố gắng giải thích một số khái niệm hoặc vấn đề cho người ngoài hoặc ít hơn. Đó luôn là một trải nghiệm thú vị và tôi đã học được điều gì đó mỗi lần.

Thật vậy, Jan Comenius đã lưu ý một vài trăm năm trước rằng cách tốt nhất để thực sự hiểu sâu sắc một điều gì đó là giải thích nó cho người khác .

Vì vậy, đi cho nó - nó sẽ là một kinh nghiệm quý giá, phong phú cho bạn. Bạn chắc chắn sẽ nhận được những câu hỏi khó hoặc đáng ngạc nhiên - không sao cả. Đừng cố giả vờ rằng bạn biết tất cả mọi thứ - chỉ cần thành thật và nói với họ điều gì đó như "Tôi không biết, nhưng tôi sẽ trả lời bạn bằng một câu trả lời". Họ sẽ chỉ tôn trọng bạn tốt hơn vì trung thực.


5

Ngoài những gì các câu trả lời khác đề cập, đừng quên rằng trong khi giảng dạy, bạn cũng có thể học hỏi từ các sinh viên của mình nếu bạn cởi mở về nó.

Bạn đã đề cập trong một nhận xét rằng "kiến thức về Java / .NET của bạn gần bằng không". Đó là một cơ hội hoàn hảo để học hỏi từ các sinh viên của bạn. Dạy học không phải là một quá trình một chiều.

Nếu bạn không biết câu trả lời cho một câu hỏi, đừng cố che giấu sự thật đó. Sự bất đồng lớn nhất mà giáo viên có thể làm với học sinh là giả vờ rằng họ biết điều gì đó mà họ không làm. Tốt nhất là bạn mất lòng tin của họ khi họ phát hiện ra bạn không biết bạn đang nói về điều gì, tệ hơn là bạn đánh lừa họ và truyền thông tin sai lệch còn tệ hơn là không có thông tin.


+1 cho "bạn cũng có thể học hỏi từ các sinh viên của mình nếu bạn cởi mở về điều đó" Tôi đã trải nghiệm điều này khi tôi dạy một vài lớp học ban đêm, nhiều năm trước.
DevSolo

4

Vâng, bạn sẽ có được một sự hiểu biết sâu sắc hơn. Tôi đã thực hiện những kinh nghiệm tương tự như các câu trả lời khác mà bạn nhận được ở đây.

Tôi đã thực hiện một kinh nghiệm bổ sung: Tôi đã nhanh hơn trong các phân tích lỗi. Bạn dạy mọi người, để họ mắc lỗi, bạn không bao giờ nghĩ tới. Khi bạn giúp họ, bạn sẽ chú ý đến mã có vấn đề (ít nhất, tôi đã làm).

Một trong những nỗi sợ của tôi là - điều gì sẽ xảy ra nếu tôi nghẹn ngào khi một trong số họ hỏi một câu hỏi rối. Điều này có bình thường không?

Tôi nghĩ nó bình thường. Và các học giả của tôi không có vấn đề gì, khi tôi thành thật (và tôi đã cung cấp câu trả lời sau). Ngược lại - họ thấy rằng không ai phải biết tất cả mọi thứ. Điều quan trọng nhất là phải biết, làm thế nào để có được thông tin. Một trong những bài học hay nhất của tôi là, khi tôi không biết câu trả lời và chúng tôi đã cùng nhau xem hướng dẫn để có câu trả lời. Sau đó, họ biết cách đọc hướng dẫn sử dụng.


4

Tôi đã dạy các lớp trình độ cao đẳng kỹ thuật (nhưng không phải về phát triển phần mềm). Đây là của tôi:

Nó sẽ làm cho bạn một lập trình viên tốt hơn?

Không phải 1: 1. Bạn sẽ không có được trải nghiệm giống như bạn viết chương trình - nhưng đó không phải là điều xấu bằng bất kỳ phương tiện nào (đọc tiếp).

Nó sẽ mở rộng tiết mục lập trình của bạn?

Chắc chắn rồi. Bạn sẽ có những thử thách mới và sẽ cần (học lại) một số điều mà bạn chưa bao giờ biết hoặc đã quên trong những năm qua. Một số trong đó sẽ hữu ích trong tương lai. Nó trình bày cho bạn nhiều thách thức và khái niệm mới. Bạn sẽ cần tiếp cận các vấn đề kỹ thuật từ những quan điểm mới, và bạn có thể học hỏi được nhiều điều bằng cách đưa ra quan điểm đó và bằng cách giải quyết những vấn đề đó. Nếu bạn có thể dạy ai đó một cách hiệu quả những gì họ cần để hiểu các vấn đề kỹ thuật, nó thường sẽ cải thiện kiến ​​thức của bạn về các môn học và mở rộng lĩnh vực kiến ​​thức của bạn. Đồng thời, bạn đề cập đến việc họ đã biết một ngôn ngữ khác, một số người cho rằng một trong những cách tốt nhất để cải thiện là học các ngôn ngữ mới.

Có phải nó cũng phụ thuộc vào những người đó?

Làm việc với các chuyên gia trong một lĩnh vực gần đó thay đổi cấu trúc đáng kể. Họ đã biết cách giao tiếp với máy tính, để viết chương trình. Cú pháp và logic sẽ nhanh chóng cho họ học hỏi. Họ sẽ đặt câu hỏi đầy thách thức trong tuần đầu tiên.

Tôi nên mong đợi gì từ họ?

Tôi hy vọng họ sẽ có lợi nhất nếu bạn có khả năng liên kết nội dung của khóa học với các ngôn ngữ mà họ đã quen thuộc: "Vâng, chủ đề tương tự như Java theo những cách này , nhưng khác nhau vì những lý do này ". Tôi hy vọng tốc độ họ học được khá nhanh, vì vậy bạn nên đầu tư một khoảng thời gian tốt ngoài lớp học để chuẩn bị (một lần nữa, rất nhiều thứ để học, nhưng các chủ đề sẽ được hầu hết các nhà phát triển quan tâm.)

Điều gì sẽ xảy ra nếu tôi bị nghẹn khi tôi hỏi một câu hỏi rối. Điều này có bình thường không?

Vâng, họ cũng có kinh nghiệm như bạn, nhưng trong một lĩnh vực khác (mặc dù có liên quan). giải thích có thể khó khăn và bạn không thể biết mọi thứ hoặc có cùng lĩnh vực chuyên môn như tất cả chúng (kết hợp). Khả năng nói "Tôi không biết" là một phẩm chất tốt ở một giáo viên. Nếu họ cũng có kinh nghiệm, bạn thường có thể trả lời qua một cuộc thảo luận ngắn ("Ồ, chúng tôi giải quyết vấn đề đó bằng cách sử dụng kỹ thuật này "). Nếu thất bại, bạn nên tìm câu trả lời vào phiên tiếp theo (cho bạn và cho họ).


3

Khi bạn có thể dạy thành công người khác điều gì đó, dù lập trình hay không, thì bạn thực sự hiểu nó. Có thể dạy cho người khác một cái gì đó chắc chắn làm cho bạn giỏi hơn về kỹ năng. Học sinh sẽ hỏi bạn những câu hỏi sẽ làm bạn ngạc nhiên và khiến bạn nghĩ về chủ đề khác đi. Bạn sẽ trở nên thành thạo trong việc trình bày tài liệu theo nhiều cách cũng sẽ dẫn bạn đến sự hiểu biết tốt hơn về chủ đề này.

Có thể dạy người khác luôn là bài kiểm tra của tôi về việc tôi có thực sự hiểu điều gì không.


3

Tôi sẽ nói rằng nó chắc chắn làm cho một sự khác biệt. Từ kinh nghiệm cá nhân của tôi, tôi bảo vệ điều này vì những lý do sau: -

  • Trong khi đọc, đôi khi tâm trí trở nên lười biếng đến mức bỏ qua các chi tiết hoặc bắt đầu giả định mọi thứ thay vì đọc kỹ để hiểu được quan tâm hàng đầu. Đó là lý do đặc biệt để có kiến ​​thức không đầy đủ đạt được trong khi đọc chính mình.

  • Trong trường hợp giảng dạy, tất cả cùng nhau là một câu chuyện khác nhau. Ở đây người ta không thể đưa ra các giả định nhưng sự thật, vì vậy việc đọc kỹ được thực hiện cho việc giảng dạy. Ngoài ra, các giáo viên cảm thấy rằng trách nhiệm của mình là cung cấp kiến ​​thức đầy đủ và chính xác, một lần nữa nhắc nhở việc đọc thêm bằng chứng.


3

Hoàn toàn đồng ý. Dạy học cung cấp cho bạn một nền tảng để đánh bóng kiến ​​thức của bạn về tài liệu cũng như nâng cao lớp trình bày của bạn.

Ngoài ra, nó giúp bạn xây dựng trái phiếu với các nhà phát triển khác mà sau này có thể chuyển thành các mối quan hệ nhóm phát triển hiệu quả.


2

Trên hết những gì mọi người khác đã liệt kê ("Bạn phải biết rõ tài liệu", v.v.) nếu bạn đang viết tài liệu cho khóa học, đó là cách thực hành tốt để viết tài liệu, bởi vì tài liệu - có thể là ghi chú khóa học hoặc tài liệu kỹ thuật - được viết để chuyển giao kiến ​​thức, ngay cả trong công nghiệp.

Nhưng khi bạn ở trong ngành, thường thì tài liệu dành cho người mà bạn chưa gặp và sẽ không gặp, vì vậy rất dễ rơi vào cái bẫy của tài liệu bạn đã làm và không phải những gì các bên liên quan / người đọc cần biết.

Khi bạn viết cho sinh viên trong lớp, bạn sẽ dễ dàng thực hành và phát triển tư duy về tài liệu hữu ích hơn, vì bạn ở gần với các bên liên quan / người đọc của bạn. Chết tiệt, nếu bạn thực sự may mắn, một sinh viên sẽ giơ tay lên và nói với bạn những nốt nhạc của bạn thật tệ, và sau đó bạn đã học được điều gì đó bạn có thể cải thiện.


2

Vâng. Tôi thường thấy rằng tôi đã không thực sự hiểu điều gì đó tốt cho đến khi tôi cố gắng giải thích nó cho người khác, đặc biệt là một người không có tất cả các giả định và từ thông dụng mà một học viên xây dựng trong nhiều năm qua, ở người đầu tiên (với tư cách là giáo viên hoặc người cố vấn) hoặc thậm chí trả lời các câu hỏi trực tuyến (chẳng hạn như ở đây trên Stack Overflow!).

Ngoài ra, sinh viên có thể mang lại một cái nhìn sâu sắc hoặc phương pháp (kỳ lạ?) Khác cho vấn đề, mở rộng không gian giải pháp.

Một giáo viên, có ích, có thể không có câu trả lời trên đầu lưỡi của họ, nhưng có thể nói "Tôi không biết", nghiên cứu hoặc tìm kiếm nó, và giúp học sinh tìm câu trả lời nhanh hơn và với xác suất cao hơn hơn các sinh viên có thể tự mình


1

Khi bạn buộc phải giải thích điều gì đó từ những nguyên tắc đầu tiên, nó chắc chắn sẽ buộc bạn phải hiểu nó tốt hơn. Tôi thường sử dụng ý tưởng này khi tìm kiếm các lỗi trong mã, tôi kéo ai đó vào và cố gắng giải thích cho họ cách mã hoạt động. Tôi thường tìm thấy lỗi trong vòng vài phút. Cùng một ý tưởng.


1

Tôi sẽ nói Không. Làm giáo viên không giúp bạn tốt hơn - học tập giúp bạn tốt hơn. Nếu bạn phải học để trở thành một giáo viên, thì bạn sẽ trở nên tốt hơn. Dạy học chỉ giúp bạn giữ lại những gì bạn biết, nhưng trong thế giới CNTT mọi thứ thay đổi hàng ngày. Bởi vì điều này, bạn không thể chỉ dựa vào việc giảng dạy, bạn phải đưa ... bum ... của bạn ra khỏi ghế và học.

Tôi đã gặp các giáo sư CNTT có thể không biết gì khi nói đến lĩnh vực thực tế của họ. Họ có chứng chỉ, khóa học, giấy tờ trên tường, rất nhiều "chương trình". Chắc chắn họ có thể nói chuyện, nhưng nếu bạn rời khỏi lịch trình khóa học theo quy định, họ sẽ rung động, nói lắp và thất bại. Họ không thể xử lý áp lực của mọi thứ thay đổi. Họ đã không thay đổi theo thời đại, họ đã dạy những gì họ biết, đã lỗi thời.

Vì vậy, hãy để điều này một lần nữa, tôi đã có một vài giáo sư tuyệt vời. Họ là những nhà phát triển, nhà phát triển cao cấp, nhà phát triển chính, giám đốc phát triển ứng dụng, sau đó họ trở thành lập trình viên. Họ biết các tình huống trong thế giới thực, họ biết rằng 99% nội dung trong sách giáo khoa không chuẩn bị cho mọi người làm việc thực tế, vì vậy họ đã thay đổi nó, giữ cho nó luôn hiện hành.

12 năm trước, giáo viên CNTT lớp 11/12 của tôi đã cho tôi một lời đề nghị. Nếu trong suốt mỗi năm học, tôi có thể phá vỡ an ninh / tường lửa của anh ấy, v.v. ở trường, anh ấy sẽ cho tôi điểm A + (100%) trong khóa học, bất kể công việc của tôi là gì. Heck, tôi đã giúp anh ta lập kế hoạch khóa học khi tôi làm việc như một jr. Nhà phát triển trở lại sau đó. Lời đề nghị mà anh ấy dành cho tôi đã khiến anh ấy (vào thời điểm đó) trở thành một chuyên gia về bảo mật windows NT. Tôi đã nhận được 100%, tôi phải đánh cắp UN / PW của anh ấy và sau đó khóa anh ấy lại ... đó là cách duy nhất cuối cùng ... Nhưng không cần phải nói anh ấy trở nên tốt hơn khi làm giáo viên và trong ngành CNTT vì giảng dạy - anh ấy làm việc với lớp của mình - không phải trong chương trình nghị sự của riêng anh ấy.

Vậy bạn vẽ dòng kẻ ở đâu? Vẽ nó trên thái độ của giáo viên. Nếu giáo viên đó sẵn sàng học hỏi, họ sẽ trở nên tốt hơn. Nếu giáo viên đó chỉ cưỡi sóng, được trả tiền và có thể quan tâm ít hơn - họ sẽ trở nên tồi tệ hơn.


-1 Hoàn toàn không đồng ý. Như bạn có thể thấy bạn thực sự là thiểu số ở đây. Ý kiến ​​của bạn rất quan trọng nhưng tôi nghĩ bạn có thể học được điều gì đó từ phần lớn câu trả lời của giáo viên ở đây. Xin lỗi, không thể cưỡng lại cách chơi chữ cuối cùng, tôi chỉ đọc một bài viết về đệ quy.
Junky

1

Phải giải quyết hàng tá "tại sao mã của tôi không hoạt động?" các vấn đề trong khi giảng dạy các bài tập trong một khóa học lập trình giới thiệu giúp tôi hiểu hơn rất nhiều về việc hiểu mã khi đang bay và mô phỏng nó trong đầu.


1

Dựa trên kinh nghiệm của bản thân tôi với tư cách là một giáo viên. Tôi sẽ nói KHÔNG .

Bởi vì, trong khi bạn hiểu rõ hơn về những điều cơ bản, bằng cách dạy trẻ em và / hoặc người mới, bạn không thực hiện bất kỳ cải tiến nào liên quan đến nghề nghiệp thực tế của bạn.

Lý do tại sao điều này xảy ra ? - bởi vì lập trình đang phát triển nhanh hơn mọi người có thể học. Ngôn ngữ và khung mới xuất hiện, công cụ mới, khái niệm mới, phần cứng mới. Và lập trình viên chuyên nghiệp PHẢI biết tên miền của mình. Hoặc nếu không - không ai sẽ cần anh ta.

Bạn có thể muốn nói - 'nhưng bạn có thể nghiên cứu các thuật toán cơ bản', - và tôi nói với bạn - 'nhưng bạn nên học chúng ở trường đại học'.

Chủ đề khác là nhịp điệu công việc. "Giáo viên" chậm, họ không được sử dụng để giải quyết các vấn đề thực tế trong thế giới thực nhanh.

Và cuối cùng nhưng không kém phần quan trọng - giảng dạy là cho đi. Khi bạn muốn dạy - bạn không thể ngăn mình;) đó chỉ là một cuộc gọi từ bên trong, một sự thôi thúc kiên quyết để chia sẻ kiến ​​thức của bạn, để giảm sự ngu ngốc xung quanh bạn, và cuối cùng, làm cho thế giới trở nên tốt đẹp hơn;)


Đây là lý do tại sao bạn được hưởng lợi bằng cách học hỏi từ những sinh viên của bạn , những người gần đây đã tiếp thu những kiến ​​thức mới, có liên quan mà bạn không biết hoặc những quan điểm mà bạn đã không nghĩ tới
Junky

1

VÂNG!

Louis E. Frenzel đã viết về chính xác điều này một vài năm trước:

Viết một bài báo hoặc bài viết hoặc dạy những gì bạn đã học. Bạn phải biết nó để viết nó hoặc dạy nó. Không có cách nào tốt hơn để tự học hơn là phải giải thích nó cho người khác.


1

Không liên quan trực tiếp, nhưng ...

Tôi thấy điều này xảy ra TẤT CẢ thời gian tại đội quân Hướng đạo của cháu trai tôi. Các hướng đạo sinh lớn tuổi nghĩ rằng họ "biết" một cái gì đó cho đến khi họ cố gắng dạy nó cho đàn em của mình. Tôi không nghĩ rằng sự thay đổi năng động nhiều cho dù chúng ta có bao nhiêu tuổi hay có kinh nghiệm.


Tôi thích sự tương quan như thế này!
Junky

1

Nhiều câu trả lời cho câu hỏi này đã chỉ ra rằng dạy một cái gì đó có nghĩa là bạn phải học nó trước và vì vậy bạn phải trở nên tốt hơn để có thể dạy. Tôi sẽ nói rằng điều này là gần như đúng.

Nếu bạn chịu trách nhiệm phát triển các tài liệu khóa học , thì bạn sẽ phải có được sự hiểu biết thấu đáo về vấn đề này. Học các tài liệu đến cấp độ này sẽ giúp bạn trở nên tốt hơn, giả sử bạn cần học những điều bạn chưa biết.

Mặt khác, nếu bạn chỉ là một con rối thịt đọc các tài liệu khóa học do người khác chuẩn bị, thì có lẽ bạn có thể thoát khỏi mà không biết hoặc không hiểu vấn đề. Điều này đặc biệt đúng với các khóa học giới thiệu. Nếu bạn là một nhà phát triển có kinh nghiệm giảng dạy một lớp học cho người mới bắt đầu, bạn có thực sự cần phải học bất cứ điều gì thực sự không?


Tôi hầu như đồng ý, tuy nhiên tôi nghĩ rằng rất nhiều bài viết đã nói rằng bạn học theo quá trình giảng dạy, đặc biệt là khi bạn được học sinh đặt câu hỏi , thay vì chuẩn bị tài liệu mà bạn nghĩ bạn biết (mặc dù vẫn còn giá trị trong đó).
Junky

0

Không chỉ dạy tăng kiến ​​thức hoặc kỹ năng lập trình của bạn, nó cũng hữu ích để viết bài viết và hướng dẫn lập trình. Nếu bạn có thể khám phá một chủ đề cho người khác một cách dễ hiểu, điều đó có nghĩa là bạn cũng biết và hiểu chủ đề đó.


0

Tôi nghĩ rằng nó phụ thuộc vào việc cá nhân bạn quyết định chuẩn bị tốt như thế nào. Tôi không thích bị biến thành một kẻ ngốc, vì vậy khi tôi dạy, tôi chuẩn bị quá mức, đi sâu vào chi tiết hơn trong ghi chú của tôi so với những gì tôi có xu hướng đưa lên lớp. Bằng cách đó tôi cảm thấy an toàn tôi có thể xử lý hầu hết các câu hỏi. Bất cứ khi nào tôi chuẩn bị cho một lớp học, tôi đã tìm thấy một số chi tiết tốt mà tôi đã quên hoặc bỏ qua cho đến lúc đó. Thiết kế bài tập có thể là thách thức cụ thể.

Chuẩn bị cho những người đã là lập trình viên exisitng là cả một mức độ nỗ lực thêm. Bạn có thể mong đợi có một số người trong lớp ghét rằng họ đang được yêu cầu học Python Vice Thier yêu quý C # (hoặc bất cứ điều gì). Họ sẽ thách thức mọi thứ bạn nói. Bạn có thể có những người khác đã có một số kiến ​​thức và sẽ hỏi những câu hỏi nâng cao vào ngày đầu tiên. Trong trường hợp đầu tiên, hãy đảm bảo bạn tiếp tục chủ đề và KHÔNG được thảo luận về sự khác biệt giữa các ngôn ngữ trừ khi lớp học không cư xử thù địch. Đơn giản chỉ cần quay lại tài liệu bạn sẽ trang trải. Trong trường hợp thứ hai, hầu hết tất cả các câu hỏi nâng cao có thể được gửi đến sau này trong lớp (cho bạn thời gian để tìm kiếm câu trả lời nếu bạn không biết nó.) Vì vậy, điều đó sẽ giúp bạn tự tin. Tôi luôn chuẩn bị một số bài tập khó hơn cho những người đang tham gia lớp học vì họ phải làm nhưng họ đã quen thuộc với vấn đề này. Sắp xếp các nghiên cứu độc lập cho dễ chán. (Và họ có ngạc nhiên không khi tôi rút ra những bài tập chủ đề nâng cao để họ làm trong khi những người khác đang vật lộn với một bài tập họ đã làm trong năm phút!)

Hầu hết các lập trình viên mặc dù, thích học hỏi và sẽ háo hức để bắt đầu làm một cái gì đó hữu ích. Bạn có thể có thể giữ những điều cơ bản xuống mức tối thiểu, loại lớp này nhàm chán bằng cách thực hiện các bài tập loại Hello World. Làm cho mọi thứ thực tế hơn và kinh doanh hữu ích. Bạn có thể lên kế hoạch bao gồm nhiều tài liệu có kinh nghiệm hơn các lập trình viên không có kinh nghiệm, vì vậy cần chuẩn bị nhiều hơn. Nếu bạn có thể làm cho các bài tập cụ thể cho loại công việc họ sẽ làm, điều đó thậm chí còn tốt hơn.

Học sinh có một khả năng đáng chú ý để diễn giải những điều bạn nói theo một cách độc đáo. Những sai lầm của họ có thể là những điều nó sẽ không bao giờ xảy ra với bạn để làm. Giúp họ sửa lỗi và giải thích lý do tại sao họ mắc lỗi sẽ giúp bạn trong việc đánh giá mã!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.