Дізнайтеся про загальні техніки розвʼязування задач, які допоможуть у програмуванні.
Як зазначено в першій статті тут, розвʼязання задач - це метанавичка.
Ми помічаємо, що часто найскладніша частина розвʼязання задачі - не синтаксис чи структура мови програмування, а те, щоб зрозуміти, що саме кодувати і з чого почати.
Розробляти стратегії та систему, щоб розбивати задачі на кроки, які можна закодувати, - чудова навичка, яку варто розвивати.
Нижче зібрано статті, відео та книжки від спільноти, які допоможуть нам розвинути цю супернавичку.
- Free Code Camp пропонує добру оглядову статтю How to Think Like a Programmer - Lessons in Problem-Solving.
- Джеремі Говард, засновник fast.ai, зібрав гарний виклад Problem Solving Techniques Дж. Поліа.
- Написана 1945 року як порадник для складних математичних задач, книжка How To Solve It Дж. Поліа (повне видання) і досі залишається чудовою порадою щодо розвʼязання задач загалом.
- Куртіс Пайкс у Towards Data Science пропонує добрий практичний туторіал із розвʼязання задач.
- Згадана у статті Free Code Camp книжка Think Like a Programmer: An Introduction to Creative Problem Solving В. Антона Спраула - сучасніший погляд, зосереджений на програмуванні, на ті самі загальні методи, які Поліа окреслив для математики.
-
Фелієн Германс більше зосереджена на тому, як люди вчаться мистецтва кодування і як це співвідноситься з навчанням загалом.
Вона написала The Programmer's Brian, зі стратегіями, як краще читати код, ясно думати про код, писати кращий код і ставати кращим співрозробником коду.
-
Algorithmic Thinking (Деніел Зінгаро) від No Starch Press і How to think like a programmer (Пол Вікерс) також розглядають розвʼязання задач під час кодування.
-
Computational Thinking: A beginner's guide to problem-solving and programming (Карл Бічер) і Computational Thinking for the Modern Problem-Solver (Райлі та Гант) також пропонують стратегії для обдумування задач і розбиття їх на кроки для кодових рішень.
-
From Computing to Computational Thinking (Пол С. Ванг) трохи узагальненіша й академічніша, але пропонує стратегії та структури для розвʼязання задач, які стануть у пригоді не лише в кодуванні, і не вимагає попередніх знань із програмування.
Деякі з цих книжок можна також читати через бібліотеку Association of Computing Machinery (ACM).
Інформація про членство (платне) доступна на acm(dot)org.