Mẹo dạy học bằng Mã hóa trực tiếp


11

Tôi đang tham gia vào một khóa học lập trình và thuật toán năm đầu tiên. Trong một bài giảng gần đây, tôi quyết định trình bày tài liệu bằng cách sử dụng mã hóa trực tiếp , điều đó có nghĩa là tôi ngồi sau bàn phím và viết mã và đánh giá nó, sử dụng emacs để tạo thuận lợi cho quá trình.

Điều này khá thành công và sinh viên nhận xét rằng họ đánh giá cao định dạng hoạt động nhiều hơn (liên). Vì đây là nỗ lực đầu tiên của tôi khi sử dụng định dạng giảng dạy này, tôi biết rằng nó không chạy hoàn hảo. Một số vấn đề liên quan đến việc không hiểu biết về emacs như tôi nên và những vấn đề khác là để cho phép các câu hỏi của sinh viên đưa tôi đi quá xa kịch bản của tôi. Tôi biết tôi có thể làm tốt hơn.

Một số hướng dẫn để đưa ra các bài giảng (và các cuộc biểu tình khác) bằng cách sử dụng các bài giảng mã hóa trực tiếp là gì?
Những cạm bẫy cần tránh là gì?


2
Tôi có sự bảo lưu của tôi về mã hóa trực tiếp (chủ yếu liên quan đến thông lượng và ảo tưởng về sự hiểu biết). Tuy nhiên, hai gợi ý: 1) Bạn đã cân nhắc sử dụng các hệ thống trả lời trong lớp học để cấu trúc các câu hỏi chưa? 2) Tôi không biết nó thực tế đến mức nào, nhưng sử dụng một cái gì đó như ideone.com có ​​thể thú vị bởi vì sinh viên có thể truy cập mã của bạn sau khi giảng bài và chạy nó mà không phải cài đặt công cụ.
Raphael

@Raphael: Tôi đã có sự chú ý của họ tốt hơn nhiều so với trước đây, đó chắc chắn là một điểm cộng. Hai đề nghị của bạn là rất tốt. 1) Hiện tại chỉ những người thực sự theo dõi cung cấp bất kỳ loại phản hồi. 2) Ngôn ngữ của tôi không có trong danh sách. Điều đó nói rằng, tất cả các mã có sẵn trong các slide (mà tôi bỏ qua).
Dave Clarke

Câu trả lời:


8

Dưới đây là một số mẹo và cạm bẫy tôi đã thu thập được sau khi sử dụng mã hóa trực tiếp trong một tuần và từ việc nói chuyện với đồng nghiệp.

LÀM

  • Chuẩn bị một kịch bản để làm theo và cố gắng bám sát nó.
  • Xóa bộ đệm thường xuyên để tập trung vào phần có liên quan.
  • Bắt đầu một lần nữa cho mỗi chủ đề mới.
  • Sử dụng một phông chữ lớn hơn.
  • Nắm vững công cụ bạn đang sử dụng, để tránh lãng phí quá nhiều thời gian vào những chuyện nhỏ nhặt.
  • Có chức năng nền tiền mã hóa. Nếu không đặc biệt có liên quan, đảm bảo chúng có thể được nhập, thay vì xuất hiện trong tệp làm việc.
  • Lý tưởng làm việc trong một ngôn ngữ cung cấp cho bạn thông tin phản hồi ngay lập tức. Ngôn ngữ có vỏ tương tác là tốt nhất trong vấn đề này.
  • Khi sử dụng một kiểu gõ, hãy đưa ra loại dự kiến ​​của chức năng bạn đang viết. Điều này cung cấp một ánh sáng hướng dẫn cho các sinh viên.
  • Tự do mắc lỗi (dù không quá nhiều). Bước qua làm thế nào những điều này nên được sửa chữa.
  • Đừng quên - một bức tranh vẽ một ngàn từ: các slide xen kẽ và bảng đen / bảng trắng hoạt động với phiên mã hóa của bạn.
  • Có các trang tóm tắt cho các điểm bạn đã bảo hiểm
  • Đôi khi, khi sửa đổi mã, có thể tạo một bản sao và sửa đổi bản sao. Điều này cung cấp một điểm so sánh.
  • Làm sạch mã định kỳ.
  • Chấp nhận rằng bạn sẽ phạm sai lầm và công khai cho phép sinh viên sửa lỗi cho bạn --- điều này làm cho công việc của bạn dễ dàng hơn và trao quyền cho họ.
  • Viết mã theo phong cách của riêng bạn. Ví dụ, bạn có thể đã sao chép mã từ nơi khác. Nhưng điều này sẽ khó sinh sản. Tốt hơn để viết nó theo phong cách của riêng bạn. Chẳng hạn, tôi luôn viết các hàm curried, vì tôi lập trình chủ yếu là Haskell. Nhưng Standard ML sử dụng thành ngữ ít thường xuyên hơn. Mong đợi các hàm bị khóa là lỗi phổ biến nhất mà tôi mắc phải trong lớp.
  • Về mặt vật lý, hãy chắc chắn rằng bạn có không gian của bạn được thiết lập tốt. Bàn phím tốt, ở độ cao phù hợp, tất cả các dây cáp ở đúng vị trí, chướng ngại vật ngoài đường, v.v. Hãy dành một phút trước khi bạn bắt đầu để không gian làm việc cho bạn, không chống lại bạn.
  • Một cách tiếp cận là viết bất cứ điều gì học sinh nói, ngay cả khi nó sai. Điều này khiến sinh viên thực hiện mã hóa và sửa lỗi. Đó là một ý tưởng tốt để làm sạch mã ở cuối. Cách tiếp cận này có thể tạo ra một mô hình lớp học về sự chú ý và tương tác, bởi vì học sinh cần chú ý theo dõi những gì đang diễn ra.

Không

  • Đừng tối ưu hóa mã của bạn một cách nhanh chóng và phá vỡ nó theo cách mà bạn không thể sửa nó.
  • Tránh nói chuyện với máy tính. Nói chuyện với các sinh viên!
  • Tránh gõ quá nhiều, đặc biệt là mã soạn sẵn. Sử dụng môi trường của bạn để giúp bạn nhổ các mẫu cho bạn.
  • Nếu bạn sử dụng trình soạn thảo văn bản, tránh liên tục cuộn xung quanh. Nó sẽ gây ra chứng say tàu xe mà những người cố gắng làm theo.
  • Nếu bạn sử dụng trình soạn thảo văn bản, trước khi thực hiện thay đổi triệt để mã của mình, hãy cảnh báo sinh viên rằng bạn sẽ làm như vậy để họ có thể theo dõi những gì đang diễn ra.

1
Có bao nhiêu học sinh trong lớp của bạn? Tôi thích DO của bạn hướng tới tính tương tác nhưng tự hỏi làm thế nào mà quy mô lên tới 50, 100, 250 sinh viên.
Raphael

1
Bạn có xuất bản mã của bạn sau khi lớp học? Tôi tưởng tượng một kho lưu trữ Github nơi sinh viên có thể duyệt qua các phiên bản khác nhau mà bạn đã tạo (có thể bao gồm cả phiên bản nhận xét được đánh bóng, không bao giờ xuất hiện trong lớp) và xem xét sự khác biệt. Họ cũng có thể sao chép kho lưu trữ để dễ dàng sử dụng một khi các thuật toán được viết dưới dạng chương trình con trong bài tập về nhà của họ (nếu đó là mong muốn).
Raphael

1
Bạn có chuẩn bị các bài kiểm tra đơn vị để chạy mã của bạn không? Tôi không chắc liệu điều đó có phù hợp trong mọi lớp học không (tập trung vào việc học các nguyên tắc của ngôn ngữ lập trình, phát triển phần mềm hoặc thuật toán?) Nhưng nó có thể dạy một số thực tiễn tốt nhất trên đường đi.
Raphael

2
1) 128 người đăng ký lớp học, mặc dù khoảng 60-80 lượt. 2) Tôi đã có mã trên các trang chiếu, nhưng tôi không sử dụng các trang trình bày. Vì vậy, các sinh viên có một phiên bản của những gì tôi làm, không bao giờ có bất kỳ bước trung gian nào. Tôi không thực sự chắc chắn rằng nó thú vị như thế nào khi có tất cả các biến thể. 3) Không tôi không, mặc dù họ viết thông số kỹ thuật không chính thức. Trọng tâm là học một ngôn ngữ lập trình đầu tiên và một số thuật toán / cấu trúc dữ liệu. Tôi đồng ý, mặc dù. Bài kiểm tra đơn vị là một cái gì đó chúng tôi sẽ xem xét tích hợp nhiều hơn vào khóa học. Cảm ơn các câu hỏi / lời khuyên ngầm.
Dave Clarke
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.