Вот я подумываю о разработке курса вычислительного мышления (computational thinking, по факту это computer science), и там по идее должен быть какой-то более-менее попсовый рассказ про разные "программирования" — разные модели вычислений. Императивное, функциональное, объектное, вероятностное, дифференцируемое и т.д.. ACM признало, что deep learning это тоже про вычисления/алгоритмику — дало за это тьюринговскую премию Бенжио, Хинтону, ЛеКуну в этом году. Karpathy про Software 2.0 тоже ясно написал, что "градиентный спуск лучше пишет код, чем программисты". Тренд понятен. А ещё моделирование данных: непонятно, где там программирование, а где уже нет (работа с кучерявыми типами данных ведь без разницы, в базах данных, или в переменных — и там тонкая разница про "языки запросов" и "обычные языки"). Вот не понимаю, с кем такой курс обсуждать. Он, по идее, должен втыкаться в такую линейку курсов:
-- Онтологика классическая: термины, которые важны и неважны, отслеживаемость типов и отношений в схемах и в естественном языке, формальность и недискретность/вероятностность моделирования, проверка типов и работа с наследованием, холархия/мереология и 4D, классификации и специализации. Описания как модели с интерпретаторами-людьми и компьютерами.
-- Функциональная грамотность: от многабукофф к смыслу и обратно (это нужно специально тренировать!) – ____
Мастерство согласований: множествественность описаний -- дисциплины, стейкхолдеры. Коммуникативные стратегии: как стейкхолдерам договориться.
-- Научное мышление. Правдоподобность моделей, эксперимент, возможные миры, предсказания, вероятностная логика, причинность и контрфактуальность.
-- Принятие решений, прагматика. Методы принятия решений, упаковка решений в модель, согласование решений с другими стейкхолдерами.
-- Системное мышление (за вычетом того, что войдёт в онтологику, онтика системного мышления изложена в
https://ailev.livejournal.com/1470152.html, плюс системное творчество
https://ailev.livejournal.com/1425331.html)
-- Вычислительное мышление (обсуждается: от классической информатики по
http://ailev.livejournal.com/1008054.html и коннективизма/моделей AI через имитационное моделирование типа DSL Modia в Julia или даже System Dynamics к умению дробить задачи на части/планировать и строить адекватные модели на подходящих формальных и не очень формальных языках), см. обсуждение в "Об вычислительное, научное, инженерное мышление" (
https://ailev.livejournal.com/1439141.html): прямое обучению абстрагированию и композиции/декомпозиции моделей