Мені запропонували викладати нову програму середньої школи TCS, яка вимагає побудови навчальної програми. Я дуже хотів би почути думки та пропозиції щодо цього.
По-перше, хтось знає із середніх шкіл, де програму TCS викладали успішно (або безуспішно)?
Ідея передбачає трирічну програму (10–12 класи, вік 16–18 років), приблизно 8 годин на тиждень, для вибраних видатних учнів, що означає, що вона може бути і повинна бути вимогливою. На відміну від стандартної програми "комп'ютери", ця програма не повинна зосереджуватися на програмуванні, а на обраних темах у CS, здебільшого в TCS. Теми, які ми маємо на увазі поки що, це:
- Асимптотичний аналіз
- Основні структури даних та алгоритми (списки, масиви)
- Графічні алгоритми, також як демонстрація жадібних алгоритмів проти динамічного програмування.
- Інші алгоритми (наприклад, ймовірнісні)
- Обчислюваність - поняття ТМ, скорочення, рішучість.
- Складність - NP, P, можливо, PSPACE та NL. Повнота.
- Теорія автоматів
В основному, це охоплює частину TCS за перші два роки бакалавра в КС. Однак ми маємо пам’ятати, що цим студентам бракує математичної основи, необхідної для більшості цього матеріалу. Зокрема, такі речі, як теорія множин, комбінаторика, ймовірність та модульна артиметика, не викладаються у середній школі (на жаль).
Підвести підсумки та поставити точні запитання:
- Хто-небудь знає про подібну програму де-небудь?
- Чи є пропозиції щодо конкретних / загальних тем, які, на вашу думку, можна і слід викладати додатково / замість вищезазначених тем, зберігаючи програму цікавою, а також важливою та безпосередньо актуальною (наприклад, теорія групи важлива і цікава, але недостатньо актуальна виправдати час, який знадобиться)
- Я був би радий запровадити машинне навчання в якійсь формі, оскільки це справді гостра тема. Вітаються будь-які ідеї щодо того, як машинне навчання можна подати без таких інструментів, як теореми про вимірювання концентрації.