JavaRush /Java блог /Random UA /Що таке комп'ютерне мислення? "Запорука успіху" і "життєв...

Що таке комп'ютерне мислення? "Запорука успіху" і "життєво важлива навичка XXI століття."

Стаття з групи Random UA
У статтях на JavaRush ми не тільки говоримо про Java, його вивчення, особливості та подальше працевлаштування у сфері комп'ютерної розробки, але й "вкладаємося" у всебічний розвиток наших читачів. Для цього ми приділяємо увагу і базовим поняттям, розуміння яких не лише дозволить стати професійним програмістом, а й допоможе удосконалюватись надалі, незалежно від обраного напряму. І сьогодні у нас якраз така тема. Фундаментальна, як піраміда Хеопса. А саме: Комп'ютерне мислення (Computational Thinking). "Запорука успіху" і "життєво важлива навичка XXI століття."  Що таке комп'ютерне мислення?  - 1

Що таке комп'ютерне мислення?

Комп'ютерне мислення (“обчислювальне мислення” здається найбільш відповідним терміном російською, але у Рунеті найпоширеніший саме перший варіант) — це концепція систематичного підходи до проблеми подальшого створення рішення, що може реалізувати комп'ютер. Простіше кажучи, перш ніж вивчати комп'ютер, як вирішувати ту чи іншу проблему, у самій проблемі та способах її вирішення має розібратися людина, і комп'ютерне мислення — техніка саме для цього. Цю концепцію у 1980 році запропонував математик та спеціаліст з комп'ютерних наук Сеймур Паперт (Seymour Papert) як теоретичну базу для більш ефективного вирішення проблем. В освітній сфері комп'ютерне мислення як концепція почало набирати популярності після замітки професора комп'ютерних наук Джаннет Уінг (Jeannette Wing): "Запорука успіху" і "життєво важлива навичка XXI століття."  Що таке комп'ютерне мислення?  - 2

Чотири стовпи Комп'ютерного мислення

Комп'ютерне мислення як техніка виходить з чотирьох ключових методах.
  • Декомпозиція.

    Поділ комплексної проблеми на низку дрібніших і вирішуваних проблем.

  • Анотація.

    Фокусування виключно на важливій для вирішення інформації та ігнорування непотрібних деталей.

  • Розпізнавання патернів.

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

  • Алгоритми.

    Розробка покрокового розв'язання проблеми чи правил щодо її вирішення.

Всі ці компоненти – рівноцінно важливі складові комп'ютерного мислення. Це означає, що без правильного застосування кожного з них не вдасться ефективно використовувати цю техніку. А правильне застосування комп'ютерного мислення це основа основ програмування. "Запорука успіху" і "життєво важлива навичка XXI століття."  Що таке комп'ютерне мислення?  - 3

Застосування комп'ютерного мислення у житті

За великим рахунком, комп'ютерне мислення як метод виходить далеко за рамки програмування, а його складові постійно використовуються більшістю людей при вирішенні завдань різного рівня складності. Класичний базовий приклад: вам потрібно потрапити з точки А до точки Б у незнайомому місті. Щоб вирішити, який шлях вибрати, ви:
  • Поділяєте це завдання на ряд дрібніших (декомпозиція): вивчити карту та можливі варіанти маршруту, вибрати спосіб пересування в точку Б і т.д.
  • Потім ви оцінюєте привабливість різних маршрутів залежно від їхньої довжини, наявності на шляху цікавих місць або зручності пересування (абстракція).
  • Потім обмірковуєте можливі варіанти, виходячи з минулого досвіду пересування в інших містах, найбільш схожих за розміром та міським ландшафтом (розпізнавання патернів).
  • На основі цього вибираєте найбільш підходящий маршрут і спосіб пересування (алгоритми).
Це базовий приклад, але більш глибоке розуміння комп'ютерного мислення буде корисним у багатьох сферах, причому не тільки технічних. Багато комплексні проблеми з великою кількістю факторів і різноманітних даних у повсякденному житті можна вирішити із застосуванням комп'ютерного мислення. Зараз комп'ютерне мислення як концепція набирає популярності як базова освітня дисципліна і в цілому стає важливою технікою, яку можна інтегрувати в багато робочих процесів для покращення результатів. “Прагнувши знайти найбільш ефективне вирішення проблеми, ми постійно оцінюємо найочевидніші варіанти вирішення, знаходячи в них переваги та недоліки. Комп'ютерне мислення дозволяє форматувати складну проблему в ту, яку ми можемо вирішити. Суть комп'ютерного мислення також полягає у рекурсивному мисленні та паралельній обробці інформації. У програмуванні це означає, що ми інтерпретуємо код у вигляді даних та дані у вигляді коду. Це і перевірка типів як узагальнення розмірного аналізу, і визнання як переваг, так і недоліків аліасингу або присвоєння будь-кому чи чомусь більше одного імені. Це також і оцінка якості написаної програми не лише за критеріями правильності її роботи та ефективності, а й з погляду естетики та дизайну системи з урахуванням її простоти та елегантності,”пояснює Джаннетт Уінг у своїй замітці про важливість вивчення комп'ютерного мислення, опубліковану у 2006 році. "Запорука успіху" і "життєво важлива навичка XXI століття."  Що таке комп'ютерне мислення?  - 4

Вивчення та розвиток навичок Комп'ютерного мислення

Що стосується вивчення комп'ютерного мислення як техніки та дисципліни, на сьогоднішній день бажаючим є досить багато матеріалів на цю тему. Так, Міжнародне товариство технологій в освіті (ISTE) пропонує всім охочим розроблений за підтримки компанії Google безкоштовний курс Computational thinking , призначений у тому числі й для технічних фахівців. Також безкоштовний курс з комп'ютерного мислення можна знайти на ресурсі Coursera, наприклад. Програми з комп'ютерного мислення як для студентів різних рівнів, так і для викладачів пропонує і Академія робототехніки Університету Карнегі-Меллона . Ну і нарешті, у комп'ютерному мисленні одну з провідних ролей грає логіка. Для її тренування буде корисно регулярновирішувати завдання та головоломки , наприклад. Нижче нескладний базовий підхід до освоєння, розвитку та постійного використання чотирьох основних технік комп'ютерного мислення.
  • Практика декомпозиції.

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

  • Практика абстракції.

    Абстракція - це просто фокусування на тій інформації, найбільш релевантної та важливої ​​для вирішення конкретного завдання. Вона працює у поєднанні з декомпозицією, коли ви розбираєте завдання на ряд підзавдань і концентруєтеся на них по черзі, вишукуючи тільки ту інформацію, яка потрібна для вирішення поточного завдання.

  • Практика навички розпізнавання патернів.

    У міру практичного застосування комп'ютерного мислення, що починається з декомпозиції, розвиватимуться й навички розпізнавання патернів. Підхід тут той самий, що й до декомпозиції — просто практикуйте пошук подібностей з іншими вже вирішеними проблемами. Розпізнавання патернів дозволяє вирішувати проблеми швидше, використовуючи вже відпрацьовані та звичні для вашого мозку шаблони мислення.

  • Практика навички формування алгоритмів

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

"Запорука успіху" і "життєво важлива навичка XXI століття."  Що таке комп'ютерне мислення?  - 5

Думки

Ну і завершимо цей матеріал кількома цитатами експертів, які здалися нам найцікавішими та лаконічними. “Комп'ютерне мислення є життєво важливою навичкою для працівників 21 століття. Незважаючи на те, що зараз навчання комп'ютерних наук та комп'ютерного мислення стає все більш поширеним, їм все ще не приділяється достатньо уваги як базовим дисциплінам, які можуть принести студентам, зокрема, велику користь, допомагаючи їм адаптуватися та звикнути до “традиційного програмування”. — відзначають Джеймс Локвуд (James Lockwood) та Ейдан Муні (Aidan Mooney), професори Університету Мейнута в Ірландії та автори доповіді Computational Thinking in Education: Where does it fit? “Комп'ютерне мислення, значною мірою, — це запорука вашого успіху, про яку б сферу ми не говорабо. Ця техніка настільки сильна у вирішенні реальних, а не тільки комп'ютерних завдань, що її потрібно зробити одним з основних освітніх предметів. Принаймні, якщо ви, як і я, згодні з тим, що основна мета освіти має полягати в збагаченні нашого життя через пошук найефективніших рішень будь-яких проблем,” — вважає Конрад Вольфрам (Conrad Wolfram), відомий британський техно- експерт і підприємець. Ну і завершимо, мабуть, цитатоювже згадувана вище Джаннетт Уїнг, яку можна вважати одним з основних сучасних популяризаторів комп'ютерного мислення як концепції: “Освітні переваги комп'ютерного мислення – починаючи з використання абстракцій, – підвищують та зміцнюють інтелектуальні навички і, отже, можуть бути перенесені до будь-якої галузі. Вчені у сфері комп'ютерних наук добре знають цінність абстракцій, мислення на різних рівнях абстракції, абстрагування для управління складністю та збільшення масштабу і т.д. під комп'ютерним мисленням, і в чому полягають його переваги!
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ