Чому ми повинні навчати (ся) програмуванню

Чому ми повинні навчати (ся) програмуванню (за публікацією “Why should we teach programming (Hint: It’s not to learn problem-solving)”  Mark Guzdial, @guzdial, Professor in CSE and Engineering Education Research at University of Michigan, Computing Ed Researcher, blogger, http://bit.ly/2qI17by):

  1. Щоб зрозуміти наш світ. Ми навчаємо студентів хімії, тому що живемо у світі із хімічними взаємодіями. Ми навчаємо біології, тому що живемо у світі, повному живих істот. Ми навчаємо фізики, оскільки живемо у фізичному світі. Ми повинні навчати комп’ютерним наукам тому, що ми живемо в цифровому світі.
  2. Щоб вчитися і розуміти процеси.  Комп’ютерна наука – це вивчення процесу. Багато дисциплін потребують знання людей про процеси – від керівників, які працюють на логістиці, до вчених, які намагаються зрозуміти молекулярні або біологічні процеси. Програмування автоматизує процес, який створює можливості для симулювання, моделювання та тестування теорій про процеси в масштабі.
  3. Щоб мати можливість ставити питання про вплив на наше життя. Комп’ютери та алгоритми обчислень що далі то більше керуватимуть важливими аспектами нашого життя. Якщо ми нічого не знаємо про обчислення, ми навіть не вміємо запитати про ці алгоритми. Це не повинно бути магією. Навіть якщо ви не будуєте ці алгоритми, просто знаючи про них, це дає вам владу.
  4. Щоб використовувати важливу нову форму грамотності. Комп’ютерні обчислення – це цілком нове середовище. Насправді це перше мета-середовище людини, що включає всі інші засоби масової інформації, а також включає до себе інтерактивність, щоб середовище могло відповісти читачеві / користувачеві / переглядачеві. Обчислювальна техніка дає нам новий спосіб висловлення ідей, спілкування з іншими та вивчення ідей. Кожен повинен мати доступ до цього нового середовища.
  5. Щоб мати новий спосіб вивчення науки і математики. Математика займає критичну роль у розумінні нашого світу, в основному в науці. Наша сприйняття математики в основному мало статичного вигляду сухих рівнянь. Але код це дещо інше і дає нам нові уявлення. Код дає нам потужний новий спосіб вивчення науки і математики.
  6. Як робоча навичка. Не кожен збирається стати розробником програмного забезпечення, і немає жодного сенсу готувати всіх для роботи, яку лише деякі у змозі виконати. Але є чимало свідчень того, що працівники (а не розробники програмного забезпечення), які програмують, мають вищий рівень заробітної плати, ніж ті, хто цього не робить. Навчання програмуванню дає студентам нові навички, що мають цінність в економіці. Вміння програмувати як робоча навичка – це проблема соціальної справедливості, якщо ми не надаємо цю можливість доступною кожному.
  7. Щоб використовувати комп’ютери краще. Сьогодні кожен користується комп’ютером. Чи кращі знання того, як працює комп’ютер, ведуть до ефективнішого його використання? Чи менш схильні ви помилятися? Чи спроможніші ви у виправленні помилок обчислення? Чи легше вам вирішити комп’ютерні проблеми (ті, що трапляються з програмним або апаратним забезпеченням, навіть без програмування)? Впевнений, що відповідь є “так” для тих, хто впевненіше користується комп’ютерами.
  8. Як середовище, в якому потрібно вчитися вирішувати проблеми. Нарешті, комп’ютерне програмування є ефективним середовищем, в якому ми можемо навчити вирішення проблем. Просто навчання в програмі не навчає навичок вирішення проблем, але ви можете використовувати програмування, якщо ви хочете навчити вирішення проблем.
НавчанняСтратегія