Dạy học trung học TCS - các chương trình hiện có


16

Tôi được đề nghị dạy một chương trình trung học TCS mới, đòi hỏi phải xây dựng một chương trình giảng dạy. Tôi rất muốn nghe ý kiến ​​và đề xuất về việc này.

Đầu tiên, có ai biết trường trung học nơi chương trình TCS đã được dạy thành công (hoặc không thành công) không?

Ý tưởng này dành cho chương trình 3 năm (lớp 10 đến lớp 12, độ tuổi 16-18), khoảng 8 giờ hàng tuần, dành cho những học sinh xuất sắc được chọn, nghĩa là nó có thể và nên được yêu cầu. Không giống như chương trình "máy tính" tiêu chuẩn, chương trình này không nên tập trung vào lập trình mà thay vào đó là các chủ đề được chọn trong CS, chủ yếu là trong TCS. Các chủ đề chúng tôi có trong tâm trí cho đến nay là, rộng rãi:

  • Phân tích tiệm cận
  • Các cấu trúc dữ liệu và thuật toán cơ bản (danh sách, mảng)
  • Các thuật toán đồ thị, cũng như một minh chứng cho các thuật toán tham lam so với lập trình động.
  • Các thuật toán khác (ví dụ xác suất)
  • Khả năng tính toán - khái niệm về TM, giảm, tính quyết định.
  • Độ phức tạp - NP, P, có lẽ PSPACE và NL. Hoàn thiện.
  • Lý thuyết tự động

Về cơ bản, điều này bao gồm phần TCS trong hai năm đầu tiên của B.Sc trong CS. Tuy nhiên, chúng ta phải nhớ rằng những sinh viên này thiếu nền tảng toán học cần thiết cho hầu hết các tài liệu này. Cụ thể, những thứ như lý thuyết tập hợp, tổ hợp, xác suất và số học mô-đun không được dạy ở trường trung học (thật không may).

Tóm lại, và đưa ra các câu hỏi chính xác:

  1. Có ai biết một chương trình tương tự ở bất cứ đâu không?
  2. Có đề xuất nào cho các chủ đề cụ thể / chung chung mà bạn nghĩ có thể và nên được dạy thêm / thay vì các chủ đề trên, trong khi giữ cho chương trình thú vị cũng như quan trọng và liên quan trực tiếp (ví dụ: lý thuyết nhóm là quan trọng và thú vị, nhưng không đủ liên quan để biện minh cho thời gian cần thiết)
  3. Tôi đã rất vui khi giới thiệu máy học ở một số hình thức, vì nó là một chủ đề thực sự nóng hiện nay. Bất kỳ ý tưởng nào về cách học máy có thể được trình bày mà không có các công cụ như định lý đo nồng độ được hoan nghênh.

2
Có vẻ như bạn liệt kê lý thuyết automata ở cuối như một loại suy nghĩ sau. Tôi sẽ ủng hộ việc biến lý thuyết automata thành chủ đề trung tâm và thống nhất. Nó có thể giới thiệu cho sinh viên về lý luận toán học chính thức mà không có bất kỳ nền tảng toán học cụ thể nào. Nó có các định lý vô điều kiện sắc nét là nền tảng nhưng tương đối đơn giản để chứng minh. Nó có thể được kết nối trực tiếp với học máy , mặc dù theo kinh nghiệm của tôi, điều này rất khó để dạy cho sinh viên chưa tốt nghiệp trong một khóa học lý thuyết đầu tiên, vì vậy cần thận trọng hơn với HS.
Artem Kaznatcheev

1
không có nghe nói về nó được thực hiện trước đây! Học sinh "được chọn"? điều đó cũng có nghĩa là tiên tiến, có lẽ? hãy thử khai thác những cuốn sách khoa học phổ biến trên TCS hoặc blog trực tuyến [một vài cuốn hay trên mạng]. Máy Turing, điện toán lượng tử các lĩnh vực quan trọng / thú vị khác. nghĩ rằng điều này có thể được thực hiện nếu toán học không nặng và được thực hiện theo nhiều khái niệm hơn là cách toán học. Ngoài ra trang web này xuất hiện rất nhiều trong các câu hỏi edu: cs rút phích cắm . chúc may mắn!
vzn

2
Tôi tự hỏi liệu có tốt nhất để dành một chút thời gian của bạn để dạy những kỹ năng toán học mà bạn đề cập (ví dụ như xác suất) ... điều này cũng có khả năng giúp bạn bao quát các chủ đề nâng cao hơn, nhưng cũng giúp chuẩn bị cho học sinh học toán / cs trong tương lai .
usul

1
@vzn - vâng, đây là những sinh viên tiên tiến (dám nói - có năng khiếu).
Shaull

1
@vzn Đó là một gợi ý rất thú vị. Bằng cách nào đó, TCS chưa phải là một phần của văn hóa phổ biến. Đó là, ngay cả những sinh viên tò mò thường không biết các câu hỏi như P vs NP. Nhưng chúng tôi chắc chắn sẽ yêu cầu các sinh viên CS hiện tại cho các đề xuất, và xem những gì họ đưa ra. Tôi đoán là mật mã sẽ là trung tâm.
Shaull

Câu trả lời:


8

Nhiều quốc gia tổ chức các trường học hè cho các đội IOI của họ (bao gồm các học sinh trung học khoảng 16 IIRC). Chương trình chúng tôi có ở Iran đã từng có các khóa học sau:

  • lập trình,
  • cấu trúc dữ liệu và thuật toán,
  • tổ hợp, và
  • lý thuyết đồ thị.

Tôi nghĩ Hiệp hội giáo viên khoa học máy tính của ACM có chương trình giảng dạy K12 trên trang Tài nguyên chương trình giảng dạy mặc dù nó có thể quá nhẹ đối với thanh thiếu niên tài năng.


Tôi nghĩ lập trình chắc chắn phải là một phần của chương trình giảng dạy. Python nên là một ngôn ngữ đầu tiên tốt để học.

Bạn cũng có thể muốn đề cập đến một số chủ đề có thể truy cập bằng các ứng dụng (niềm vui của việc xây dựng một thứ gì đó hay ho có thể có ảnh hưởng lớn đến sự quan tâm của họ). Tôi nghĩ rằng khóa học ML của Andrew Ng về Coursera nên có thể truy cập được đối với các sinh viên tài năng (đặc biệt đối với những người ở các quốc gia như của bạn, nơi có chương trình toán học K12 nghiêm túc hơn).

Một chủ đề không chuẩn mà bạn có thể muốn xem xét là lý thuyết trò chơi kết hợp, nó có thể không thú vị lắm với 16 tuổi (tôi không có kinh nghiệm về nó) nhưng nó hoạt động khá tốt đối với những học sinh nhỏ hơn một chút theo kinh nghiệm của tôi.

Cá nhân tôi nghĩ chủ đề trung tâm và kết nối nên xung quanh các thuật toán, tôi nghĩ rằng nó sẽ làm việc tốt hơn so với lý thuyết automata là chủ đề trung tâm và cho là quan điểm thuật toán (không máy móc, thiết bị tự động vv Turing) là những tinh hoa của khoa học máy tính.


Phần lập trình được bao phủ bởi chương trình CS tiêu chuẩn, tất cả đều có. Đây là những chủ đề bổ sung. Bạn có tình cờ có một liên kết cho một trang web học hè như vậy? Đối với tập trung vào các thuật toán - trong khi tôi đồng ý rằng họ là trung tâm của CS, tôi nghĩ computability và sự phức tạp không kém những tinh hoa của khoa học máy tính. Tôi nhớ đã bị ấn tượng hơn nhiều bởi thực tế là có những điều chúng ta không thể giải quyết, hơn là bằng các thuật toán thông minh. Nhưng cả hai sẽ được bảo hiểm, có lẽ.
Shaull

theo một cách nào đó, máy Turing là tất cả về thuật toán . cũng ruby cũng là một lựa chọn tuyệt vời so sánh với trăn . trên cùng một tùy chọn tuyệt vời khác để tìm hiểu sự phát triển là javascript vì nhiều lý do, ví dụ như sự phổ biến của nó trong trình duyệt, rất nhiều mã công khai / mẫu, tính năng rộng, sử dụng cao, v.v.
vzn

1
@Shaull, họ có một trang web ( Câu lạc bộ học giả trẻ ) nhưng nó ở Ba Tư và không chứa nhiều về những gì được bao phủ trong trường học mùa hè.
Kaveh

1
@vzn, tôi không nghĩ bạn có nhiều kinh nghiệm trong việc dạy TCS cho học sinh trung học và tôi đã giải thích cho bạn rất rõ ràng rằng tôi không quan tâm đến ý kiến ​​của bạn . Ngừng troll câu trả lời của tôi.
Kaveh

k, xin đừng đoán bkg của tôi và sẽ làm điều lịch sự tương tự. những nhận xét về cơ bản là trong hỗ trợ của bạn ý kiến ... âm thanh như một chủ đề cho meta = (
vzn

5

Thật kỳ lạ, có một người cho rằng học máy là phù hợp nhấttrong số các chủ đề khoa học máy tính để dạy cho học sinh trung học, bởi vì được cho là một trong số ít các trường con mà toán học cơ bản có thể giúp bạn hiểu đủ để đánh giá cao những thách thức quan trọng. Tôi không đồng ý với tuyên bố này - các thuật toán cơ bản (nói để tìm kiếm, sắp xếp) có thể được trình bày dưới dạng các câu đố và bạn có thể nhanh chóng hiểu rất đơn giản nhưng các vấn đề mở cơ bản như "có thể nhân lên với cùng một số thao tác ngoài ra ", hoặc sắp xếp các số nguyên theo thời gian tuyến tính hoặc bao thanh toán (tôi cho rằng khái niệm số nguyên tố sẽ không mới đối với nhóm học sinh trung học chọn lọc?). Mặt khác, rất nhiều học máy sẽ khó nắm bắt nếu không có mức độ kinh nghiệm tốt với thống kê và lý thuyết xác suất. Tuy nhiên,

Về mặt chương trình giảng dạy, có một chi tiết chi tiết hơn của Essinger và Rosen tại Drexel.

Ngoài những điều này, tôi sẽ nghĩ rằng người ta có thể cố gắng phác thảo một số ý tưởng cấp cao hơn về lý thuyết học tập:

  • vấn đề phân loại cơ bản là gì
  • một lớp khái niệm là gì và học một khái niệm có nghĩa là gì
  • tại sao bạn không thể hy vọng học các khái niệm từ một lớp khái niệm không bị giới hạn với độ phức tạp lấy mẫu theo cấp số nhân (như là một giới thiệu để đếm các đối số)
  • kích thước VC là gì

Một đề nghị khác là giới thiệu các mạch và thử một số phác họa về giới hạn dưới của Shannon. Phụ thuộc vào mức độ thoải mái của sinh viên với việc đếm. Nếu điều này quá nặng nề, nó vẫn có thể giúp đưa ra lập luận trong khi các sinh viên tự mình kiểm đếm các mạch điện. Tôi nghĩ ý tưởng "hầu hết các vấn đề đòi hỏi các mạch lớn vì có quá nhiều vấn đề và quá ít mạch nhỏ" sẽ rất ấn tượng. Ý tưởng này là quan trọng và phổ biến trong sự phức tạp.


Cả hai gợi ý đều rất hay. Cảm ơn! Tôi có cảm giác rằng đối với trường trung học, chỉ cần học một chiều VC có thể mất khoảng 3 tháng, có thể là quá nhiều. Nhưng nó chắc chắn là đáng xem xét, đặc biệt là vì suy nghĩ đã được đặt vào nó.
Shaull

Tôi nghĩ thậm chí chỉ cần hiểu ý nghĩa của việc học một khái niệm và có một ý tưởng mơ hồ rằng bạn không thể học những điều phức tạp tùy tiện trước khi mặt trời đóng băng sẽ là một chiến thắng.
Sasho Nikolov

3

Đây là một hướng hứa hẹn để đi về điều này. AP / NSF gần đây đã công bố một sáng kiến ​​chương trình CS vị trí nâng cao của trường trung học mới. sẽ có nhiều lợi thế khi sử dụng một chương trình như kế hoạch bài học chuẩn, kiểm định đại học, v.v.

nó hiện đang được phát triển và sẵn sàng cho năm 2016. giáo trình và tài liệu khóa học dự kiến ​​có sẵn trực tuyến. (đối với các chuyên gia học thuật, thậm chí có thể có một số khả năng ảnh hưởng đến nội dung trong tương lai thông qua hợp tác loại "trí tuệ tập thể".)

Chương trình sắp xếp nâng cao của College Board cho biết hôm thứ Năm rằng họ có kế hoạch thêm một chương trình khoa học máy tính mới vào các dịch vụ của lớp, bài kiểm tra mới đầu tiên trong bảy năm. Động thái này phản ánh mối quan tâm ngày càng tăng trong việc đào tạo sinh viên cho sự nghiệp trong ngành khoa học trong bối cảnh thúc đẩy quốc gia làm cho nền kinh tế Mỹ cạnh tranh hơn trên toàn cầu.

Chương trình mới, Nguyên tắc Khoa học Máy tính AP, sẽ tập trung vào "các khía cạnh sáng tạo" của điện toán và sẽ được tài trợ một phần bởi khoản tài trợ trị giá 5,2 triệu đô la từ Quỹ Khoa học Quốc gia. Cơ quan liên bang đặt mục tiêu đào tạo thêm 10.000 giáo viên khoa học máy tính trên cùng một số trường trung học trên toàn quốc vào năm 2016 như một phần trong nỗ lực cải thiện giáo dục trong các lĩnh vực khoa học, công nghệ, kỹ thuật và toán học, hoặc STEM ,. College Board sẽ chip trong khoảng $ 3.5 triệu để hỗ trợ và thiết bị giáo viên.

chương trình hiện tại được gọi là AP Computer Science A và chương trình mới được gọi là Nguyên tắc Khoa học Máy tính AP. lớp học hiện tại đã tồn tại nhiều năm và cũng hữu ích như một mô hình cho giáo viên phát triển chương trình giảng dạy.



3
Tình cờ, Baker Franke và bản thân tôi đã gửi một đề xuất cho phiên BOF (Birds-of-a-Feather) tại SIGCSE '14 để thảo luận về cách làm cho các chủ đề trong lý thuyết có thể truy cập được trong chương trình giảng dạy Nguyên tắc CS.
rahulmehta95

@ rahulmehta95 - có liên kết đến đề xuất mà tôi có thể đọc không?
Shaull

2
Ở đây bạn đi: cs.ucls.uchicago.edu/~rahulmehta/ con / BOF-Theory.pdf . Hi vọng điêu nay co ich!
rahulmehta95

2

Một ý tưởng gần đây tôi đã đưa ra là làm thế nào để dạy cho học sinh HS khái niệm về việc giảm bớt giữa các vấn đề. Tôi thấy đây là một trong những chủ đề thú vị nhất nhưng cũng đầy thách thức nhất khi tôi được giới thiệu về sự phức tạp, vì nó khá khó (ít nhất là ban đầu) để xoay quanh sự thật rằng một vấn đề như 3-SAT là "khó như vậy" như Vertex-Cover.

Ví dụ tôi đưa ra là một sự giảm bớt giữa Vertex Cover (VC) và Bộ độc lập (IND-SET), diễn đạt như sau;

"Bạn là giám đốc của một bảo tàng, và được giao nhiệm vụ thuê an ninh để bảo vệ hành lang. Khi được đặt ở một ngã tư hành lang, một người bảo vệ có thể để mắt đến TẤT CẢ hành lang cạnh anh ta. Số lượng bảo vệ tối thiểu cần là bao nhiêu để tuần tra toàn bộ bảo tàng? "

"Một lát sau, một số trẻ em quyết định chơi một trò chơi trốn tìm trong bảo tàng. Mục tiêu của chúng là che giấu để không đứa trẻ nào khác có thể nhìn thấy chúng. Tuy nhiên, lính canh không muốn chúng chạy xung quanh trong hành lang, vì vậy họ bị rớt xuống "trốn" trong các giao lộ. Số lượng lớn nhất của trẻ em có thể trốn trong bảo tàng mà không gặp nhau là gì? "

VCPIND-SET

G= =(V,E)SV VS biểu thị bộ chênh lệch).

SVSG


CLTôiQBạnEpTôiND-SET

theo như giảm, bằng chứng cho thấy có một cỗ máy bảo vệ vạn năng là một cách để đi và có thể hiểu được bởi các học sinh trung học tiên tiến ... [lưu ý rằng có rất nhiều video lego TM, một số thậm chí bởi các nhà nghiên cứu cs ...], cũng có thể sự biến đổi tseitin ?
vzn
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.