(или как думают компьютеры, после того, как программисты объяснили им что и как надо сделать)
Это будет самый короткий выпуск, так как пишу под впечатлением от книги "Вычислительное мышление", которую начал читать, чтобы разобраться чем же оно отличается от технологического мышления.
Технологическое мышление - вы можете найти ряд публикаций здесь на канале, собственно представлю одну матрицу, в которой переплетены как рациональные, так и эмоциональные элементы:
По сути - технология - это набор действий, которые гарантированно приводят к получению намеченного результата.
Так вот, вопрос в том: В чем отличие алгоритмического мышления?
Попробую по свежим впечатлениям, картина пока не полная, и потому элементы в матрице могут измениться...
1. Алгоритм - это способ что-то сделать! При том, всегда есть определенность и ясность, результат или есть, или его нет.
2. Декомпозиция, т.е. разложение сложного на части, в определенную инструкцию - последовательность шагов, которая ведет к результату.
3. Абстрагирование = не думаем что внутри элемента, как он работает пока в этом не будет необходимости. Возможно даже что этот вопрос уже кто-то решил и ответ есть в библиотеке программ.
4. Сравнение с образцом. Это такой прием который позволяет программе думать за нас, пока нужный результат не будет достигнут.
5. Моделирование эксперимента на основе логического мышления, постановка модели вычислительного процесса (обобщение).
6. Эффективность по количеству строчек кода, операций, времени на обработку/исполнение и требуемых аппаратных ресурсов.
7. Надежность и легкость использования алгоритма в процессе вычислений. Алгоритм не должен заставлять человека думать.
8. Восприимчивость и читабельность кода. Это важный вопрос профессиональной этики программиста.
9. Удобство использования пользователем. А для этого надо понять, что на самом деле хочет человек и как он будет оценивать решение, чтобы вовлечь его в разработку / предложение идей.
Следуйте за продолжением ...