Що потрібно зробити, щоб мислити, як програміст

  1. Чому це важливо?
  2. Знайдіть закономірність
  3. 1. Зрозумійте її
  4. 2. Плануйте
  5. 3. Розбивайте проблему на маленькі підпроблеми
  6. 4. Застрягли?
  7. Практикуйтеся
  8. Названо 5 найбільш популярних мов програмування за версією HackerRank
  9. Як стати програмістом, якщо дуже хочеться, але досвіду немає

Що значить мислити, як програміст? По суті, все полягає в більш ефективний спосіб вирішення проблем. Блогер і розробник мобільних додатків Річард Рис дав кілька порад, як розвинути обчислювальний образ мислення.

Чому це важливо?

Рішення проблем - це метанавик. Як ми з ними справляємося? Досить випадково. Якщо у вас немає системи, ви, швидше за все, «вирішуєте» проблеми таким чином:

  1. Пробуєте рішення.

  2. Якщо не виходить, пробуєте інше.

  3. Повторюєте крок другий, поки не пощастить.

Так робити не варто. Це величезна втрата часу. Вам потрібно а) знайти закономірність і б) практикуватися.

«Майже всі роботодавці в першу чергу дивляться на те, як співробітники вирішують проблеми. Саме ця навичка для них важливіше, ніж знання мов програмування, налагодження і проектування системи. Обчислювальний мислення і можливість справлятися з великими і складними проблемами цінуються так само, як і базові технічні навички, необхідні для роботи », - HackerRank (Звіт про навички розробників 2018).

Знайдіть закономірність

«Новачки-програмісти часто фокусуються на вивченні синтаксису, а не на вирішенні проблем. І це найбільша помилка », - В. Антон Спрол .

Що ж потрібно робити, коли ви стикаєтеся з новою проблемою?

1. Зрозумійте її

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

Фото: Unsplash

Так відбувається досить часто: ви застрягли на завданню, починаєте пояснювати її, і раптово зауважуєте логічні недоліки? Більшості програмістів знайоме це відчуття. Запишіть на папір вашу проблему або розкажіть про неї кому-то.

2. Плануйте

Не приступайте відразу до вирішення проблеми без плану. Вам нічого не допоможе, якщо ви не розпишете точні кроки. Дайте мозку час проаналізувати проблему і обробити інформацію. Щоб скласти гарний план, дайте відповідь на це питання:

«Припустимо, на вході є X. Які кроки потрібні для того, щоб на виході отримати Y?»

У програмістів є відмінний інструмент для цього ... Коментарі!

3. Розбивайте проблему на маленькі підпроблеми

Це найважливіший крок. Не намагайтеся відразу вирішити одну велику задачу. Замість цього розбийте її на невеликі завдання і поступово вирішуйте їх. Почніть з найпростішої - тобто з тієї, відповідь на яку ви вже знаєте. Як тільки ви впораєтеся з усіма, з'єднайте точки. Так ви зможете вирішити первинне завдання.

«Я завжди раджу програмістам-початківцям спрощувати проблему. Давайте уявимо, що вам потрібно написати програму, яка читає десять чисел і визначає, яке буде з них буде третім за величиною. Новачкам це завдання може здатися дуже складним, незважаючи на те, що для його вирішення необхідно знання базового синтаксису. Якщо ви застрягли, спробуйте спростити проблему. Замість третього за величиною числа спробуйте знайти просто найбільше з усіх. Все ще складно? Знайдіть найбільше число з трьох заданих. Або з двох. Спрощуйте проблему до тих пір, поки не зрозумієте, як її вирішити. Потім поступово ускладнюйте завдання і переписуйте рішення », - В. Антон Спрол.

4. Застрягли?

Ви зараз, напевно, думаєте: «Ну так, це, звичайно, здорово, але що якщо я застряг і не можу вирішити навіть маленьку проблему?»

Фото: Unsplash

Не хвилюйтесь. Це відбувається з усіма. Різниця полягає в тому, що програмістів не зляться, коли стикаються з цим. Їм навпаки цікаво знайти рішення. Ось три способи, як з це зробити:

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

«Іноді ми губимося в деталях і втрачаємо загальні принципи, які допомогли б вирішити задачу швидше. Класичний приклад - це сума послідовних чисел - 1 + 2 + 3 + ... + n. Карл Фрідріх Гаус представив це у вигляді виразу n (n + 1) / 2, і йому не довелося виконувати непотрібні обчислення ».

Є ще один варіант - повністю переписати код. Видалити всі і почати заново.

  • Досліджуйте. Неважливо, яке завдання ви намагаєтеся вирішити зараз. Хтось уже зробив це до вас. Вам потрібно просто пошукати. Робіть це, навіть якщо вирішили проблему.

Практикуйтеся

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

«Ілон Маск, Рід Хоффман, Марк Цукерберг та інші стверджують, що ігри заклали основу для їхнього успіху», - Мері Мікерена .

Невже це означає, що ви повинні просто грати у відеоігри? Не зовсім. Звичайно, потрібно ще вчитися. Знайдіть щось, де ви могли б практикувати свої вміння.

Матеріали по темі:

Названо 5 найбільш популярних мов програмування за версією HackerRank

12 ознак поганого програміста - виявляємо непрофесіонала

Як стати програмістом, якщо дуже хочеться, але досвіду немає

Як я кинув роботу графічним дизайнером і став frontend-розробником за п'ять місяців

Знайшли друкарську помилку? Виділіть текст і натисніть Ctrl + Enter

Чому це важливо?
4. Застрягли?
Чому це важливо?
Як ми з ними справляємося?
Що ж потрібно робити, коли ви стикаєтеся з новою проблемою?
Як дізнатися, зрозуміли ви проблему чи ні?
Які кроки потрібні для того, щоб на виході отримати Y?
Все ще складно?
4. Застрягли?
Ви зараз, напевно, думаєте: «Ну так, це, звичайно, здорово, але що якщо я застряг і не можу вирішити навіть маленьку проблему?

Мерлин (Merlin)

Сериал Мерлин (Merlin) — это экранизация захватывающей книги о Короле Артуре, по легенде живший во времена магии и волшебства. Телеканал BBC постарался максимально передать атмосферу тех времён — идеально подобранные актеры, десятки сценаристов, работающих над адаптацией истории к кинематографу, потрясающие декорации и дорогостоящие костюмы и платья — всё это увлекает зрителя и позволяет прочувствовать историю былых времён..

Это лишь начало приключений юного Мерлина и принца Артура, чьи судьбы с этого момента будут крепко связаны. Впоследствии один из них станет самым могущественным и известным чародеем, другой — доблестным рыцарем и великим королем Альбиона…

Это удивительная история юного мага, который в впоследствии становится одним из самых могущественных и известных волшебников из тех, кто когда либо жил на земле…