Programming-Basics-Book-CSharp-BG

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

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

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

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

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

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