Умение #2 – алгоритмично мислене (30%)

Алгоритмичното (логическо, инженерно, математическо, абстрактно) мислене формира около 30% от минималните умения на програмиста за старт в професията. Алгоритмичното мислене е умението да разбивате една задача на логическа последователност от стъпки (алгоритъм) и да намирате решение за всяка отделна стъпка, след което да сглобявате стъпките в работещо решение на първоначалната задача. Това е най-важното умение на програмиста.

Как да си изградим алгоритмично мислене?

  • Алгоритмичното мислене се развива се чрез решаване на много (1000+) задачи по програмиране, възможно най-разнообразни. Това е рецептата: решаване на хиляди практически задачи, измисляне на алгоритъм за тях и имплементиране на алгоритъма, заедно с дебъгване на грешките по пътя.
  • Помагат физика, математика и/или подобни науки, но не са задължителни! Хората с инженерни и технически наклонности обикновено по-лесно се научават да мислят логически, защото имат вече изградени умения за решаване на проблеми, макар и не алгоритмични.
  • Способността да решавате задачи по програмиране (за която е нужно алгоритмично мислене) е изключително важна за програмиста. Много фирми изпитват единствено това умение при интервюта за работа.

Настоящата книга развива начално ниво на алгоритмично мислене, но съвсем не е достатъчна, за да ви направи добър програмист. За да станете кадърни в професията, ще трябва да добавите умения за логическо мислене и решаване на задачи отвъд обхвата на тази книга, например работа със структури от данни (масиви, списъци, матрици, хеш-таблици, дървовидни структури) и базови алгоритми (търсене, сортиране, обхождане на дървовидни структури, рекурсия и други).

Умения за алгоритмично мислене се развиват сериозно в началните курсове за софтуерни инженери в СофтУни (вж. учебния план), както и в специализираните курсове по структури от данни и алгоритми.

Както може би се досещате, езикът за програмиране няма значение за развиването на алгоритмичното мислене. Да мислиш логически е универсално, дори не е свързано само с програмирането. Именно заради силно развитото логическото мислене се счита, че програмистите са доста умни и че прост човек не може да стане програмист.

results matching ""

    No results matching ""