Навчання середньої школи TCS - існуючі програми


16

Мені запропонували викладати нову програму середньої школи TCS, яка вимагає побудови навчальної програми. Я дуже хотів би почути думки та пропозиції щодо цього.

По-перше, хтось знає із середніх шкіл, де програму TCS викладали успішно (або безуспішно)?

Ідея передбачає трирічну програму (10–12 класи, вік 16–18 років), приблизно 8 годин на тиждень, для вибраних видатних учнів, що означає, що вона може бути і повинна бути вимогливою. На відміну від стандартної програми "комп'ютери", ця програма не повинна зосереджуватися на програмуванні, а на обраних темах у CS, здебільшого в TCS. Теми, які ми маємо на увазі поки що, це:

  • Асимптотичний аналіз
  • Основні структури даних та алгоритми (списки, масиви)
  • Графічні алгоритми, також як демонстрація жадібних алгоритмів проти динамічного програмування.
  • Інші алгоритми (наприклад, ймовірнісні)
  • Обчислюваність - поняття ТМ, скорочення, рішучість.
  • Складність - NP, P, можливо, PSPACE та NL. Повнота.
  • Теорія автоматів

В основному, це охоплює частину TCS за перші два роки бакалавра в КС. Однак ми маємо пам’ятати, що цим студентам бракує математичної основи, необхідної для більшості цього матеріалу. Зокрема, такі речі, як теорія множин, комбінаторика, ймовірність та модульна артиметика, не викладаються у середній школі (на жаль).

Підвести підсумки та поставити точні запитання:

  1. Хто-небудь знає про подібну програму де-небудь?
  2. Чи є пропозиції щодо конкретних / загальних тем, які, на вашу думку, можна і слід викладати додатково / замість вищезазначених тем, зберігаючи програму цікавою, а також важливою та безпосередньо актуальною (наприклад, теорія групи важлива і цікава, але недостатньо актуальна виправдати час, який знадобиться)
  3. Я був би радий запровадити машинне навчання в якійсь формі, оскільки це справді гостра тема. Вітаються будь-які ідеї щодо того, як машинне навчання можна подати без таких інструментів, як теореми про вимірювання концентрації.

2
Здається, ви перераховуєте теорію автоматів наприкінці як свого роду продуману думку. Я б виступав за те, щоб теорія автоматів стала центральною і об'єднуючою темою. Він може ознайомити учнів з формальними математичними міркуваннями без конкретного математичного підґрунтя. Він має гострі безумовні теореми, які є основоположними, але відносно простіми для доведення. Це може бути пов'язано безпосередньо з машинним навчанням , хоча, з мого досвіду, це важко викладати студентам в першому курсі теорії, тому з HS виправдано більше обережності.
Артем Казнатчеєв

1
жоден притулок не чув про це раніше! "вибрані" студенти? це також означає передові, імовірно? спробуйте видобути науково-популярні книги на ТКС або також онлайн-блоги [кілька хороших]. Машини Тьюрінга, квантові обчислення інших ключових / цікавих областей. думаю, що це може бути знято, якщо математика не важка і робиться скоріше концептуальним, а не математичним способом. Також на цьому веб-сайті виникає багато питань з питань навчання: cs unplugged . Щасти!
vzn

2
Цікаво, чи було б найкраще присвятити частину свого часу навчанню тих математичних навичок, які ви згадуєте (наприклад, ймовірність) ... це також потенційно допоможе вам висвітлити більш передові теми, а також допоможе підготувати учнів до майбутнього навчання з математики / с .
usul

1
@vzn - так, це передові (смію сказати - обдаровані) студенти.
Шаул

1
@vzn Це дуже цікава пропозиція. Так чи інакше, TCS ще не є частиною популярної культури. Тобто, навіть допитливі студенти зазвичай не знають таких питань, як P vs NP. Але ми обов'язково попросимо у сучасних студентів КС запропонувати свої пропозиції та подивитися, що вони придумують. Я здогадуюсь, що криптовалюта була б центральною.
Шоул

Відповіді:


8

Багато країн організовують літні школи для своїх команд з ІОІ (що складається з учнів старших класів віком приблизно 16 років ІІРК). У нас в Ірані були такі курси:

  • програмування,
  • структура даних та алгоритми,
  • комбінаторика та
  • теорія графів.

Я думаю, що Асоціація вчителів інформатики ACM має навчальну програму K12 щодо своїх навчальних програм сторінці « хоча це, мабуть, занадто легко для талановитих підлітків.


Я думаю, що програмування обов'язково має бути частиною навчальної програми. Python повинен бути гарною першою мовою для вивчення.

Ви також можете охопити деякі доступні теми додатками (радість створити щось круте може мати великий вплив на їхній інтерес). Я думаю , що курс МД Ендрю Нґ на курсі повинен бути доступним для талановитих студентів (особливо для тих країн, як ваша, де є більш серйозна навчальна програма з математики К12).

Нестандартна тема, яку ви, можливо, захочете розглянути, - це комбінаційна теорія ігор, вона може бути не дуже цікавою з 16 років (я не маю на це досвіду), але вона працює досить добре для трохи молодших студентів на мій досвід.

Я особисто вважаю , що центральна і приєднувальні тема повинна бути навколо алгоритмів, я думаю , що це буде працювати краще , ніж теорії автоматів в якості центральної теми і , можливо , алгоритмічної точки зору (Не Тьюринг машини, автомати і т.д.) є сутність інформатики.


Частина програмування охоплюється стандартною програмою CS, яку всі вони беруть на себе. Це додаткові теми. Чи трапляється у вас посилання на такий веб-сайт літньої школи? Що стосується фокусування на алгоритмах - хоча я згоден , що вони відіграють центральну роль в CS, я думаю обчислюваності і складності однаково суть інформатики. Я пам’ятаю, що був сильніше вражений тим, що є речі, які ми не можемо вирішити, а не розумні алгоритми. Але обидва будуть охоплені, мабуть.
Shaull

певним чином, машини Тьюрінга - це все про алгоритми . також рубін - також відмінний варіант, порівнянний з пітоном . на тому ж subj ще один чудовий варіант для навчання розвитку - це JavaScript через багато причин, наприклад, його розповсюдження в браузерах, багато публічного / зразкового коду, широкі можливості, високе використання тощо
vzn

1
@Shaull, у них є сайт ( Club Young Scholars Club ), але він є на персидській мові і не містить багато інформації про те, що охоплюється літньою школою.
Каве

1
@vzn, я не думаю, що ти маєш багато досвіду в навчанні TCS для старшокласників, і я дуже чітко пояснив, що мене не цікавить твоя думка . Перестаньте розказувати мої відповіді.
Каве

k, плз, не вгадай у моїх кг і зроблять те саме ввічливістю. коментар в основному в підтримці від ваших думок ... звучить як тема для позначки = (
ВЗНА

5

Цікаво, що хтось стверджував, що машинне навчання однозначно підходитьсеред тем з інформатики, які викладають старшокласники, адже нібито це одне з небагатьох підполів, де основна математика може змусити вас зрозуміти достатньо, щоб оцінити важливі проблеми. Я не погоджуюся з цим твердженням - основні алгоритми (скажімо, для пошуку, сортування) можуть бути представлені як головоломки, і ви можете дуже швидко перейти до дуже простого констатації, але до фундаментальних відкритих проблем на кшталт "чи може множення виконуватися фактично однаковою кількістю операцій як додавання ", або сортування цілих чисел за лінійним часом, або факторинг (я припускаю, що поняття числа простих чисел не буде новим для вибраної групи старшокласників?"). З іншого боку, багато машинного навчання було б важко зрозуміти без гарного рівня досвіду статистики та теорії ймовірностей. Тим не менш,

З точки зору навчальної програми, Єссінгер та Розен в Drexel є більш детальною .

На додаток до них, я думаю, що можна спробувати замалювати деякі більш ідеї теорії навчання на високому рівні:

  • яка основна проблема класифікації
  • що таке поняття клас та що означає вивчити поняття
  • чому ви не можете сподіватися вивчити поняття з необмеженого поняття класу з меншою експоненціальною складністю вибірки (як вступ до підрахунку аргументів)
  • що таке VC-вимір

Ще одна пропозиція - запровадити схеми та спробувати зробити ескіз нижньої межі Шеннона. Залежить, наскільки комфортно студентам рахувати. Якщо це занадто важко, це може все-таки допомогти зробити аргументи, в той час як студенти самі вірять підрахунок схем. Думаю, ідея "більшості проблем потрібні великі схеми, тому що занадто багато проблем і занадто мало малих ланцюгів" буде вражаючою. Ця ідея є важливою і поширеною у своїй складності.


Обидві пропозиції дуже приємні. Спасибі! У мене є відчуття, що для середньої школи просто вивчення 3-х міс може тривати близько 3 місяців, що може бути занадто багато. Але це, безумовно, варто задуматися, тим більше, що думка вже була поставлена ​​на нього.
Шоул

Я думаю, що навіть просто зрозуміти, що означає вивчити концепцію, і мати деяке розпливчасте уявлення, що ви не можете навчитися довільно складних речей до того, як сонце замерзає, буде виграшним.
Сашо Ніколов

3

ось один багатообіцяючий напрямок, щоб продовжити це. Нещодавно AP / NSF оголосила про нову ініціативу програми з вищої школи з розширеного розміщення. буде багато переваг використання такої програми, як стандартизований план уроків, акредитація коледжу тощо.

вона наразі розробляється і готова до 2016 року. Орієнтовний навчальний план та матеріали доступні в Інтернеті. (для академічних експертів, можливо, навіть є певна можливість впливати на майбутній контент за допомогою "колективної розвідки".)

Програма розширеного працевлаштування колегії Колегії заявила в четвер, що планує додати в програму класів нову програму з інформатики, першу нову перевірку за сім років. Цей крок відображає зростаючий інтерес до підготовки студентів до кар’єрних наук на національному поштовху, щоб зробити економіку США більш конкурентоспроможною в усьому світі.

Нова програма, AP Принципи комп'ютерних наук, зосередиться на "творчих аспектах" обчислень і частково буде фінансуватися за рахунок гранту в розмірі 5,2 мільйона доларів від Національного наукового фонду. Федеральне агентство має на меті підготовку додаткових 10 000 викладачів інформатики у стільки ж середніх шкіл по всій країні до 2016 року, як частина зусиль для вдосконалення освіти в галузі науки, техніки, техніки та математики або STEM. Рада коледжу буде скинутися близько $ 3,5 мільйона для підтримки і обладнання вчителів.

існуюча програма називається AP Computer Science A, а нова програма називається AP Computer Science Principles. існуючий клас існує вже багато років і також є корисною моделлю для вчителів, які розробляють навчальні програми.



3
Між іншим, Бейкер Френке і я подали пропозицію на сесію BOF (Birds of a-Feather) на SIGCSE '14, щоб обговорити, як зробити теоретично доступними теми для навчальної програми CS Principles.
rahulmehta95

@ rahulmehta95 - чи є посилання на пропозицію, яку я можу прочитати?
Шоул

2
Ось вам: cs.ucls.uchicago.edu/~rahulmehta/papers/BOF-Theory.pdf . Сподіваюся, це допомагає!
rahulmehta95

2

Ідея, яку я нещодавно блукала, - як навчити студентів ВНЗ поняття скорочення між проблемами. Я вважав, що це одна з найцікавіших, але найскладніших тем, коли я був знайомий зі складністю, оскільки досить важко (принаймні спочатку) обернути голову навколо того факту, що така проблема, як 3-SAT, є «настільки ж важкою» як Vertex-Cover.

Приклад, який я придумав, - це скорочення між Vertex Cover (VC) та Independent Set (IND-SET), викладене так:

"Ви директор музею і доручаєте йому найняти охорону, щоб охороняти передпокої. Якщо розміщуватись на перехресті передпокою, охоронець може стежити за ВСІМ прилеглими до нього коридорами. Яка мінімальна кількість охоронців потрібна патрулювати весь музей? "

"Трохи пізніше деякі діти вирішують пограти в ігри в хованки в музеї. Їх мета полягає в тому, щоб сховати таке, щоб їх не побачила жодна інша дитина. Однак охоронці не хочуть, щоб вони бігали в передпокої, тож їх відводять на «переховування» в перехрестях. Яка найбільша кількість дітей, які можуть сховатися в музеї, не бачачи один одного? ».

VСПIND-SET

Г=(V,Е)SV VS позначає різницю заданих).

SVSГ


СLЯQUЕpЯND-SЕТ

що стосується скорочень, то доказ існування універсальної машини для тюрінгу - це один із способів, і, ймовірно, зрозумілий передовим вищим школярам ... [зауважте, є багато відео з Lego TM, деякі навіть дослідниками cs ...] також, можливо Цейтин перетворення ?
vzn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.